Add a App-Mode with defined constants
- Normal Mode = 0 - Install Mode = 1 - Maintenance Mode = 2 Moved Install-Mode check to class `App` Replaced all maintenance and install checks with $a->mode checks
This commit is contained in:
parent
6973aaefc2
commit
d5b68cd146
|
@ -93,6 +93,7 @@ class dba {
|
|||
|
||||
// No suitable SQL driver was found.
|
||||
if (!self::$connected) {
|
||||
self::$driver = null;
|
||||
self::$db = null;
|
||||
}
|
||||
$a->save_timestamp($stamp1, "network");
|
||||
|
|
|
@ -637,7 +637,7 @@ function logger($msg, $level = 0) {
|
|||
|
||||
// turn off logger in install mode
|
||||
if (
|
||||
$a->install_mode
|
||||
$a->mode == APP_MODE_INSTALL
|
||||
|| !dba::$connected
|
||||
) {
|
||||
return;
|
||||
|
@ -709,7 +709,7 @@ function dlogger($msg, $level = 0) {
|
|||
|
||||
// turn off logger in install mode
|
||||
if (
|
||||
$a->install_mode
|
||||
$a->mode == APP_MODE_INSTALL
|
||||
|| !dba::$connected
|
||||
) {
|
||||
return;
|
||||
|
|
24
index.php
24
index.php
|
@ -31,16 +31,8 @@ BaseObject::setApp($a);
|
|||
// The value is set to "true" by default in boot.php
|
||||
$a->backend = false;
|
||||
|
||||
/**
|
||||
* Load the configuration file which contains our DB credentials.
|
||||
* Ignore errors. If the file doesn't exist or is empty, we are running in
|
||||
* installation mode.
|
||||
*/
|
||||
|
||||
$install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? false : true);
|
||||
|
||||
// Only load config if found, don't surpress errors
|
||||
if (!$install) {
|
||||
// Only load config if found, don't suppress errors
|
||||
if (!$a->mode == APP_MODE_INSTALL) {
|
||||
include ".htconfig.php";
|
||||
}
|
||||
|
||||
|
@ -50,7 +42,7 @@ if (!$install) {
|
|||
|
||||
require_once "include/dba.php";
|
||||
|
||||
if (!$install) {
|
||||
if (!$a->mode == APP_MODE_INSTALL) {
|
||||
$result = dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
|
@ -85,7 +77,7 @@ if (!$install) {
|
|||
Addon::loadHooks();
|
||||
Addon::callHooks('init_1');
|
||||
|
||||
$maintenance = Config::get('system', 'maintenance');
|
||||
$a->mode = ((Config::get('system', 'maintenance')) ? APP_MODE_MAINTENANCE : APP_MODE_NORMAL);
|
||||
}
|
||||
|
||||
$lang = L10n::getBrowserLanguage();
|
||||
|
@ -129,7 +121,7 @@ if ((x($_SESSION, 'language')) && ($_SESSION['language'] !== $lang)) {
|
|||
L10n::loadTranslationTable($lang);
|
||||
}
|
||||
|
||||
if ((x($_GET, 'zrl')) && (!$install && !$maintenance)) {
|
||||
if ((x($_GET, 'zrl')) && $a->mode == APP_MODE_NORMAL) {
|
||||
// Only continue when the given profile link seems valid
|
||||
// Valid profile links contain a path with "/profile/" and no query parameters
|
||||
if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == "")
|
||||
|
@ -181,9 +173,9 @@ $_SESSION['last_updated'] = defaults($_SESSION, 'last_updated', []);
|
|||
|
||||
// in install mode, any url loads install module
|
||||
// but we need "view" module for stylesheet
|
||||
if ($install && $a->module!="view") {
|
||||
if ($a->mode == APP_MODE_INSTALL && $a->module!="view") {
|
||||
$a->module = 'install';
|
||||
} elseif ($maintenance && $a->module!="view") {
|
||||
} elseif ($a->mode == APP_MODE_MAINTENANCE && $a->module!="view") {
|
||||
$a->module = 'maintenance';
|
||||
} else {
|
||||
check_url($a);
|
||||
|
@ -342,7 +334,7 @@ if (! x($a->page, 'content')) {
|
|||
$a->page['content'] = '';
|
||||
}
|
||||
|
||||
if (!$install && !$maintenance) {
|
||||
if ($a->mode == APP_MODE_NORMAL) {
|
||||
Addon::callHooks('page_content_top', $a->page['content']);
|
||||
}
|
||||
|
||||
|
|
14
src/App.php
14
src/App.php
|
@ -14,6 +14,10 @@ use Detection\MobileDetect;
|
|||
|
||||
use Exception;
|
||||
|
||||
define ('APP_MODE_NORMAL', 0);
|
||||
define ('APP_MODE_INSTALL', 1);
|
||||
define ('APP_MODE_MAINTENANCE', 2);
|
||||
|
||||
require_once 'boot.php';
|
||||
require_once 'include/text.php';
|
||||
|
||||
|
@ -52,7 +56,7 @@ class App
|
|||
public $argv;
|
||||
public $argc;
|
||||
public $module;
|
||||
public $install_mode = false;
|
||||
public $mode = APP_MODE_NORMAL;
|
||||
public $pager;
|
||||
public $strings;
|
||||
public $basepath;
|
||||
|
@ -289,6 +293,14 @@ class App
|
|||
// Register template engines
|
||||
$this->register_template_engine('Friendica\Render\FriendicaSmartyEngine');
|
||||
|
||||
/**
|
||||
* Load the configuration file which contains our DB credentials.
|
||||
* Ignore errors. If the file doesn't exist or is empty, we are running in
|
||||
* installation mode. *
|
||||
*/
|
||||
$this->mode = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? APP_MODE_NORMAL : APP_MODE_INSTALL);
|
||||
|
||||
|
||||
self::$a = $this;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ use DOMDocument;
|
|||
*/
|
||||
class Install extends BaseObject
|
||||
{
|
||||
public static function setInstallMode($mode = true) {
|
||||
self::getApp()->install_mode = $mode;
|
||||
public static function setInstallMode() {
|
||||
self::getApp()->mode = APP_MODE_INSTALL;
|
||||
}
|
||||
|
||||
public static function check($phpath = 'php')
|
||||
|
|
Loading…
Reference in a new issue