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();
|
||||
}
|
||||
|
13
index.php
13
index.php
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Friendica
|
||||
|
@ -59,6 +60,8 @@ if(! $install) {
|
|||
call_hooks('init_1');
|
||||
}
|
||||
|
||||
$maintenance = get_config('system', 'maintenance');
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -89,7 +92,7 @@ if((x($_SESSION,'language')) && ($_SESSION['language'] !== $lang)) {
|
|||
load_translation_table($lang);
|
||||
}
|
||||
|
||||
if((x($_GET,'zrl')) && (! $install)) {
|
||||
if((x($_GET,'zrl')) && (!$install && !$maintenance)) {
|
||||
$_SESSION['my_url'] = $_GET['zrl'];
|
||||
$a->query_string = preg_replace('/[\?&]zrl=(.*?)([\?&]|$)/is','',$a->query_string);
|
||||
zrl_init($a);
|
||||
|
@ -135,8 +138,10 @@ if(! x($_SESSION,'sysmsg_info'))
|
|||
|
||||
if($install)
|
||||
$a->module = 'install';
|
||||
elseif($maintenance)
|
||||
$a->module = 'maintenance';
|
||||
else
|
||||
check_config($a);
|
||||
proc_run('php', 'include/dbupdate.php');
|
||||
|
||||
nav_set_selected('nothing');
|
||||
|
||||
|
@ -237,7 +242,7 @@ if (file_exists($theme_info_file)){
|
|||
if(! x($a->page,'content'))
|
||||
$a->page['content'] = '';
|
||||
|
||||
if(! $install)
|
||||
if(!$install && !$maintenance)
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
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