global $a, $db;
if ($action) {
- set_config('system', 'maintenance', 1);
+ Config::set('system', 'maintenance', 1);
+ Config::set('system', 'maintenance_reason', 'Database update');
}
if (isset($a->config["system"]["db_charset"])) {
}
}
- if ($action)
- set_config('system', 'maintenance', 0);
+ if ($action) {
+ Config::set('system', 'maintenance', 0);
+ Config::set('system', 'maintenance_reason', '');
+ }
return $errors;
}
<?php
+use \Friendica\Core\Config;
+
function maintenance_content(App $a) {
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600');
return replace_macros(get_markup_template('maintenance.tpl'), array(
- '$sysdown' => t('System down for maintenance')
+ '$sysdown' => t('System down for maintenance'),
+ '$reason' => Config::get('system', 'maintenance_reason')
));
}
Config::load();
$maint_mode = 1;
-if($argc > 1)
+if($argc > 1) {
$maint_mode = intval($argv[1]);
-set_config('system', 'maintenance', $maint_mode);
+}
-if($maint_mode)
+Config::set('system', 'maintenance', $maint_mode);
+
+if($maint_mode AND ($argc > 2)) {
+ $reason_arr = $argv;
+ array_shift($reason_arr);
+ array_shift($reason_arr);
+
+ $reason = implode(' ', $reason_arr);
+ Config::set('system', 'maintenance_reason', $reason);
+} else {
+ Config::set('system', 'maintenance_reason', '');
+}
+
+if($maint_mode) {
$mode_str = "maintenance mode";
-else
+} else {
$mode_str = "normal mode";
+}
+
+echo "\n\tSystem set in $mode_str\n";
+
+if ($reason != '') {
+ echo "\tMaintenance reason: $reason\n\n";
+} else {
+ echo "\n";
+}
-echo "\n\tSystem set in $mode_str\n\n";
echo "Usage:\n\n";
-echo "\tphp {$argv[0]} [1]\tSet the system in maintenance mode\n";
+echo "\tphp {$argv[0]} [1] [Maintenance reason]\tSet the system in maintenance mode\n";
echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n";
-
-<div id="maintenance-message">{{$sysdown}}</div>
+<h1 id="maintenance-message">{{$sysdown}}</h1>
+<div id="maintenance-reason">{{$reason}}</div>