X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmysql-connect.php;h=4020ecdc46b587d4eb4cc0e2701303521d7990e5;hp=57737072c9978234ead83b7e13da54fb5dcb692d;hb=2cce06a4f4ff6bdbf0a14dcf7d2a89944b472c69;hpb=b91d882dbd9bb78ee175a108b5ee0dfcd29d5bbc diff --git a/inc/mysql-connect.php b/inc/mysql-connect.php index 57737072c9..4020ecdc46 100644 --- a/inc/mysql-connect.php +++ b/inc/mysql-connect.php @@ -32,7 +32,7 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } @@ -49,11 +49,33 @@ require_once(PATH."inc/db/lib.php"); // Load general functions require_once(PATH."inc/functions.php"); // Non-database functions + +// Load more include files +require_once(PATH."inc/mysql-manager.php"); // Functions which interact with the database + +// Load extensions and language require_once(PATH."inc/extensions.php"); require_once(PATH."inc/language.php"); +// Init error handler +function __errorHandler ($errno, $errstr, $errfile, $errline) { + $msg = sprintf("errno=%s,errstr=%s,errfile=%s,errline=%s", + $errno, + $errstr, + basename($errfile), + $errline + ); + DEBUG_LOG(__FUNCTION__.":".$msg, true); + print "Please report this error:
";
+	debug_print_backtrace();
+	die("
"); +} + +// Set error handler +//set_error_handler('__errorHandler'); + // Check if the user setups his MySQL stuff... -if ((empty($MySQL['login'])) && (!isBooleanConstantAndTrue('mxchange_installing')) && (!isset($_GET['installing'])) && (isBooleanConstantAndTrue('mxchange_installed'))) { +if ((empty($MySQL['login'])) && (!defined('mxchange_installing')) && (!isset($_GET['installing'])) && (isBooleanConstantAndTrue('mxchange_installed'))) { // No login entered and outside installation mode echo "".LANG_WARNING.": "; if (isBooleanConstantAndTrue('mxchange_installed')) { @@ -63,7 +85,7 @@ if ((empty($MySQL['login'])) && (!isBooleanConstantAndTrue('mxchange_installing' // Please run the installation script (maybe again) die(DIE_RUN_INSTALL_MYSQL); } -} elseif ((!isBooleanConstantAndTrue('mxchange_installing')) && (!isset($_GET['installing'])) && (empty($MySQL['password'])) && (isBooleanConstantAndTrue('warn_no_pass'))) { +} elseif ((!defined('mxchange_installing')) && (!isset($_GET['installing'])) && (empty($MySQL['password'])) && (isBooleanConstantAndTrue('warn_no_pass'))) { // No database password entered!!! echo "".LANG_WARNING.": ".WARN_NULL_PASSWORD; } @@ -72,10 +94,8 @@ if ((empty($MySQL['login'])) && (!isBooleanConstantAndTrue('mxchange_installing' if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndTrue('mxchange_installed'))) { // Check for write-permission for config.php and inc directory if (empty($GLOBALS['module'])) $GLOBALS['module'] = "index"; - if (($GLOBALS['module'] != "admin") && (isBooleanConstantAndTrue('admin_registered')) && (!isset($_SERVER['WINDIR']))) { - if (is_INCWritable("config")) ADD_FATAL(FATAL_CONFIG_WRITABLE); - if (is_INCWritable("dummy")) ADD_FATAL(FATAL_INC_WRITABLE); - } + + // CSS array $EXT_CSS_FILES = array(); if ((!empty($MySQL['host'])) && (!empty($MySQL['login'])) && (!empty($MySQL['password'])) && (!empty($MySQL['dbase']))) { @@ -91,8 +111,8 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT // Is it a valid resource? if ($db === true) { - // Load more include files - require_once(PATH."inc/mysql-manager.php"); // Functions which interact with the database + // Remove MySQL array from namespace + unset($MySQL); // Load configuration stuff $_CONFIG = LOAD_CONFIG(); @@ -135,9 +155,6 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT // Update online list UPDATE_ONLINE_LIST($PHPSESSID, $GLOBALS['module'], $GLOBALS['action'], $GLOBALS['what']); - // Load theme name - $currTheme = GET_CURR_THEME(); - // Set default 'what' value //* DEBUG */ echo "-".$GLOBALS['module']."/".$GLOBALS['what']."-
\n"; if ((empty($GLOBALS['what'])) && (empty($GLOBALS['action'])) && ($CSS != 1) && ($CSS != -1)) { @@ -166,11 +183,17 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT // Shall we activate the exchange? if ($_CONFIG['activate_xchange'] > 0) activateExchange(); - // Generate random number - if (isset($GLOBALS['userid'])) { - define('RAND_NUMBER', GEN_RANDOM_CODE(10, mt_rand(10000,32766), $GLOBALS['userid'], "")); + // Is the extension sql_patches installed and at least 0.3.6? + if (GET_EXT_VERSION("sql_patches") >= "0.3.6") { + // Generate random number + if (isset($GLOBALS['userid'])) { + define('RAND_NUMBER', GEN_RANDOM_CODE(10, mt_rand(10000,32766), $GLOBALS['userid'], "")); + } else { + define('RAND_NUMBER', GEN_RANDOM_CODE(10, mt_rand(10000,32766), 0, "")); + } } else { - define('RAND_NUMBER', GEN_RANDOM_CODE(10, mt_rand(10000,32766), 0, "")); + // Generate weak (!!!) code + define('RAND_NUMBER', mt_rand(1000000, 9999999)); } } else { // Wrong database? @@ -207,7 +230,7 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT if (($installPhp != "install.php") && ($CSS != "1") && ($CSS != -1)) { // Redirect to the installation system LOAD_URL("install.php"); - } + } // END - if // Double-check installation mode if ((!isBooleanConstantAndTrue('mxchange_installed')) || (!isBooleanConstantAndTrue('admin_registered'))) { @@ -221,12 +244,12 @@ if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndT if (!is_INCWritable(".secret/dummy")) { ADD_FATAL(SECRET_IS_WRITE_PROTECTED); } - } + } // END - if } // Any fatal messages? if (!is_array($FATAL)) $FATAL = array(); -if (((sizeof($FATAL) > 0) || (!empty($FATAL[0]))) && (isBooleanConstantAndTrue('mxchange_installed')) && (!isBooleanConstantAndTrue('mxchange_installing')) && ($CSS != "1")) +if (((sizeof($FATAL) > 0) || (!empty($FATAL[0]))) && (isBooleanConstantAndTrue('mxchange_installed')) && (!defined('mxchange_installing')) && ($CSS != "1")) { // One or more fatal error(s) occur during connect... include (PATH."inc/header.php");