Still a bit silly but seems to work
[mailer.git] / inc / mysql-connect.php
index 6e257ae8042df648001cd7537f94dedb6b0c2880..7bf73db0fbb7e8cce49af4171a5fa9ac3b7bec12 100644 (file)
@@ -45,8 +45,11 @@ if (!defined('__SECURITY')) {
 // Non-database functions
 require('inc/functions.php');
 
+// Wrapper functions
+require('inc/wrapper-functions.php');
+
 // Load more function libraries or includes
-foreach (array('request-functions', 'session-functions', 'config-functions', 'code-functions', 'inc-functions', 'filters', 'mysql-manager', 'extensions', 'db/lib', 'handler', 'hooks') as $lib) {
+foreach (array('request-functions', 'session-functions', 'config-functions', 'code-functions', 'inc-functions', 'language-functions', 'filters', 'mysql-manager', 'extensions', 'db/lib', 'handler', 'hooks') as $lib) {
        // Load special functions
        loadIncludeOnce('inc/' . $lib . '.php');
 } // END - foreach
@@ -54,25 +57,6 @@ foreach (array('request-functions', 'session-functions', 'config-functions', 'co
 // Set error handler
 set_error_handler('__errorHandler');
 
-// Check if the user setups his MySQL stuff...
-if ((empty($MySQL['login'])) && (!isInstalling()) && (!REQUEST_ISSET_GET('installing')) && (isInstalled())) {
-       // No login entered and outside installation mode
-       OUTPUT_HTML("<strong>{--LANG_WARNING--}:</strong> ");
-       if (isInstalled()) {
-               // You have changed my configuration file!
-               app_die(__FILE__, __LINE__, "{--DIE_CONFIG_CHANGED_YOU--}");
-       } else {
-               // Please run the installation script (maybe again)
-               app_die(__FILE__, __LINE__, "{--DIE_RUN_INSTALL_MYSQL--}");
-       }
-} elseif ((!isInstalling()) && (empty($MySQL['password'])) && (isBooleanConstantAndTrue('warn_no_pass'))) {
-       // No database password entered!!!
-       OUTPUT_HTML("<div>{--LANG_WARNING--}:</div> {--WARN_NULL_PASSWORD--}");
-}
-
-// Set dummy config array
-initConfig();
-
 // Set important header_sent
 $GLOBALS['header_sent'] = 0;
 
@@ -81,6 +65,12 @@ initFatalMessages();
 
 // Check if this file is writeable or read-only and warn the user
 if ((!isInstalling()) && (isInstalled())) {
+       // Load "databases" aka static arrays
+       loadIncludeOnce('inc/databases.php');
+
+       // Load configuration file(s) here
+       loadIncludeOnce('inc/load_config.php');
+
        // Check for write-permission for config.php and inc directory
        if (empty($GLOBALS['module'])) $GLOBALS['module'] = REQUEST_GET('module');
        if (empty($GLOBALS['module'])) $GLOBALS['module'] = 'index';
@@ -88,26 +78,23 @@ if ((!isInstalling()) && (isInstalled())) {
        // CSS array
        EXT_INIT_CSS_FILES();
 
-       if ((!empty($MySQL['host'])) && (!empty($MySQL['login'])) && (!empty($MySQL['password'])) && (!empty($MySQL['dbase']))) {
+       if ((!empty($GLOBALS['mysql']['host'])) && (!empty($GLOBALS['mysql']['login'])) && (!empty($GLOBALS['mysql']['password'])) && (!empty($GLOBALS['mysql']['dbase']))) {
                // Connect to DB
-               SQL_CONNECT($MySQL['host'], $MySQL['login'], $MySQL['password'], __FILE__, __LINE__);
+               SQL_CONNECT($GLOBALS['mysql']['host'], $GLOBALS['mysql']['login'], $GLOBALS['mysql']['password'], __FILE__, __LINE__);
 
                // Is the link valid?
                if (SQL_IS_LINK_UP()) {
                        // Is it a valid resource?
-                       if (SQL_SELECT_DB($MySQL['dbase'], __FILE__, __LINE__) === true) {
+                       if (SQL_SELECT_DB($GLOBALS['mysql']['dbase'], __FILE__, __LINE__) === true) {
                                // This is required for extension 'optimize' to work
-                               define('__DB_NAME', $MySQL['dbase']);
+                               define('__DB_NAME', $GLOBALS['mysql']['dbase']);
 
                                // Remove MySQL array from namespace
-                               unset($MySQL);
+                               unset($GLOBALS['mysql']);
 
                                // Load configuration stuff
                                loadConfiguration();
 
-                               // Load "databases" aka static arrays
-                               loadIncludeOnce('inc/databases.php');
-
                                // Init session
                                loadIncludeOnce('inc/session.php');
 
@@ -115,7 +102,7 @@ if ((!isInstalling()) && (isInstalled())) {
                                loadIncludeOnce('inc/versions.php');
 
                                // Loading patching system is required here...
-                               loadIncludeOnce('inc/patch-system.php'); // Initialize patch system
+                               loadIncludeOnce('inc/patch-system.php');
 
                                // Run daily reset
                                loadIncludeOnce('inc/check-reset.php');
@@ -171,7 +158,7 @@ if ((!isInstalling()) && (isInstalled())) {
                                // Is the extension sql_patches installed and at least 0.3.6?
                                if (GET_EXT_VERSION('sql_patches') >= '0.3.6') {
                                        // Generate random number
-                                       define('RAND_NUMBER', generateRandomCodde(10, mt_rand(10000,32766), getUserId(), ''));
+                                       define('RAND_NUMBER', generateRandomCode(10, mt_rand(10000,32766), getUserId(), ''));
                                } else {
                                        // Generate weak (!!!) code
                                        define('RAND_NUMBER', mt_rand(1000000, 9999999));
@@ -193,6 +180,15 @@ if ((!isInstalling()) && (isInstalled())) {
        // Include neccessary functions for installation //
        ///////////////////////////////////////////////////
 
+       // Default output is 'direct' for HTML output
+       setConfigEntry('OUTPUT_MODE', 'direct');
+
+       // This hack prevents a backtrace in CSS output
+       if ($GLOBALS['output_mode'] == '1') {
+               // Problem with config so set output mode
+               setConfigEntry('OUTPUT_MODE', 'render');
+       } // END - if
+
        // Set other missing variables
        if (!isset($GLOBALS['output_mode'])) $GLOBALS['output_mode'] = '0';
 
@@ -230,8 +226,17 @@ if ((!isInstalling()) && (isInstalled())) {
 
        // Load extension 'sql_patches'
        LOAD_EXTENSION('sql_patches');
+
+       // Load configuration file(s) here
+       loadIncludeOnce('inc/load_config.php');
 }
 
+// Init session
+loadIncludeOnce('inc/session.php');
+
+// Load versions
+loadIncludeOnce('inc/versions.php');
+
 if ((getTotalFatalErrors() > 0) && (isInstalled()) && (!isInstalling()) && ($GLOBALS['output_mode'] != '1')) {
        // One or more fatal error(s) occur during connect...
        loadIncludeOnce('inc/header.php');