浏览代码

Preparation for installer and discontinue support of old config style.

ohartl 9 年之前
父节点
当前提交
dba131d680
共有 2 个文件被更改,包括 43 次插入87 次删除
  1. 30 82
      include/php/default.inc.php
  2. 13 5
      index.php

+ 30 - 82
include/php/default.inc.php

@@ -1,12 +1,5 @@
 <?php
 <?php
 
 
-/**
- * Start session as the very first thing
- */
-session_start();
-session_regenerate_id();
-
-
 /**
 /**
  * Register automatic loading for dependency injection
  * Register automatic loading for dependency injection
  */
  */
@@ -20,6 +13,13 @@ spl_autoload_register(function($class){
 });
 });
 
 
 
 
+/**
+ * Start session as the very first thing
+ */
+session_start();
+session_regenerate_id();
+
+
 /**
 /**
  * Load some global accessible functions
  * Load some global accessible functions
  */
  */
@@ -27,95 +27,43 @@ require_once 'include/php/global.inc.php';
 
 
 
 
 /**
 /**
- * Require config
+ * Setting up
  */
  */
 if(file_exists('config/config.php')){
 if(file_exists('config/config.php')){
+
+	/**
+	 * Loading config
+	 */
 	$configValues = require_once 'config/config.php';
 	$configValues = require_once 'config/config.php';
-	if(!is_array($configValues)){
-		die('Config must return an array of config values.');
-	}
 
 
-	Config::init($configValues);
-}
-else{
-	$configValues = require_once 'config/config.php.example';
 	if(!is_array($configValues)){
 	if(!is_array($configValues)){
-		die('Config must return an array of config values.');
+		throw new Exception('Config must return an array of config values.');
 	}
 	}
 
 
 	Config::init($configValues);
 	Config::init($configValues);
 
 
 	/**
 	/**
-	 * Handle old config style, if it still exists.
-	 **/
-	if(file_exists('config/config.inc.php') || file_exists('config/config.inc.php.example')){
-		define('USING_OLD_CONFIG', true);
-
-		if(file_exists('config/config.inc.php')){
-			require_once 'config/config.inc.php';
-		}
-		else{
-			require_once 'config/config.inc.php.example';
-		}
-
-		Config::set('base_url', FRONTEND_BASE_PATH);
+	 * Establish database connection
+	 */
+	Database::init(Config::get('mysql'));
 
 
-		Config::set('mysql.host', MYSQL_HOST);
-		Config::set('mysql.user', MYSQL_USER);
-		Config::set('mysql.password', MYSQL_PASSWORD);
-		Config::set('mysql.database', MYSQL_DATABASE);
 
 
-		Config::set('schema.tables.users', DBT_USERS);
-		Config::set('schema.tables.domains', DBT_DOMAINS);
-		Config::set('schema.tables.aliases', DBT_ALIASES);
-
-		Config::set('schema.attributes.users.id', DBC_USERS_ID);
-		Config::set('schema.attributes.users.username', DBC_USERS_USERNAME);
-		Config::set('schema.attributes.users.domain', DBC_USERS_DOMAIN);
-		Config::set('schema.attributes.users.password', DBC_USERS_PASSWORD);
-		Config::set('schema.attributes.users.mailbox_limit', defined('DBC_USERS_MAILBOXLIMIT') ? DBC_USERS_MAILBOXLIMIT : 'mailbox_limit');
-
-		Config::set('schema.attributes.domains.id', DBC_DOMAINS_ID);
-		Config::set('schema.attributes.domains.domain', DBC_DOMAINS_DOMAIN);
-
-		Config::set('schema.attributes.aliases.id', DBC_ALIASES_ID);
-		Config::set('schema.attributes.aliases.source', DBC_ALIASES_SOURCE);
-		Config::set('schema.attributes.aliases.destination', DBC_ALIASES_DESTINATION);
-		Config::set('schema.attributes.aliases.multi_source', defined('DBC_ALIASES_MULTI_SOURCE') ? DBC_ALIASES_MULTI_SOURCE : 'multi_source');
-
-
-		Config::set('options.enable_mailbox_limits', defined('DBC_USERS_MAILBOXLIMIT'));
-		Config::set('options.enable_validate_aliases_source_domain', defined('VALIDATE_ALIASES_SOURCE_DOMAIN_ENABLED'));
-		Config::set('options.enable_multi_source_redirects', defined('DBC_ALIASES_MULTI_SOURCE'));
-		Config::set('options.enable_admin_domain_limits', defined('ADMIN_DOMAIN_LIMITS_ENABLED') ? ADMIN_DOMAIN_LIMITS_ENABLED : false);
-		Config::set('options.enable_logging', defined('WRITE_LOG') ? WRITE_LOG : false);
-
-		Config::set('admins', isset($admins) ? $admins : array());
-		Config::set('admin_domain_limits', isset($adminDomainLimits) ? $adminDomainLimits : array());
-
-		Config::set('password.hash_algorithm', PASS_HASH_SCHEMA);
-		Config::set('password.min_length', MIN_PASS_LENGTH);
+	/**
+	 * Initialize Authentication (Login User if in session)
+	 */
+	Auth::init();
 
 
-		Config::set('log_path', defined('WRITE_LOG_PATH') ? WRITE_LOG_PATH : '/var/www/webmum/log/');
 
 
-		Config::set('frontend_options.email_separator_text', FRONTEND_EMAIL_SEPARATOR_TEXT);
-		Config::set('frontend_options.email_separator_form', FRONTEND_EMAIL_SEPARATOR_FORM);
-	}
+	/**
+	 * Setup routes
+	 */
+	require_once 'include/php/routes.inc.php';
 }
 }
+else{
 
 
+	/**
+	 * Switching to install mode
+	 */
+	define('INSTALLER_ENABLED', true);
 
 
-/**
- * Establish database connection
- */
-Database::init(Config::get('mysql'));
-
-
-/**
- * Initialize Authentication (Login User if in session)
- */
-Auth::init();
-
-/**
- * Setup routes
- */
-require_once 'include/php/routes.inc.php';
+}

+ 13 - 5
index.php

@@ -6,11 +6,19 @@ try {
 	 */
 	 */
 	require_once 'include/php/default.inc.php';
 	require_once 'include/php/default.inc.php';
 
 
-	
-	/**
-	 * Handle request
-	 */
-	$content = Router::executeCurrentRequest();
+
+	if(defined('INSTALLER_ENABLED')){
+		/**
+		 * Load installer
+		 */
+		$content = Router::loadAndBufferOutput('installer/index.php');
+	}
+	else {
+		/**
+		 * Handle request
+		 */
+		$content = Router::executeCurrentRequest();
+	}
 }
 }
 catch(DatabaseException $e){
 catch(DatabaseException $e){
 	$content = '<div class="notification notification-fail">Faulty database query: "'.$e->getQuery().'".</div>';
 	$content = '<div class="notification notification-fail">Faulty database query: "'.$e->getQuery().'".</div>';