add maintenance mode

This commit is contained in:
Zach Prezkuta 2013-01-14 16:35:41 -07:00
parent aea7b84e92
commit 31c3bbf549
2 changed files with 41 additions and 5 deletions

View file

@ -1,5 +1,6 @@
<?php <?php
/** /**
* *
* Friendica * Friendica
@ -43,7 +44,7 @@ load_translation_table($lang);
require_once("include/dba.php"); require_once("include/dba.php");
if(! $install) { if(!$install) {
$db = new dba($db_host, $db_user, $db_pass, $db_data, $install); $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
unset($db_host, $db_user, $db_pass, $db_data); unset($db_host, $db_user, $db_pass, $db_data);
@ -59,6 +60,8 @@ if(! $install) {
call_hooks('init_1'); call_hooks('init_1');
} }
$maintenance = get_config('system', 'maintenance');
/** /**
* *
@ -89,7 +92,7 @@ if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {
load_translation_table($lang); load_translation_table($lang);
} }
if((x($_GET,'zrl')) && (! $install)) { if((x($_GET,'zrl')) && (!$install && !$maintenance)) {
$_SESSION['my_url'] = $_GET['zrl']; $_SESSION['my_url'] = $_GET['zrl'];
$a->query_string = preg_replace('/[\?&]zrl=(.*?)([\?&]|$)/is','',$a->query_string); $a->query_string = preg_replace('/[\?&]zrl=(.*?)([\?&]|$)/is','',$a->query_string);
zrl_init($a); zrl_init($a);
@ -135,8 +138,10 @@ if(! x($_SESSION,'sysmsg_info'))
if($install) if($install)
$a->module = 'install'; $a->module = 'install';
elseif($maintenance)
$a->module = 'maintenance';
else else
check_config($a); proc_run('php', 'include/dbupdate.php');
nav_set_selected('nothing'); nav_set_selected('nothing');
@ -237,7 +242,7 @@ if (file_exists($theme_info_file)){
if(! x($a->page,'content')) if(! x($a->page,'content'))
$a->page['content'] = ''; $a->page['content'] = '';
if(! $install) if(!$install && !$maintenance)
call_hooks('page_content_top',$a->page['content']); call_hooks('page_content_top',$a->page['content']);
/** /**
@ -372,7 +377,7 @@ $a->page['content'] .= '<div id="pause"></div>';
* *
*/ */
if($a->module != 'install') { if($a->module != 'install' && $a->module != 'maintenance') {
nav($a); nav($a);
} }

31
util/maintenance.php Normal file
View file

@ -0,0 +1,31 @@
<?php
require_once("boot.php");
$a = new App;
@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);
unset($db_host, $db_user, $db_pass, $db_data);
load_config('config');
load_config('system');
$maint_mode = 1;
if($argc > 1)
$maint_mode = intval($argv[1]);
set_config('system', 'maintenance', $maint_mode);
if($maint_mode)
$mode_str = "maintenance mode";
else
$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";