なるほど.定期的にメールが来る/作業終了予定時刻に自動解除は安全のために,是非ともMoodle本体の方で持って欲しいですね.cronでなんとかできる範囲のことですよね.画面書き換えのタイミング(function print_header()など)で管理者に警告を出すなど.
とりあえずMoodle1.8で,いまはメンテナンスモードだよ!と常時警告を出し続けるために以下のような修正を試して見ました.(Moodle1.9はメンテナンスモードに入れられないので^^;).
lib/weblib.php, function print_header()
function print_header ($title='', $heading='', $navigation='', $focus='',
$meta='', $cache=true, $button=' ', $menu='',
$usexml=false, $bodytags='', $return=false) {
global $USER, $CFG, $THEME, $SESSION, $ME, $SITE, $COURSE;
if (file_exists($CFG->dataroot.'/'.SITEID.'/maintenance.html')) {
$heading .= ' ['.get_string('sitemaintenancemode', 'admin').']';
}
$heading = format_string($heading); // Fix for MDL-8582
最低限,この程度の機能は欲しいですね.秋山さんの「一定時間ごとに警告する,予定終了時刻になったら強制解除(+その旨を通知した方が良いかな?)」を整理して,良いパッチができたらTrackerに提案してみます.でも,予定集時刻にしろ,データベースに手を加えないとダメだから,ちょっと怖いですね.あ,maintenance.htmlのタイムスタンプを未来の時刻(終了予定時刻)にしておくという手もあるかな?