Moodle/Programming
をテンプレートにして作成
[
トップ
] [
タイトル一覧
|
ページ一覧
|
新規
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* Moodle Programing [#ne05fea1]
** Document
- http://docs.moodle.org/dev/Main_Page
- http://docs.moodle.org/dev/Plugins
- Grade: http://docs.moodle.org/dev/Grades
** Development
- [[Deprecate>../Deprecate]]
*** 構成 [#ae7a2d84]
- [[module>./module]]
- [[block>./block]]
*** Version [#g43ada84]
- [[4.x>./4.x]]
- [[3.x>./3.x]]
- [[2.7>./2.7]]
- [[2.4>./2.4]]
- [[2.2>./2.2]]
- [[1.x→2.x>./1.x→2.x]]
- [[1.9>./1.9]]
*** Context [#y458b451]
**** module [#ea2a3051]
- $cm = get_coursemodule_from_instance('mdlds', $minstanc...
-- $cm = [[get_coursemodule_from_id()>./get_coursemodule_...
- $mcontext = context_module::instance($cm->id); // モジ...
- $ccontext = context_course::instance($course->id); // ...
**** block [#d1bf2099]
- $context = context_block::instance($this->instance->id...
*** POST, GET [#i893cfed]
- required_param('course', PARAM_INT);
- optional_param('mode', default, PARAM_ALPHA);
-- [[PARAM_*>./PARAM_]]
*** 権限用 [#zb75d538]
- %%isadmin()%%
-- see jbxl_moodle_tools.php
- %%isteacher($course->id)%%
-- see jbxl_moodle_tools.php
- %%isguest()%%
-- isguestuser()
**** function require_login [#h9bd199e]
- ログインしているかどうかをチェックする.
- lib/moodlelib.php
require_login($courseorid=NULL, $autologinguest=true, $c...
- この関数を呼ばない場合,contextlevel は CONTEXT_SYSTEM ...
- $cm が NULL の場合, contextlevel は CONTEXT_COURSE (50...
- $cm が NULL でない場合,contextlevel は CONTEXT_MODULE ...
-- contextlevel が CONTEXT_MODULE の場合,管理ブロック(s...
*** DB [#s4f04e49]
- lib/dmllib.php
- $DB ([[データベースアクセス>./DB]])
**** データベース作成 [#j28bdff8]
- XMLDB
-- http://dev.moodle.org/mod/resource/view.php?id=48
-- blocks/mod にディレクトリを作成し,その中に dbディレク...
-- 「サイト管理」→「その他」→「XMLDBエディタ」 でデータ...
*** 大域変数, オブジェクト [#sf24d85f]
**** $CFG [#f86d1bbe]
- $CFG->wwwroot // top url
- $CFG->prefix
**** [[$PAGE>./PAGE]] [#v32dd795]
**** [[$USER>./USER]] [#r9aac91e]
**** [[$OUTPUT>./OUTPUT]] [#w18e0d7c]
**** $_POST [#jf217b7d]
- ポストデータが入る
- empty($_POST)
**** [[block_base>./3.x/block_base]] [#b12b2a90]
*** HTML出力 [#b3217a4d]
- 4.x で変わったポイ? 知らんけど.
**** $OUTPUT [#ie6e5cb2]
- [[$OUTPUT>./OUTPUT]] を使う
**** ひたすら HTML を書く. [#z2ce95da]
- 自由度,無限大.または,ひたすら土方仕事.
**** new flexible_table('...') を使う. [#p0c7ce11]
- lib/tablelib.php
-- $table = new flexible_table('modulename-view-'.$course...
-- $data = ....
-- $table->add_data($data);
-- $table->print_html();
**** new html_table() と html_writer::table() を使用する...
- 簡単だが,自由度が無い.
- 表のヘッダを別に定義できる.
- [[html_writer>./html_writer]]
*** 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...
*** Form [#sfd0317f]
- [[Form 一覧>./Form]]
**** Submit [#ef12e78e]
- <input type="hidden" name="sesskey" value="<?php echo s...
if (data_submitted()) {
if (!confirm_sesskey()) {
print_error('sesskey_error', 'mdlds', $th...
}
}
**** $SESSION を使う [#peb48006]
- $SESSION->sample = new stdClass();
- $SESSION->sample->XXXX = 色々セット
- submit 後に $SESSION->sample->XXXX をチェック.
*** [[File Storage Class>./File Storage]] [#ge284a6b]
*** メッセージ [#pb1c2054]
- get_string( , )
*** settings.php [#m49c050d]
- admin_setting_configtext
- admin_setting_configcheckbox
- admin_setting_configselect
*** メッセージの送信 [#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...
$messageproviders = array (
/// Submitting a apply
'submission' => array (
),
'processed' => array (
)
);
- moodle のバージョン番号を上げて,アップデート
*** Capability [#i8cec55a]
- RISK_SPAM - ユーザーがサイトに目に見えるコンテンツを追...
- RISK_PERSONAL - 個人情報へのアクセス - 例:ユーザー詳細...
- RISK_XSS - ユーザーがクリーンアップされていないコンテン...
- RISK_CONFIG - ユーザーがグローバルな設定を変更できる,...
- RISK_MANAGETRUST - 他ユーザーのトラストビットマスクを管...
- RISK_DATALOSS - 容易に復元できない大量の情報を破壊する...
+ Capability が正常に反映されない場合は,一旦 db/access.p...
+ その後コメントを外して,更新する(version を上げる)
*** ログ [#q8c98d5f]
- %%lib/moodlelib.php%%
- %%function add_to_log($courseid, $module, $action, $url...
- 2.6 から add_to_log() は deprecated
- event log を使う
- see [[event log>./event log]]
**** Table of LOG Data [#h7179fc9]
- http://docs.moodle.org/dev/Migrating_log_access_in_repo...
- mdl_logstore_standard_log
MariaDB [moodle_db]> show columns from mdl_logstore_stan...
+-------------------+--------------+------+-----+-------...
| Field | Type | Null | Key | Defaul...
+-------------------+--------------+------+-----+-------...
| id | bigint(10) | NO | PRI | NULL ...
| 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)
** Files [#m4e06bae]
*** Block [#x3645934]
- version.php
- block_XXX.php
- lib.php (Option)
- settings.php (Option)
** Tips
*** SITEID [#bb71472e]
- Network機能を使用するときに使用する識別ID.Local の場合...
** External Service [#t7bddd11]
*** WebService [#k3d3d384]
- db/services.php
-- db/access.php
- externallib.php
-- classes/...._webservice_handler.php
** List [#w6e8f55e]
#ls2
#br
終了行:
* Moodle Programing [#ne05fea1]
** Document
- http://docs.moodle.org/dev/Main_Page
- http://docs.moodle.org/dev/Plugins
- Grade: http://docs.moodle.org/dev/Grades
** Development
- [[Deprecate>../Deprecate]]
*** 構成 [#ae7a2d84]
- [[module>./module]]
- [[block>./block]]
*** Version [#g43ada84]
- [[4.x>./4.x]]
- [[3.x>./3.x]]
- [[2.7>./2.7]]
- [[2.4>./2.4]]
- [[2.2>./2.2]]
- [[1.x→2.x>./1.x→2.x]]
- [[1.9>./1.9]]
*** Context [#y458b451]
**** module [#ea2a3051]
- $cm = get_coursemodule_from_instance('mdlds', $minstanc...
-- $cm = [[get_coursemodule_from_id()>./get_coursemodule_...
- $mcontext = context_module::instance($cm->id); // モジ...
- $ccontext = context_course::instance($course->id); // ...
**** block [#d1bf2099]
- $context = context_block::instance($this->instance->id...
*** POST, GET [#i893cfed]
- required_param('course', PARAM_INT);
- optional_param('mode', default, PARAM_ALPHA);
-- [[PARAM_*>./PARAM_]]
*** 権限用 [#zb75d538]
- %%isadmin()%%
-- see jbxl_moodle_tools.php
- %%isteacher($course->id)%%
-- see jbxl_moodle_tools.php
- %%isguest()%%
-- isguestuser()
**** function require_login [#h9bd199e]
- ログインしているかどうかをチェックする.
- lib/moodlelib.php
require_login($courseorid=NULL, $autologinguest=true, $c...
- この関数を呼ばない場合,contextlevel は CONTEXT_SYSTEM ...
- $cm が NULL の場合, contextlevel は CONTEXT_COURSE (50...
- $cm が NULL でない場合,contextlevel は CONTEXT_MODULE ...
-- contextlevel が CONTEXT_MODULE の場合,管理ブロック(s...
*** DB [#s4f04e49]
- lib/dmllib.php
- $DB ([[データベースアクセス>./DB]])
**** データベース作成 [#j28bdff8]
- XMLDB
-- http://dev.moodle.org/mod/resource/view.php?id=48
-- blocks/mod にディレクトリを作成し,その中に dbディレク...
-- 「サイト管理」→「その他」→「XMLDBエディタ」 でデータ...
*** 大域変数, オブジェクト [#sf24d85f]
**** $CFG [#f86d1bbe]
- $CFG->wwwroot // top url
- $CFG->prefix
**** [[$PAGE>./PAGE]] [#v32dd795]
**** [[$USER>./USER]] [#r9aac91e]
**** [[$OUTPUT>./OUTPUT]] [#w18e0d7c]
**** $_POST [#jf217b7d]
- ポストデータが入る
- empty($_POST)
**** [[block_base>./3.x/block_base]] [#b12b2a90]
*** HTML出力 [#b3217a4d]
- 4.x で変わったポイ? 知らんけど.
**** $OUTPUT [#ie6e5cb2]
- [[$OUTPUT>./OUTPUT]] を使う
**** ひたすら HTML を書く. [#z2ce95da]
- 自由度,無限大.または,ひたすら土方仕事.
**** new flexible_table('...') を使う. [#p0c7ce11]
- lib/tablelib.php
-- $table = new flexible_table('modulename-view-'.$course...
-- $data = ....
-- $table->add_data($data);
-- $table->print_html();
**** new html_table() と html_writer::table() を使用する...
- 簡単だが,自由度が無い.
- 表のヘッダを別に定義できる.
- [[html_writer>./html_writer]]
*** 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...
*** Form [#sfd0317f]
- [[Form 一覧>./Form]]
**** Submit [#ef12e78e]
- <input type="hidden" name="sesskey" value="<?php echo s...
if (data_submitted()) {
if (!confirm_sesskey()) {
print_error('sesskey_error', 'mdlds', $th...
}
}
**** $SESSION を使う [#peb48006]
- $SESSION->sample = new stdClass();
- $SESSION->sample->XXXX = 色々セット
- submit 後に $SESSION->sample->XXXX をチェック.
*** [[File Storage Class>./File Storage]] [#ge284a6b]
*** メッセージ [#pb1c2054]
- get_string( , )
*** settings.php [#m49c050d]
- admin_setting_configtext
- admin_setting_configcheckbox
- admin_setting_configselect
*** メッセージの送信 [#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...
$messageproviders = array (
/// Submitting a apply
'submission' => array (
),
'processed' => array (
)
);
- moodle のバージョン番号を上げて,アップデート
*** Capability [#i8cec55a]
- RISK_SPAM - ユーザーがサイトに目に見えるコンテンツを追...
- RISK_PERSONAL - 個人情報へのアクセス - 例:ユーザー詳細...
- RISK_XSS - ユーザーがクリーンアップされていないコンテン...
- RISK_CONFIG - ユーザーがグローバルな設定を変更できる,...
- RISK_MANAGETRUST - 他ユーザーのトラストビットマスクを管...
- RISK_DATALOSS - 容易に復元できない大量の情報を破壊する...
+ Capability が正常に反映されない場合は,一旦 db/access.p...
+ その後コメントを外して,更新する(version を上げる)
*** ログ [#q8c98d5f]
- %%lib/moodlelib.php%%
- %%function add_to_log($courseid, $module, $action, $url...
- 2.6 から add_to_log() は deprecated
- event log を使う
- see [[event log>./event log]]
**** Table of LOG Data [#h7179fc9]
- http://docs.moodle.org/dev/Migrating_log_access_in_repo...
- mdl_logstore_standard_log
MariaDB [moodle_db]> show columns from mdl_logstore_stan...
+-------------------+--------------+------+-----+-------...
| Field | Type | Null | Key | Defaul...
+-------------------+--------------+------+-----+-------...
| id | bigint(10) | NO | PRI | NULL ...
| 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)
** Files [#m4e06bae]
*** Block [#x3645934]
- version.php
- block_XXX.php
- lib.php (Option)
- settings.php (Option)
** Tips
*** SITEID [#bb71472e]
- Network機能を使用するときに使用する識別ID.Local の場合...
** External Service [#t7bddd11]
*** WebService [#k3d3d384]
- db/services.php
-- db/access.php
- externallib.php
-- classes/...._webservice_handler.php
** List [#w6e8f55e]
#ls2
#br
ページ名: