flagflag  
3: 2013-03-16 (Sat) 10:13:08 iseki source Cur: 2021-12-28 (Tue) 02:58:53 iseki source
Line 1: Line 1:
** Moodle Programing [#ne05fea1] ** Moodle Programing [#ne05fea1]
-- [[1.9>./1.9]] +- http://docs.moodle.org/dev/Main_Page 
-- [[1.9→2.2>./1.9→2.2]]+- http://docs.moodle.org/dev/Plugins 
 +- Grade: http://docs.moodle.org/dev/Grades 
 +#br 
 +*** 構成 [#ae7a2d84] 
 +- [[module>./module]] 
 +- [[block>./block]] 
 +#br 
 +**** SITEID [#bb71472e] 
 +- Network機能を使用するときに使用する識別ID.Local の場合は 1 
 +#br
-- [[2.2>./2.2]]+*** Context [#y458b451] 
 + 
 +**** 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


Front page   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)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthNov 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

92 user(s) are online (53 user(s) are browsing xpwiki)

Members: 0
Guests: 92

more...

Access Counter

Today : 1408140814081408
Yesterday : 3947394739473947
Total : 2446529124465291244652912446529124465291244652912446529124465291
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com