#author("2023-08-29T03:35:06+00:00","default:iseki","iseki")
** Moodle 1.x -> 2.x [#y30cbb4d]
- [[1.9>../1.9]]
- [[2.2>../2.2]]
- [[2.4>../2.4]]
*** DB [#g671c657]
- DataBase には $DB 変数を使用してアクセスする.関数の直接呼出しは全て廃止された.
- lib/dml/moodle_database.php
- %%get_record($table, $field1, $value1, $field2="", $value2="", $field3="", $value3="", $fields='*')%%
-- $DB-> get_record($table, array $conditions, $fields='*', $strictness=IGNORE_MISSING)
- %%get_records($table, $field="", $value="", $sort="", $fields='*', $limitfrom="", $limitnum="") %%
-- $DB->get_records($table, array $conditions=null, $sort='', $fields='*', $limitfrom=0, $limitnum=0)
*** 権限 [#hcf796d2]
- 廃止
-- %%isadmin()%%
-- %%isguest()%%
-- %%isteacher($course->id)%%
**** 2.x [#se62698c]
- see jbxl_moodle_tools.php
*** OUTPUT [#ib4a87b2]
- %%print_heading()%% → echo $OUTPUT->heading()
- %%print_footer()%% → echo $OUTPUT->footer()
- %%print_simple_box_start()%% → echo $OUTPUT->box_start()
- %%print_simple_box_end()%% → echo $OUTPUT->box_end()
- %%helpbutton()%% → echo $OUTPUT->help_icon()
- %%popup_form()%% → echo $OUTPUT->single_select()
- %%print_user_picture()%% → echo $OUTPUT->user_picture($user, array('courseid'=>$courseid)
- %%link_to_popup_window($url, $lavel, $icon_url, $height=400, $width=500, $label)%% → echo $OUTPUT->action_link($url, $icon_url, new popup_action('click', $url));
**** $OUTPUT->header() [#yfe4871a]
- %%print_header($title, $heading, $navigation, $focus, $meta, $cache, $button, $menu, $usexml, $bodytags, $return)%% は非推奨
-- $PAGE と $OUTPUT を使う
$PAGE->set_title($title);
$PAGE->set_heading($heading);
$PAGE->set_cacheable($cache); // true
$PAGE->set_button($button); // ' '
$PAGE->set_headingmenu($menu);
require_login($course->id);
echo $OUTPUT->header();
**** user_picture(stdClass $user, array $options = null) [#rf590d31]
- lib/outputrenderers.php
- lib/outputcomponents.php
- $user : ユーザオブジェクト
- $options: courseid, link=true, size=35, alttext=true, popup=false
*** html_writer [#u71f5b4f]
- %%choose_from_menu()%% → html_writer::select()
- %%print_date_selector("endday", "endmonth", "endyear")%% → html_writer::select_time() を3回使用する
-- html_writer::select_time() は 時間,分の既定値(selected)がうまく機能しない(2.2.2+).-> [[修正:http://www.nsl.tuis.ac.jp/xoops/modules/xpwiki/?Moodle%2FHacking%2F2.x#d8f40c6e]]
- %%print_table($table)%% → html_writer::table($table)
**** html_writer::select() [#r0fc6497]
- html_writer::select()
$ltimes = array(1=>0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120);
echo html_writer::select($ltimes, 'lmin', 1, false);
**** html_writer::select_time() [#sc80b4fa]
- html_writer::select_time()
echo html_writer::select_time('years', 'startyear', 0);
echo html_writer::select_time('months', 'startmonth', 0);
echo html_writer::select_time('days', 'startday', 0);
**** html_writer::table() [#h8d93af0]
- html_writer::table($table)
$table = new html_table();
$table->head = array(title1, title2, title3, ....);
$table->align = array('left', 'center', 'center', ....);
$table->width = "100%";
$table->data[] = array(....) // 1行目
$table->data[] = array(....) // 2行目
$table->data[] = array(....) // 3行目
....
echo html_writer::table($table);
*** etc.etc. [#t735cd8f]
- %%error()%% → print_error()