flagflag  
Page Top

Permission anchor.png

Page Top
function require_login anchor.png
  • ログインしているかどうかをチェックする.
  • 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).
       
Page Top

管理ブロック(settings) anchor.png

Page Top
feedback_extend_settings_navigation anchor.png
  • lib.php に記述.
  • 管理ブロック(settings) にメニューを追加する.(see feedback モジュール)
  • モジュール名_supports() 関数で,メニューを制御可能
     
Page Top

Log anchor.png

Page Top
function add_to_log anchor.png
  • lib/moodlelib.php
function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user=0) 
 
Page Top

Course anchor.png

Page Top
function get_coursemodule_from_id anchor.png
  • 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
 
Page Top

Classes anchor.png

Page Top

File Storage Class anchor.png

Page Top
class file_storage anchor.png
  • 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);
     
Page Top
get_file_storage() anchor.png
  • lib/moodlelib.php
  • file_storage クラスのインスタンスを生成
    $fs = get_file_storage();
Page Top
$fs->get_area_files() anchor.png
  • 格納ディレクトリの情報オブジェクトの配列を得る.
    • ディレクトリが 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();
    }
     
Page Top

URL anchor.png

Page Top
class moodle_url anchor.png
  • lib/weblib.php
$base_url = new moodle_url('/mod/apply/'.$action_file);
$base_url->params(array('id'=>$id, 'courseid'=>$courseid));
 
Page Top

Table anchor.png

Page Top
class flexible_table anchor.png
  • lib/tablelib.php
     
Page Top

大域変数 anchor.png

Page Top

