]> git.mxchange.org Git - friendica.git/blobdiff - util/maintenance.php
Merge pull request #3972 from tobiasd/20171127-messages
[friendica.git] / util / maintenance.php
index 17f64ecc79ef95b4dc8b92090a87f67567fc5184..39c2acb0e1f13a304d0c966ce7ec10bafb064992 100644 (file)
@@ -1,17 +1,21 @@
 <?php
 
-use \Friendica\Core\Config;
+use Friendica\App;
+use Friendica\Core\Config;
 
 require_once("boot.php");
 
-$a = new App;
+if (empty($a)) {
+       $a = new App(dirname(__DIR__));
+}
+
 @include(".htconfig.php");
 
 $lang = get_browser_language();
 load_translation_table($lang);
 
 require_once("include/dba.php");
-$db = new dba($db_host, $db_user, $db_pass, $db_data, false);
+dba::connect($db_host, $db_user, $db_pass, $db_data, false);
 unset($db_host, $db_user, $db_pass, $db_data);
 
 Config::load();
@@ -20,7 +24,19 @@ $maint_mode = 1;
 if ($argc > 1) {
        $maint_mode = intval($argv[1]);
 }
-set_config('system', 'maintenance', $maint_mode);
+
+Config::set('system', 'maintenance', $maint_mode);
+
+if ($maint_mode && ($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";
@@ -28,8 +44,23 @@ if ($maint_mode) {
        $mode_str = "normal mode";
 }
 
-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]} 0  \tSet the system in normal mode\n\n";
+echo "\n\tSystem set in $mode_str\n";
+
+if ($reason != '') {
+       echo "\tMaintenance reason: $reason\n\n";
+} else {
+       echo "\n";
+}
 
+echo "Usage:\n\n";
+echo "\tphp {$argv[0]} [1] [Maintenance reason|redirection url]\n";
+echo "\t\tSet the system in maintenance mode\n\n";
+echo "\t\tIf the optionally entered maintenance reason is an url\n";
+echo "\t\tthe visitor is redirected to that page.\n";
+echo "\n";
+echo "\t\tExamples:\n";
+echo "\t\t\tphp {$argv[0]} 1 System upgrade\n";
+echo "\t\t\tphp {$argv[0]} 1 http://domain.tld/downtime\n";
+echo "\n";
+echo "\tphp {$argv[0]} 0\n";
+echo "\t\tSet the system in normal mode\n\n";