flagflag  If you want to see English page, please click "English" Button at Left.
4: 2013-04-05 (金) 22:19:50 iseki ソース 現: 2021-12-28 (火) 02:58:53 iseki ソース
Line 1: Line 1:
** Moodle Programing [#ne05fea1] ** Moodle Programing [#ne05fea1]
- http://docs.moodle.org/dev/Main_Page - http://docs.moodle.org/dev/Main_Page
 +- http://docs.moodle.org/dev/Plugins
- Grade: http://docs.moodle.org/dev/Grades - Grade: http://docs.moodle.org/dev/Grades
 +#br
 +*** 構成 [#ae7a2d84]
 +- [[module>./module]]
 +- [[block>./block]]
 +#br
 +**** SITEID [#bb71472e]
 +- Network機能を使用するときに使用する識別ID.Local の場合は 1
#br #br
-*** Memo [#a0f6ac4a] +*** Context [#y458b451]
-- [[1.9>./1.9]] +
-- [[1.9→2.2>./1.9→2.2]]+
-- [[2.2>./2.2]]+**** module [#ea2a3051] 
 +- $cm = get_coursemodule_from_instance('mdlds', $minstance->id, $course->id, false, MUST_EXIST); // コースモジュール 
 +-- $cm = [[get_coursemodule_from_id()>./get_coursemodule_from_id]] も使用可 
 + 
 +#br 
 +- $mcontext = context_module::instance($cm->id); // モジュールコンテキスト 
 +- $ccontext = context_course::instance($course->id);  // コースコンテキスト 
 +#br 
 + 
 +**** block [#d1bf2099] 
 +- $context = context_block::instance($this->instance-​​>id);  // ブロックコンテキスト 
 +#br 
 + 
 +*** POST, GET [#i893cfed] 
 +- required_param('course',  PARAM_INT); 
 +- optional_param('mode', default,  PARAM_ALPHA); 
 +-- [[PARAM_*>./PARAM_]] 
 +#br 
 +*** 権限用 [#zb75d538] 
 +- %%isadmin()%% 
 +-- see jbxl_moodle_tools.php 
 +- %%isteacher($course->id)%% 
 +-- see jbxl_moodle_tools.php 
 +- %%isguest()%% 
 +-- isguestuser() 
 +#br 
 + 
 +**** function require_login [#h9bd199e] 
 +- ログインしているかどうかをチェックする. 
 +- 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). 
 +#br 
 +#br 
 + 
 +*** DB [#s4f04e49] 
 +- lib/dmllib.php 
 + 
 +- $DB ([[データベースアクセス>./DB]]) 
 + 
 +#br 
 + 
 +**** データベース作成 [#j28bdff8] 
 +- XMLDB 
 +-- http://dev.moodle.org/mod/resource/view.​php?id=48 
 +-- blocks/mod にディレクトリを作成し,その中に dbディレクトリを作る. 
 +-- 「サイト管理」→「その他」→「XMLDBエディタ」 でデータベース定義用の db/install.xml を作成する. 
 +#br 
 + 
 +#br 
 + 
 +*** 大域変数, オブジェクト [#sf24d85f] 
 + 
 +**** $CFG [#f86d1bbe] 
 +- $CFG->wwwroot  // top url 
 +- $CFG->prefix 
 +#br 
 + 
 +**** [[$PAGE>./PAGE]] [#v32dd795] 
 + 
 +#br 
 + 
 +**** [[$USER>./USER]] [#r9aac91e] 
 + 
 +#br 
 + 
 +**** [[$OUTPUT>./OUTPUT]] [#w18e0d7c] 
 +#br 
 + 
 +**** $_POST [#jf217b7d] 
 +- ポストデータが入る 
 +- empty($_POST) 
 +#br 
 + 
 +**** [[block_base>./3.x/block_base]] [#b12b2a90] 
 +#br 
 + 
 + 
 +*** HTML出力 [#b3217a4d] 
 +**** $OUTPUT [#ie6e5cb2] 
 +- [[$OUTPUT>./OUTPUT]] を使う 
 +#br 
 + 
 +**** ひたすら HTML を書く. [#z2ce95da] 
 +- 自由度,無限大.または,ひたすら土方仕事. 
 +#br 
 + 
 +**** new flexible_table('...') を使う. [#p0c7ce11] 
 +- lib/tablelib.php 
 +-- $table = new flexible_table('modulename-view-'.$cours​eid); 
 +-- $data = .... 
 +-- $table->add_data($data); 
 +-- $table->print_html(); 
 +#br 
 + 
 +**** new html_table() と  html_writer::table() を使用する. [#f65c703f] 
 +- 簡単だが,自由度が無い. 
 +- 表のヘッダを別に定義できる. 
 +- [[html_writer>./html_writer]] 
 +#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 
 + 
 + 
 + 
 +*** Form [#sfd0317f] 
 +- [[Form 一覧>./Form]] 
 +#br 
 +**** Submit [#ef12e78e] 
 +- <input type="hidden" name="sesskey" value="<?php echo sesskey(); ?>" /> 
 +       if (data_submitted()) { 
 +           if (!confirm_sesskey()) { 
 +               print_error('sesskey_error', 'mdlds', $this->action_url); 
 +           } 
 +       } 
 + 
 +**** $SESSION を使う [#peb48006] 
 +- $SESSION->sample = new stdClass(); 
 +- $SESSION->sample->XXXX = 色々セット 
 +- submit 後に $SESSION->sample->XXXX  をチェック. 
 +#br 
 + 
 +*** [[File Storage Class>./File Storage]] [#ge284a6b] 
 +#br 
 + 
 +*** メッセージ [#pb1c2054] 
 +- get_string( , ) 
 +#br 
 + 
 +*** settings.php [#m49c050d] 
 +- admin_setting_configtext 
 +- admin_setting_configcheckbox 
 +- admin_setting_configselect 
 +#br 
 +*** メッセージの送信 [#y65975cb] 
 +**** messsage_send() [#t988f73f] 
 +   $eventdata = new stdClass(); 
 +   $eventdata->name              = 'processed'; 
 +   $eventdata->component        = 'mod_apply'; 
 +   $eventdata->userfrom          = $fuser;    // id またはオブジェクト 
 +   $eventdata->userto            = $user;    // id またはオブジェクト 
 +   $eventdata->subject          = $postsubject; 
 +   $eventdata->fullmessage      = $posttext; 
 +   $eventdata->fullmessageformat = FORMAT_PLAIN; 
 +   $eventdata->fullmessagehtml  = $posthtml; 
 +   $eventdata->smallmessage      = ''; 
 +   $eventdata->notification      = 1; 
 +   // 
 +   message_send($eventdata); 
 + 
 +- name の ''processed'' に対応した messageprovidersを db/messages.php に追加 
 + 
 + $messageproviders = array ( 
 + /// Submitting a apply 
 +   'submission' => array ( 
 +   ), 
 +  
 +   'processed' => array ( 
 +   ) 
 + ); 
 +- moodle のバージョン番号を上げて,アップデート 
 +#br 
 + 
 +*** Capability [#i8cec55a] 
 +- RISK_SPAM - ユーザーがサイトに目に見えるコンテンツを追加したり,他のユーザーにメッセージを送ることができます. 
 +- RISK_PERSONAL - 個人情報へのアクセス - 例:ユーザー詳細のバックアップ,プロフィールの非公開情報(隠しメール)等;本来は isteacher() で保護されています. 
 +- RISK_XSS - ユーザーがクリーンアップされていないコンテンツ (アクティブなコンテンツを含む HTML と保護されていないファイルの両方) を送信することができます. 
 +- RISK_CONFIG - ユーザーがグローバルな設定を変更できる,アクションにサニティチェックがない 
 +- RISK_MANAGETRUST - 他ユーザーのトラストビットマスクを管理する. 
 +- RISK_DATALOSS - 容易に復元できない大量の情報を破壊する可能性があります. 
 + 
 ++ Capability が正常に反映されない場合は,一旦 db/access.php の設定部分をコメントアウトして,更新する(version を上げる) 
 ++ その後コメントを外して,更新する(version を上げる) 
 + 
 +#br 
 + 
 +*** ログ [#q8c98d5f] 
 +- %%lib/moodlelib.php%% 
 +- %%function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user=0)%% 
 + 
 +- 2.6 から add_to_log() は deprecated 
 +- event log を使う 
 +- see [[event log>./event log]] 
 +#br 
 + 
 +**** Table of LOG Data [#h7179fc9] 
 +- http://docs.moodle.org/dev/Migrating_log​_access_in_reports 
 +- mdl_logstore_standard_log 
 + MariaDB [moodle_db]> show columns from mdl_logstore_standard_log; 
 + +-------------------+--------------+---​---+-----+---------+----------------+ 
 + | Field            | Type        | Null | Key | Default | Extra          | 
 + +-------------------+--------------+---​---+-----+---------+----------------+ 
 + | id                | bigint(10)  | NO  | PRI | NULL    | auto_increment | 
 + | eventname        | varchar(255) | NO  |    |        |                | 
 + | component        | varchar(100) | NO  |    |        |                | 
 + | action            | varchar(100) | NO  |    |        |                | 
 + | target            | varchar(100) | NO  |    |        |                | 
 + | objecttable      | varchar(50)  | YES  |    | NULL    |                | 
 + | objectid          | bigint(10)  | YES  |    | NULL    |                | 
 + | crud              | varchar(1)  | NO  |    |        |                | 
 + | edulevel          | tinyint(1)  | NO  |    | NULL    |                | 
 + | contextid        | bigint(10)  | NO  |    | NULL    |                | 
 + | contextlevel      | bigint(10)  | NO  |    | NULL    |                | 
 + | contextinstanceid | bigint(10)  | NO  |    | NULL    |                | 
 + | userid            | bigint(10)  | NO  | MUL | NULL    |                | 
 + | courseid          | bigint(10)  | YES  | MUL | NULL    |                | 
 + | relateduserid    | bigint(10)  | YES  |    | NULL    |                | 
 + | anonymous        | tinyint(1)  | NO  |    | 0      |                | 
 + | other            | longtext    | YES  |    | NULL    |                | 
 + | timecreated      | bigint(10)  | NO  | MUL | NULL    |                | 
 + | origin            | varchar(10)  | YES  |    | NULL    |                | 
 + | ip                | varchar(45)  | YES  |    | NULL    |                | 
 + | realuserid        | bigint(10)  | YES  |    | NULL    |                | 
 + +-------------------+--------------+---​---+-----+---------+----------------+ 
 + 21 rows in set (0.00 sec) 
 +#br 
 + 
 +** External Service [#t7bddd11] 
 +*** WebService [#k3d3d384] 
 +- db/services.php 
 +-- db/access.php 
 +- externallib.php 
 +-- classes/...._webservice_handler.php 
 +#br 
 + 
 + 
 +** Version [#g43ada84] 
 +- [[3.x>./3.x]] 
 +- [[2.7>./2.7]]
- [[2.4>./2.4]] - [[2.4>./2.4]]
 +- [[2.2>./2.2]]
 +- [[1.x→2.x>./1.x→2.x]]
 +- [[1.9>./1.9]]
 +#br
 +
 +** Files [#m4e06bae]
 +*** Block [#x3645934]
 +- version.php
 +- block_XXX.php
 +- lib.php (Option)
 +- settings.php (Option)
 +#br
 +
 +** List [#w6e8f55e]
 +#ls2
#br #br


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

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

オンライン状況

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

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

もっと...

アクセスカウンタ

今日 : 3045304530453045
昨日 : 3947394739473947
総計 : 2446692824466928244669282446692824466928244669282446692824466928
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com