flagflag  If you want to see English page, please click "English" Button at Left.
6: 2013-06-17 (月) 16:51:21 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]]+
-- [[2.2>./2.2]] +**** module [#ea2a3051] 
-- [[2.4>./2.4]]+- $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.2>./2.2]]
- [[1.x→2.x>./1.x→2.x]] - [[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
<今日>

オンライン状況

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

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

もっと...

アクセスカウンタ

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