4: 2013-03-20 (水) 10:20:04 iseki |
現: 2021-07-29 (木) 14:41:26 iseki |
- | * 2.4 [#oca60059] | + | ** Functions [#k7ec9430] |
| + | *** Permission [#s588d5f8] |
| + | **** function require_login [#h9bd199e] |
| + | - ログインしているかどうかをチェックする. |
| + | - lib/moodlelib.php |
| | | |
- | ** DB [#z14aa49f] | + | require_login($courseorid=NULL, $autologinguest=true, $cm=NULL, $setwantsurltome=true, $preventredirect=false) |
| + | |
| + | - この関数を呼ばない場合,contextlevel は CONTEXT_SYSTEM (10) になる. |
| + | - $cm が NULL の場合, contextlevel は CONTEXT_COURSE (50) になる. |
| + | - $cm が NULL でない場合,contextlevel は CONTEXT_MODULE (70) になる. |
| + | -- contextlevel が CONTEXT_MODULE の場合,管理ブロック(settings) にモジュールの管理メニューが dock される (lib/navigationlib.php). |
| + | #br |
| + | |
| + | *** 管理ブロック(settings) [#m88701a1] |
| + | **** feedback_extend_settings_navigation [#w74f7953] |
| + | - lib.php に記述. |
| + | - 管理ブロック(settings) にメニューを追加する.(see feedback モジュール) |
| + | - モジュール名_supports() 関数で,メニューを制御可能 |
| + | #br |
| + | |
| + | *** Log [#f845c3e7] |
| + | |
| + | **** function add_to_log [#oa0bd9a5] |
| + | - lib/moodlelib.php |
| + | |
| + | function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user=0) |
| + | |
| + | #br |
| + | |
| + | *** Course [#p086fc72] |
| + | **** function get_coursemodule_from_id [#ta601390] |
| + | - get_coursemodule_from_id($dbname, $id) |
| + | -- $dbname : モジュール名 |
| + | -- $id : モジュールのインスタンスID |
| + | |
| + | $cm = get_coursemodule_from_id('altwiki', 60); |
| + | print_r($cm); |
| + | |
| + | [id] => 60 モジュールオブジェクトのインスタンスID (Moodle全体で一意的) |
| + | [course] => 2 コースID |
| + | [module] => 56 モジュールID |
| + | [instance] => 2 そのモジュール内でのインスタンスID (モジュール内で一意的.データベースのID) |
| + | [section] => 2 |
| + | [idnumber] => |
| + | [added] => 1371440189 |
| + | [score] => 0 |
| + | [indent] => 0 |
| + | [visible] => 1 |
| + | [visibleold] => 1 |
| + | [groupmode] => 0 |
| + | [groupingid] => 0 |
| + | [groupmembersonly] => 0 |
| + | [completion] => 0 |
| + | [completiongradeitemnumber] => |
| + | [completionview] => 0 |
| + | [completionexpected] => 0 |
| + | [availablefrom] => 0 |
| + | [availableuntil] => 0 |
| + | [showavailability] => 0 |
| + | [showdescription] => 0 |
| + | [name] => ALT2 |
| + | [modname] => altwiki |
| + | |
| + | #br |
| + | |
| + | ** Classes [#l3c965cb] |
| + | |
| + | *** File Storage Class [#d0e8dc19] |
| + | |
| + | **** class file_storage [#yd2cad53] |
| + | - lib/filestorage/file_storage.php |
| + | |
| + | - array get_area_files($contextid, $component, $filearea, $itemid=false, $sort="itemid, filepath, filename", $includedirs=true); |
| + | - bool delete_area_files($contextid, $component = false, $filearea = false, $itemid = false); |
| + | #br |
| + | |
| + | **** get_file_storage() [#jea0bc0f] |
| + | - lib/moodlelib.php |
| + | |
| + | - file_storage クラスのインスタンスを生成 |
| + | $fs = get_file_storage(); |
| + | **** $fs->get_area_files() [#k38d2a71] |
| + | - 格納ディレクトリの情報オブジェクトの配列を得る. |
| + | -- ディレクトリが A/B/C/D/ の場合.通常 A はコンテキストID. |
| + | $files = $fs->get_area_files(A, B, C, D); |
| + | -- 使用例 |
| + | $files = $fs->get_area_files($context->id, 'mod_altwiki', 'attachments', $resourceid); |
| + | |
| + | - 格納ファイルの名前を得る.ただし,カレントディレクトリ '.' を含む. |
| + | foreach ($files as $file) { |
| + | echo $file->get_name(); |
| + | } |
| + | #br |
| + | |
| + | *** URL [#s7dee984] |
| + | **** class moodle_url [#w114432f] |
| + | - lib/weblib.php |
| + | |
| + | $base_url = new moodle_url('/mod/apply/'.$action_file); |
| + | $base_url->params(array('id'=>$id, 'courseid'=>$courseid)); |
| + | #br |
| + | |
| + | *** Table [#nde5260c] |
| + | **** class flexible_table [#v0568220] |
| + | - lib/tablelib.php |
| + | #br |
| + | |
| + | ** 大域変数 [#re854caf] |
| + | |
| + | *** OUTPUT [#zcacb98a] |
| + | - http://docs.moodle.org/dev/Output_renderers |
| + | - lib/outputrenderers.php |
| + | |
| + | #br |
| + | |
| + | **** $OUTPUT->single_button [#c4cb52dd] |
| + | /** |
| + | * Returns a form with a single button. |
| + | * |
| + | * @param string|moodle_url $url |
| + | * @param string $label button text |
| + | * @param string $method get or post submit method |
| + | * @param array $options associative array {disabled, title, etc.} |
| + | * @return string HTML fragment |
| + | */ |
| + | public function single_button($url, $label, $method='post', array $options=null); |
| + | #br |
| + | **** $OUTPUT->action_link($url, $icon_url, new popup_action('click', $url)); [#v320cb14] |
| + | #br |
| + | |
| + | *** DB [#z14aa49f] |
| - lib/dml/moodle_database.php | | - lib/dml/moodle_database.php |
| #br | | #br |
| | | |
- | *** 大域変数 $DB [#df2c344a] | |
| **** $DB->insert_record [#ua6949a2] | | **** $DB->insert_record [#ua6949a2] |
| - record_id insert_record($table, $dataobject, $returnid=true, $bulk=false); | | - record_id insert_record($table, $dataobject, $returnid=true, $bulk=false); |
| - array(object) get_records_select($table, $select, array $params=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0) | | - array(object) get_records_select($table, $select, array $params=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0) |
| - $select の ''?'' に 配列 $params の要素が対応(並び順) | | - $select の ''?'' に 配列 $params の要素が対応(並び順) |
| + | - $select 中の '':変数名'' に $params の各要素が対応 |
| + | - name が結果の配列のキーになる(重複があるとワーニング) |
| $templates = $DB->get_records_select('apply_template', 'course=? OR ispublic=1', array($course->id), 'name'); | | $templates = $DB->get_records_select('apply_template', 'course=? OR ispublic=1', array($course->id), 'name'); |
| | | |
| **** $DB->get_records_sql [#kb220662] | | **** $DB->get_records_sql [#kb220662] |
| - array(object) get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) | | - array(object) get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) |
| + | - $sql の ''?'' に 配列 $params の要素が対応(並び順) |
| - $sql 中の '':変数名'' に $params の各要素が対応 | | - $sql 中の '':変数名'' に $params の各要素が対応 |
| $where = 'WHERE as.id=av.submit_id AND av.version=0 AND as.apply_id=:apply_id AND ai.id=av.item_id '; | | $where = 'WHERE as.id=av.submit_id AND av.version=0 AND as.apply_id=:apply_id AND ai.id=av.item_id '; |
| $params['apply_id'] = $apply_id; | | $params['apply_id'] = $apply_id; |
| $lastpos = $DB->get_field_sql($sql, $params); | | $lastpos = $DB->get_field_sql($sql, $params); |
| + | #br |
| + | **** $DB->execute [#lb197e37] |
| + | - array(object) execute($sql, array $params=null) |
| + | - $sql の ''?'' に 配列 $params の要素が対応(並び順) |
| + | - $sql 中の '':変数名'' に $params の各要素が対応 |
| + | #br |
| | | |
| ** Block [#p1b83bad] | | ** Block [#p1b83bad] |
| **** SITEID [#bb71472e] | | **** SITEID [#bb71472e] |
| - Network機能を使用するときに使用する識別ID.Local の場合は 1 | | - Network機能を使用するときに使用する識別ID.Local の場合は 1 |
| + | #br |
| + | *** Memo [#dd0cfac2] |
| + | mod_form.php: a form to setup/update a module instance |
| + | version.php: defines some meta-info and provides upgrading code |
| + | pix/icon.gif: a 16x16 icon for the module |
| + | db/install.xml: an SQL dump of all the required db tables and data |
| + | index.php: a page to list all instances in a course |
| + | view.php: a page to view a particular instance |
| + | lib.php: any/all functions defined by the module should be in here. |
| + | constants should be defined using MODULENAME_xxxxxx |
| + | functions should be defined using modulename_xxxxxx |
| + | There are a number of standard functions: |
| + | modulename_add_instance() |
| + | modulename_update_instance() |
| + | modulename_delete_instance() |
| + | modulename_user_complete() |
| + | modulename_user_outline() |
| + | modulename_cron() |
| + | modulename_print_recent_activity() |
| + | |
| + | - $loginfo = "$attsid,$prvmethod,$method,$prvstate,$state"; |
| + | #br |
| + | ** Form [#w899e9f2] |
| + | - MoodleQuickForm::registerElementType('advcheckbox', "$CFG->libdir/form/advcheckbox.php", 'MoodleQuickForm_advcheckbox'); |
| + | - MoodleQuickForm::registerElementType('button', "$CFG->libdir/form/button.php", 'MoodleQuickForm_button'); |
| + | - MoodleQuickForm::registerElementType('cancel', "$CFG->libdir/form/cancel.php", 'MoodleQuickForm_cancel'); |
| + | - MoodleQuickForm::registerElementType('searchableselector', "$CFG->libdir/form/searchableselector.php", 'MoodleQuickForm_searchableselector'); |
| + | - MoodleQuickForm::registerElementType('checkbox', "$CFG->libdir/form/checkbox.php", 'MoodleQuickForm_checkbox'); |
| + | - MoodleQuickForm::registerElementType('date_selector', "$CFG->libdir/form/dateselector.php", 'MoodleQuickForm_date_selector'); |
| + | - MoodleQuickForm::registerElementType('date_time_selector', "$CFG->libdir/form/datetimeselector.php", 'MoodleQuickForm_date_time_selector'); |
| + | - MoodleQuickForm::registerElementType('duration', "$CFG->libdir/form/duration.php", 'MoodleQuickForm_duration'); |
| + | - MoodleQuickForm::registerElementType('editor', "$CFG->libdir/form/editor.php", 'MoodleQuickForm_editor'); |
| + | - MoodleQuickForm::registerElementType('filemanager', "$CFG->libdir/form/filemanager.php", 'MoodleQuickForm_filemanager'); |
| + | - MoodleQuickForm::registerElementType('filepicker', "$CFG->libdir/form/filepicker.php", 'MoodleQuickForm_filepicker'); |
| + | - MoodleQuickForm::registerElementType('grading', "$CFG->libdir/form/grading.php", 'MoodleQuickForm_grading'); |
| + | - MoodleQuickForm::registerElementType('group', "$CFG->libdir/form/group.php", 'MoodleQuickForm_group'); |
| + | - MoodleQuickForm::registerElementType('header', "$CFG->libdir/form/header.php", 'MoodleQuickForm_header'); |
| + | - MoodleQuickForm::registerElementType('hidden', "$CFG->libdir/form/hidden.php", 'MoodleQuickForm_hidden'); |
| + | - MoodleQuickForm::registerElementType('htmleditor', "$CFG->libdir/form/htmleditor.php", 'MoodleQuickForm_htmleditor'); |
| + | - MoodleQuickForm::registerElementType('modgrade', "$CFG->libdir/form/modgrade.php", 'MoodleQuickForm_modgrade'); |
| + | - MoodleQuickForm::registerElementType('modvisible', "$CFG->libdir/form/modvisible.php", 'MoodleQuickForm_modvisible'); |
| + | - MoodleQuickForm::registerElementType('password', "$CFG->libdir/form/password.php", 'MoodleQuickForm_password'); |
| + | - MoodleQuickForm::registerElementType('passwordunmask', "$CFG->libdir/form/passwordunmask.php", 'MoodleQuickForm_passwordunmask'); |
| + | - MoodleQuickForm::registerElementType('questioncategory', "$CFG->libdir/form/questioncategory.php", 'MoodleQuickForm_questioncategory'); |
| + | - MoodleQuickForm::registerElementType('radio', "$CFG->libdir/form/radio.php", 'MoodleQuickForm_radio'); |
| + | - MoodleQuickForm::registerElementType('recaptcha', "$CFG->libdir/form/recaptcha.php", 'MoodleQuickForm_recaptcha'); |
| + | - MoodleQuickForm::registerElementType('select', "$CFG->libdir/form/select.php", 'MoodleQuickForm_select'); |
| + | - MoodleQuickForm::registerElementType('selectgroups', "$CFG->libdir/form/selectgroups.php", 'MoodleQuickForm_selectgroups'); |
| + | - MoodleQuickForm::registerElementType('selectwithlink', "$CFG->libdir/form/selectwithlink.php", 'MoodleQuickForm_selectwithlink'); |
| + | - MoodleQuickForm::registerElementType('selectyesno', "$CFG->libdir/form/selectyesno.php", 'MoodleQuickForm_selectyesno'); |
| + | - MoodleQuickForm::registerElementType('static', "$CFG->libdir/form/static.php", 'MoodleQuickForm_static'); |
| + | - MoodleQuickForm::registerElementType('submit', "$CFG->libdir/form/submit.php", 'MoodleQuickForm_submit'); |
| + | - MoodleQuickForm::registerElementType('submitlink', "$CFG->libdir/form/submitlink.php", 'MoodleQuickForm_submitlink'); |
| + | - MoodleQuickForm::registerElementType('tags', "$CFG->libdir/form/tags.php", 'MoodleQuickForm_tags'); |
| + | - MoodleQuickForm::registerElementType('text', "$CFG->libdir/form/text.php", 'MoodleQuickForm_text'); |
| + | - MoodleQuickForm::registerElementType('textarea', "$CFG->libdir/form/textarea.php", 'MoodleQuickForm_textarea'); |
| + | - MoodleQuickForm::registerElementType('url', "$CFG->libdir/form/url.php", 'MoodleQuickForm_url'); |
| + | - MoodleQuickForm::registerElementType('warning', "$CFG->libdir/form/warning.php", 'MoodleQuickForm_warning'); |
| #br | | #br |