]> git.mxchange.org Git - mailer.git/blobdiff - inc/load_config.php
Some cleanups/improvements
[mailer.git] / inc / load_config.php
index 26d35e68c86a03e63b95fd4b253d9d7d30a209f9..ee94c6f58243ff1bfd12a142f7fc107cfa0ae0d1 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 04/04/2009 *
- * ===============                              Last change: 04/04/2009 *
+ * Mailer v0.2.1-FINAL                                Start: 04/04/2009 *
+ * ===================                          Last change: 04/04/2009 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : load_config.php                                  *
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
@@ -38,8 +37,7 @@
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
-       require($INC);
+       die();
 } // END - if
 
 // Set some config entries which is required for installation phase
@@ -47,20 +45,57 @@ setConfigEntry('OUTPUT_MODE' , 'render');
 setConfigEntry('WRITE_FOOTER', 'Y');
 setConfigEntry('_DB_TYPE'    , 'mysql3');
 
+// Mark configuration as NOT loaded which is the default
+$GLOBALS['config_local_loaded'] = FALSE;
+
 // Is the local configuration there?
-if (isIncludeReadable('inc/cache/config-local.php')) {
+if ((isIncludeReadable(getCachePath() . 'config-local.php')) && (isIncludeReadable('inc/config.php'))) {
+       // We are better in installation mode
+       $GLOBALS['__mailer_installing'] = TRUE;
+
+       // Define default main_title here
+       setConfigEntry('MAIN_TITLE', 'Your mail-exchange title');
+
+       // Set output mode here
+       setConfigEntry('OUTPUT_MODE', 'render');
+
+       // Both exist! This is bad and should be avoided by the admin
+       reportBug(__FILE__, __LINE__, 'You have uploaded or kept an out-dated file at <strong>inc/config.php</strong> along with the new file <strong>'.getCachePath().'config-local.php</strong>. Please remove <strong>inc/config.php</strong> to avoid incompatiblity issues. Thank you.');
+} elseif (isIncludeReadable(getCachePath() . 'config-local.php')) {
        // Then load it
-       loadIncludeOnce('inc/cache/config-local.php');
+       loadIncludeOnce(getCachePath() . 'config-local.php');
+
+       // Mark configuration as loaded
+       $GLOBALS['config_local_loaded'] = TRUE;
+} elseif (isIncludeReadable('inc/config.php')) {
+       // Out-dated inc/config.php found, falling back to load and "wrap" it
+       updateOldConfigFile();
 } elseif (isInstalling()) {
        // Set some essential constants
        // @TODO Rewrite them to avoid this else block
-       define('MAIN_TITLE', 'Your mail-exchanger title');
-       define('SLOGAN'    , 'Your cool slogan here');
-       define('WEBMASTER' , 'you@some-hoster.tld.invalid');
-} else {
-       // Problem in application detected
-       debug_report_bug('Wether we are not installing nor config-local.php is created!');
+       setConfigEntry('MAIN_TITLE', 'Your mail-exchanger title');
+       setConfigEntry('SLOGAN'    , 'Your cool slogan here');
+       setConfigEntry('WEBMASTER' , 'you@some-hoster.example');
+
+       // Set output mode here
+       setConfigEntry('OUTPUT_MODE', 'render');
+}
+
+// Check if the user setups his database login stuff...
+if ((empty($GLOBALS['mysql']['login'])) && (!isInstalling()) && (!isInstaller()) && (!isGetRequestElementSet('installing')) && (isInstalled())) {
+       // No login entered and outside installation mode
+       outputHtml('<strong>{--MAILER_WARNING--}</strong>');
+       if (isInstalled()) {
+               // You have changed my configuration file!
+               reportBug(__FILE__, __LINE__, '{--DIE_CONFIG_CHANGED_YOU--}');
+       } else {
+               // Please run the installation script (maybe again)
+               reportBug(__FILE__, __LINE__, '{--DIE_RUN_INSTALLER_MYSQL--}');
+       }
+} elseif ((!isInstalling()) && (!isInstaller()) && (empty($GLOBALS['mysql']['password'])) && (getConfig('WARN_NO_PASS') == 'Y')) {
+       // No database password entered
+       displayMessage('<div class="warning">{--MAILER_WARNING--}</div> {--WARN_NULL_PASSWORD--}');
 }
 
-//
+// [EOF]
 ?>