Merge pull request #585 from fermionic/20130114-maintenance-mode
add maintenance mode
This commit is contained in:
commit
b920ce732c
6 changed files with 84 additions and 5 deletions
29
include/dbupdate.php
Normal file
29
include/dbupdate.php
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once("boot.php");
|
||||||
|
|
||||||
|
function dbupdate_run(&$argv, &$argc) {
|
||||||
|
global $a, $db;
|
||||||
|
|
||||||
|
if(is_null($a)){
|
||||||
|
$a = new App;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_null($db)) {
|
||||||
|
@include(".htconfig.php");
|
||||||
|
require_once("include/dba.php");
|
||||||
|
$db = new dba($db_host, $db_user, $db_pass, $db_data);
|
||||||
|
unset($db_host, $db_user, $db_pass, $db_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
load_config('config');
|
||||||
|
load_config('system');
|
||||||
|
|
||||||
|
check_config($a);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (array_search(__file__,get_included_files())===0){
|
||||||
|
dbupdate_run($argv,$argc);
|
||||||
|
killme();
|
||||||
|
}
|
||||||
|
|
15
index.php
15
index.php
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
7
mod/maintenance.php
Normal file
7
mod/maintenance.php
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function maintenance_content(&$a) {
|
||||||
|
return replace_macros(get_markup_template('maintenance.tpl'), array(
|
||||||
|
'$sysdown' => t('System down for maintenance')
|
||||||
|
));
|
||||||
|
}
|
31
util/maintenance.php
Normal file
31
util/maintenance.php
Normal 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";
|
||||||
|
|
1
view/maintenance.tpl
Normal file
1
view/maintenance.tpl
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<div id="maintenance-message">$sysdown</div>
|
6
view/smarty3/maintenance.tpl
Normal file
6
view/smarty3/maintenance.tpl
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{{*
|
||||||
|
* AUTOMATICALLY GENERATED TEMPLATE
|
||||||
|
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
|
||||||
|
*
|
||||||
|
*}}
|
||||||
|
<div id="maintenance-message">{{$sysdown}}</div>
|
Loading…
Reference in a new issue