#author("2023-08-29T03:41:14+00:00","default:iseki","iseki")
** Moodle-2.x Hacking [#u16c02ee]
*** 申し訳ございません、セキュリティ上の理由から、httpsアクセスのみ許可されています。 [#nde47833]
- メッセージの変数は sslonlyaccess
- lib/setuplib.php の print_error('sslonlyaccess', 'error'); をコメントアウトする
*** IP アドレスの逆引き [#vdc4090d]
- Moodle搭載の Geo City の GeoIP は動かないし,動いても情報は少ないので,NIC.AD.JP のDBを直接叩く
- moodle/iplookup/index.php の IP アドレスチェック後に,NIC.AD.JP へリダイレクト
$url = 'http://whois.nic.ad.jp/cgi-bin/whois_gw?type=NET&key='.$ip;
redirect($url);
*** 日付 [#d8f40c6e]
- 2.x で print_time_selector() は非推奨となった (おまけに 2.2.2+ ではバグっとる)
function print_time_selector($hour, $minute, $currenttime=0, $step=5, $return=false) {
debugging('print_time_selector() has been deprecated. Please change your code to use html_writer.');
$hourselector = html_writer::select_time('hours', $hour, $currenttime);
$minuteselector = html_writer::select_time('minutes', $minute, $currenttime, $step);
$output = $hourselector . $minuteselector;
if ($return) {
return $output;
} else {
echo $output;
}
}
- 置き換え関数の html_writer::select_time() もバグっとる :-( おいおい である.
- moodle/lib/outputcomponents.php
- ただし,これでも 時刻が 0 (日本時間 AM9:00) の場合は,現時刻になるので 分を +1 するとか工夫が必要
case 'hours':
for ($i=0; $i<=23; $i++) {
$strno = sprintf("%02d",$i);
$timeunits[$strno] = $strno;
//$timeunits[$i] = sprintf("%02d",$i);
}
break;
case 'minutes':
if ($step != 1) {
$currentdate['minutes'] = ceil($currentdate['minutes']/$step)*$step;
}
for ($i=0; $i<=59; $i+=$step) {
$strno = sprintf("%02d",$i);
$timeunits[$strno] = $strno;
//$timeunits[$i] = sprintf("%02d",$i);
}