flagflag  If you want to see English page, please click "English" Button at Left.
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');
     

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 4261, today: 1, yesterday: 2
最終更新: 2021-07-29 (木) 14:41:26 (JST) (974d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 3月翌月
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
31
<今日>

オンライン状況

77 人のユーザが現在オンラインです。 (6 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 77

もっと...

アクセスカウンタ

今日 : 1286212862128621286212862
昨日 : 6869686968696869
総計 : 2318714523187145231871452318714523187145231871452318714523187145
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com