Functions†[edit]
Permission†[edit]
function require_login†[edit]
- ログインしているかどうかをチェックする.
- lib/moodlelib.php
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).
管理ブロック(settings)†[edit]
feedback_extend_settings_navigation†[edit]
- lib.php に記述.
- 管理ブロック(settings) にメニューを追加する.(see feedback モジュール)
- モジュール名_supports() 関数で,メニューを制御可能
function add_to_log†[edit]
function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user=0)
function get_coursemodule_from_id†[edit]
- 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
File Storage Class†[edit]
class file_storage†[edit]
- 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);
get_file_storage()†[edit]
$fs->get_area_files()†[edit]
- 格納ディレクトリの情報オブジェクトの配列を得る.
- ディレクトリが 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);
class moodle_url†[edit]
$base_url = new moodle_url('/mod/apply/'.$action_file);
$base_url->params(array('id'=>$id, 'courseid'=>$courseid));
class flexible_table†[edit]
$OUTPUT->single_button†[edit]
/**
* 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);
$OUTPUT->action_link($url, $icon_url, new popup_action('click', $url));†[edit]
- lib/dml/moodle_database.php
$DB->insert_record†[edit]
$DB->update_record†[edit]
$DB->delete_records†[edit]
$DB->get_record†[edit]
$DB->get_records†[edit]
$DB->get_records_select†[edit]
- array(object) get_records_select($table, $select, array $params=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0)
- $select の ? に 配列 $params の要素が対応(並び順)
- $select 中の :変数名 に $params の各要素が対応
- name が結果の配列のキーになる(重複があるとワーニング)
$templates = $DB->get_records_select('apply_template', 'course=? OR ispublic=1', array($course->id), 'name');
$DB->get_records_sql†[edit]
- array(object) get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0)
- $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 ';
$sql = 'SELECT MAX(ai.position) FROM {apply_submit} as, {apply_value} av, {apply_item} ai '.$where;
$params = array();
$params['apply_id'] = $apply_id;
$lastpos = $DB->get_field_sql($sql, $params);
$DB->execute†[edit]
- array(object) execute($sql, array $params=null)
- $sql の ? に 配列 $params の要素が対応(並び順)
- $sql 中の :変数名 に $params の各要素が対応
- version.php
- mod_form.php
- form の定義, definition():設定画面, BDと名前を合わせる?
- lib.php
- index.php
- view.php オプション
- setting.php オプション
- Network機能を使用するときに使用する識別ID.Local の場合は 1
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";
- 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');