#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);
     }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS