]> git.mxchange.org Git - friendica.git/commitdiff
Add a App-Mode with defined constants
authorPhilipp Holzer <admin@philipp.info>
Fri, 27 Apr 2018 19:07:04 +0000 (21:07 +0200)
committerPhilipp Holzer <admin@philipp.info>
Fri, 27 Apr 2018 19:07:04 +0000 (21:07 +0200)
- 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

include/dba.php
include/text.php
index.php
src/App.php
src/Core/Install.php

index b24d9b409d00125ad7349848d822089a5e908aff..1fe4cab4003542217da2bd5cc6fce0f8c2f14e08 100644 (file)
@@ -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");
index 796acffcef262ffe5aa34cbbb876da78ca780826..23ce0f3d785c2d83792b331a980ae27de768fa72 100644 (file)
@@ -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;
index 2f23ea791a6e525009f5109652c911742c18096c..d45704c937e44df9d1abebc72880cf3959e5aced 100644 (file)
--- a/index.php
+++ b/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']);
 }
 
index 5ff7eab04dd070e341524b872bc06ce9b31ec043..4ad3f62b63aebabf86d48228992501b6b91d7cb8 100644 (file)
@@ -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;
        }
 
index 25ecb02b4ff3d5c6d1ce1d3537c183ca62eb7a46..56e423595d2518cb01edb3e947c7283cda1b04a6 100644 (file)
@@ -17,8 +17,8 @@ use DOMDocument;
  */\r
 class Install extends BaseObject\r
 {\r
-       public static function setInstallMode($mode = true) {\r
-               self::getApp()->install_mode = $mode;\r
+       public static function setInstallMode() {\r
+               self::getApp()->mode = APP_MODE_INSTALL;\r
        }\r
 \r
        public static function check($phpath = 'php')\r
@@ -328,4 +328,4 @@ class Install extends BaseObject
 \r
                return $errors;\r
        }\r
-}
\ No newline at end of file
+}\r