OUTPUT anchor.png

 
Page Top
$OUTPUT->single_button anchor.png
/**
 * 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);
 
Page Top
$OUTPUT->action_link($url, $icon_url, new popup_action('click', $url)); anchor.png
 
Page Top

DB anchor.png

  • lib/dml/moodle_database.php
     
Page Top
$DB->insert_record anchor.png
  • record_id insert_record($table, $dataobject, $returnid=true, $bulk=false);
    $apply_id = $DB->insert_record('apply', $apply);
Page Top
$DB->update_record anchor.png
  • bool update_record($table, $dataobject, $bulk=false);
    update_record('apply', $apply);
Page Top
$DB->delete_records anchor.png
  • bool delete_records($table, array $conditions=null)
    $ret = $DB->delete_records('event', array('modulename'=>'apply', 'instance'=>$apply_id));
Page Top
$DB->get_record anchor.png
  • object get_record($table, array $conditions, $fields='*', $strictness=IGNORE_MISSING)
    $item = $DB->get_record('apply_item', array('id'=>$apply_id));
    $name = $item->name;
Page Top
$DB->get_records anchor.png
  • array(object) get_records($table, array $conditions=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0)
    $params = array('apply_id'=>$item->apply_id);
    $items = $DB->get_records('apply_item', $params, 'position');
    foreach ($items as $item) {
        $name = $item->name;
        ......
Page Top
$DB->get_records_select anchor.png
  • 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');
Page Top
$DB->get_records_sql anchor.png
  • 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);
     
Page Top
$DB->execute anchor.png
  • array(object) execute($sql, array $params=null)
  • $sql の ? に 配列 $params の要素が対応(並び順)
  • $sql 中の :変数名 に $params の各要素が対応
     
Page Top

Block anchor.png

 
Page Top

Module anchor.png

Page Top

構成 anchor.png

  • version.php
  • mod_form.php
    • form の定義, definition():設定画面, BDと名前を合わせる?
  • lib.php
    • ライブラリ
  • index.php
  • view.php オプション
  • setting.php オプション
     
Page Top
SITEID anchor.png
  • Network機能を使用するときに使用する識別ID.Local の場合は 1
     
Page Top

Memo anchor.png

 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,$s​tate";
     
Page Top

Form anchor.png

  • MoodleQuickForm::registerElementType('ad​vcheckbox', "$CFG->libdir/form/advcheckbox.php",​ 'MoodleQuickForm_advcheckbox');
  • MoodleQuickForm::registerElementType('bu​tton', "$CFG->libdir/form/button.php", 'MoodleQuickForm_button');
  • MoodleQuickForm::registerElementType('ca​ncel', "$CFG->libdir/form/cancel.php", 'MoodleQuickForm_cancel');
  • MoodleQuickForm::registerElementType('se​archableselector', "$CFG->libdir/form/searchableselector.ph​p", 'MoodleQuickForm_searchableselector');
  • MoodleQuickForm::registerElementType('ch​eckbox', "$CFG->libdir/form/checkbox.php", 'MoodleQuickForm_checkbox');
  • MoodleQuickForm::registerElementType('da​te_selector', "$CFG->libdir/form/dateselector.php"​, 'MoodleQuickForm_date_selector');
  • MoodleQuickForm::registerElementType('da​te_time_selector', "$CFG->libdir/form/datetimeselector.php"​, 'MoodleQuickForm_date_time_selector');
  • MoodleQuickForm::registerElementType('du​ration', "$CFG->libdir/form/duration.php", 'MoodleQuickForm_duration');
  • MoodleQuickForm::registerElementType('ed​itor', "$CFG->libdir/form/editor.php", 'MoodleQuickForm_editor');
  • MoodleQuickForm::registerElementType('fi​lemanager', "$CFG->libdir/form/filemanager.php",​ 'MoodleQuickForm_filemanager');
  • MoodleQuickForm::registerElementType('fi​lepicker', "$CFG->libdir/form/filepicker.php", 'MoodleQuickForm_filepicker');
  • MoodleQuickForm::registerElementType('gr​ading', "$CFG->libdir/form/grading.php", 'MoodleQuickForm_grading');
  • MoodleQuickForm::registerElementType('gr​oup', "$CFG->libdir/form/group.php", 'MoodleQuickForm_group');
  • MoodleQuickForm::registerElementType('he​ader', "$CFG->libdir/form/header.php", 'MoodleQuickForm_header');
  • MoodleQuickForm::registerElementType('hi​dden', "$CFG->libdir/form/hidden.php", 'MoodleQuickForm_hidden');
  • MoodleQuickForm::registerElementType('ht​mleditor', "$CFG->libdir/form/htmleditor.php", 'MoodleQuickForm_htmleditor');
  • MoodleQuickForm::registerElementType('mo​dgrade', "$CFG->libdir/form/modgrade.php", 'MoodleQuickForm_modgrade');
  • MoodleQuickForm::registerElementType('mo​dvisible', "$CFG->libdir/form/modvisible.php", 'MoodleQuickForm_modvisible');
  • MoodleQuickForm::registerElementType('pa​ssword', "$CFG->libdir/form/password.php", 'MoodleQuickForm_password');
  • MoodleQuickForm::registerElementType('pa​sswordunmask', "$CFG->libdir/form/passwordunmask.ph​p", 'MoodleQuickForm_passwordunmask');
  • MoodleQuickForm::registerElementType('qu​estioncategory', "$CFG->libdir/form/questioncategory.php"​, 'MoodleQuickForm_questioncategory');
  • MoodleQuickForm::registerElementType('ra​dio', "$CFG->libdir/form/radio.php", 'MoodleQuickForm_radio');
  • MoodleQuickForm::registerElementType('re​captcha', "$CFG->libdir/form/recaptcha.php", 'MoodleQuickForm_recaptcha');
  • MoodleQuickForm::registerElementType('se​lect', "$CFG->libdir/form/select.php", 'MoodleQuickForm_select');
  • MoodleQuickForm::registerElementType('se​lectgroups', "$CFG->libdir/form/selectgroups.php"​, 'MoodleQuickForm_selectgroups');
  • MoodleQuickForm::registerElementType('se​lectwithlink', "$CFG->libdir/form/selectwithlink.ph​p", 'MoodleQuickForm_selectwithlink');
  • MoodleQuickForm::registerElementType('se​lectyesno', "$CFG->libdir/form/selectyesno.php",​ 'MoodleQuickForm_selectyesno');
  • MoodleQuickForm::registerElementType('st​atic', "$CFG->libdir/form/static.php", 'MoodleQuickForm_static');
  • MoodleQuickForm::registerElementType('su​bmit', "$CFG->libdir/form/submit.php", 'MoodleQuickForm_submit');
  • MoodleQuickForm::registerElementType('su​bmitlink', "$CFG->libdir/form/submitlink.php", 'MoodleQuickForm_submitlink');
  • MoodleQuickForm::registerElementType('ta​gs', "$CFG->libdir/form/tags.php", 'MoodleQuickForm_tags');
  • MoodleQuickForm::registerElementType('te​xt', "$CFG->libdir/form/text.php", 'MoodleQuickForm_text');
  • MoodleQuickForm::registerElementType('te​xtarea', "$CFG->libdir/form/textarea.php", 'MoodleQuickForm_textarea');
  • MoodleQuickForm::registerElementType('ur​l', "$CFG->libdir/form/url.php", 'MoodleQuickForm_url');
  • MoodleQuickForm::registerElementType('wa​rning', "$CFG->libdir/form/warning.php", 'MoodleQuickForm_warning');
     

Front page   Freeze Diff Backup Copy Rename Reload   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 4275, today: 1, yesterday: 1
Last-modified: 2021-07-29 (Thu) 14:41:26 (JST) (1003d) by iseki

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthApr 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Today

Who's Online

120 user(s) are online (12 user(s) are browsing xpwiki)

Members: 0
Guests: 120

more...

Access Counter

Today : 1264712647126471264712647
Yesterday : 1795517955179551795517955
Total : 2337162423371624233716242337162423371624233716242337162423371624
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com