- /**
- * Sets the App mode
- *
- * - App::MODE_INSTALL : Either the database connection can't be established or the config table doesn't exist
- * - App::MODE_MAINTENANCE: The maintenance mode has been set
- * - App::MODE_NORMAL : Normal run with all features enabled
- *
- * @return type
- */
- private function determineMode()
- {
- $this->mode = 0;
-
- if (!file_exists($this->basepath . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'local.ini.php')
- && !file_exists($this->basepath . DIRECTORY_SEPARATOR . '.htconfig.php')) {
- return;
- }
-
- $this->mode |= App::MODE_LOCALCONFIGPRESENT;
-
- if (!DBA::connected()) {
- return;
- }
-
- $this->mode |= App::MODE_DBAVAILABLE;
-
- if (DBA::fetchFirst("SHOW TABLES LIKE 'config'") === false) {
- return;
- }
-
- $this->mode |= App::MODE_DBCONFIGAVAILABLE;
-
- if (Config::get('system', 'maintenance')) {
- return;
- }
-
- $this->mode |= App::MODE_MAINTENANCEDISABLED;
- }
-