X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-connect.php;h=1e596c3a8c56b986b07722250d84c044fece132b;hb=c4be539d249046d6d64d2181c3a1e898fe9a64f5;hp=62885d2e3127aed78c3055c2a7aa7fceede4c583;hpb=094c07fa19309bf3f90b3d39c1c4238e4a5739d6;p=mailer.git diff --git a/inc/mysql-connect.php b/inc/mysql-connect.php index 62885d2e31..1e596c3a8c 100644 --- a/inc/mysql-connect.php +++ b/inc/mysql-connect.php @@ -1,7 +1,7 @@ the main page to continue."); - } else { - // No debug extension found - print("Please report this error at bugs.mxchange.org:
"); - debug_print_backtrace(); - die("Thank you for your help finding bugs."); - } -} +// Enable HTML templates by default +enableTemplateHtml(); -// Set error handler -set_error_handler('__errorHandler'); +// Are we in installation phase? +if ((!isInstaller()) && (isInstalled())) { + // Load configuration file(s) here + loadIncludeOnce('inc/load_config.php'); -// Call-back function for running shutdown functions and close database connection -function __SHUTDOWN_HOOK () { - global $link; + // Load database layer here + loadIncludeOnce('inc/db/lib.php'); - // Call the filter chain 'shutdown' - RUN_FILTER('shutdown', null, false); + // Init message system + initMessages(); - if (is_resource($link)) { - // Close link - SQL_CLOSE($link, __FILE__, __LINE__); - } else { - // No database link - ADD_FATAL(NO_DB_LINK); - } -} + // CSS array + initExtensionCssFiles(); + + // Initialize SQL link + initSqlLink(); +} else { + // Default output is 'direct' for HTML output + setConfigEntry('OUTPUT_MODE', 'direct'); -// Register shutdown hook -register_shutdown_function('__SHUTDOWN_HOOK'); + // This hack prevents a backtrace in CSS output + if (isCssOutputMode()) { + // Problem with config so set output mode + setConfigEntry('OUTPUT_MODE', 'render'); + } // END - if -// Check if the user setups his MySQL stuff... -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')) { - // You have changed my configuration file! - die(DIE_CONFIG_CHANGED_YOU); + // Debug message + /* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'isAjaxOutputMode()=' . intval(isAjaxOutputMode()) . ',isSessionVariableSet(database_extension)=' . intval(isSessionVariableSet('database_extension'))); + + // Is it AJAX call and database_extension is set? + if ((isAjaxOutputMode()) && (isSessionVariableSet('database_extension'))) { + // Then take it from session + /* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Setting _DB_TYPE from session;database_extension=' . getSession('database_extension')); + setConfigEntry('_DB_TYPE', getSession('database_extension')); + } elseif (isPhpExtensionLoaded('mysql')) { + // Debug message + /* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Setting _DB_TYPE to default (mysql) ...'); + + // Set (old) default + setConfigEntry('_DB_TYPE', 'mysql'); + } elseif (isPhpExtensionLoaded('mysqli')) { + // Debug message + /* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'Setting _DB_TYPE to MySQLi ...'); + + // Set (old) default + setConfigEntry('_DB_TYPE', 'mysqli'); } else { - // Please run the installation script (maybe again) - die(DIE_RUN_INSTALL_MYSQL); + // Opps, cannot detect it? + reportBug(__FILE__, __LINE__, 'Cannot detect mysql/mysqli. Please fix your setup.'); } -} elseif ((!isBooleanConstantAndTrue('mxchange_installing')) && (!isset($_GET['installing'])) && (empty($MySQL['password'])) && (isBooleanConstantAndTrue('warn_no_pass'))) { - // No database password entered!!! - echo "".LANG_WARNING.": ".WARN_NULL_PASSWORD; -} - -// Set dummy $_CONFIG array -$_CONFIG = array( - 'code_length' => 0, - 'patch_level' => 0, - 'last_update' => time() -); - -// Check if this file is writeable or read-only and warn the user -if ((!isBooleanConstantAndTrue('mxchange_installing')) && (isBooleanConstantAndTrue('mxchange_installed'))) { - // Check for write-permission for config.php and inc directory - if (empty($GLOBALS['module'])) $GLOBALS['module'] = "index"; - // CSS array - $EXT_CSS_FILES = array(); - - if ((!empty($MySQL['host'])) && (!empty($MySQL['login'])) && (!empty($MySQL['password'])) && (!empty($MySQL['dbase']))) { - // Connect to DB - global $link; - $link = SQL_CONNECT($MySQL['host'], $MySQL['login'], $MySQL['password'], __FILE__, __LINE__); - - // Is the link valid? - if (is_resource($link)) { - // Choose the database - global $db; - $db = SQL_SELECT_DB($MySQL['dbase'], $link, __FILE__, __LINE__); - - // Is it a valid resource? - if ($db === true) { - // This is required for extension 'optimize' to work - define('__DB_NAME', $MySQL['dbase']); - - // Remove MySQL array from namespace - unset($MySQL); - - // Load configuration stuff - $_CONFIG = merge_array($_CONFIG, LOAD_CONFIG()); - - // Load "databases" aka static arrays - require_once(PATH."inc/databases.php"); - - // Loading patching system is required here... - require_once(PATH."inc/patch-system.php"); // Initialize patch system - - // Session management - require_once(PATH."inc/session.php"); - - // Run daily reset - require_once(PATH."inc/check-reset.php"); - - // Create missing configuration file - if (!function_exists('GET_CURR_THEME')) { - // Load dummy theme functions - require_once(PATH."inc/theme-dummy.php"); - } // END - if - - // Load admin include file if he is admin - if (IS_ADMIN()) { - // Administrative functions - require_once(PATH."inc/modules/admin/admin-inc.php"); - } // END - if - //* DEBUG: */ ADD_POINTS_REFSYSTEM("test", 36, 1000); - //* DEBUG: */ die(); - - // Get all values - if (($CSS != 1) && ($CSS != -1)) { - if (empty($GLOBALS['module'])) $GLOBALS['module'] = "empty"; - if (empty($GLOBALS['what'])) $GLOBALS['what'] = GET_WHAT($GLOBALS['module']); - if (empty($GLOBALS['action'])) $GLOBALS['action'] = GET_ACTION($GLOBALS['module'], $GLOBALS['what']); - } else { - // Set action/what to empty - $GLOBALS['action'] = ""; - $GLOBALS['what'] = ""; - } - - // Run the init filter chain - RUN_FILTER('init'); - - // Set default 'what' value - //* DEBUG: */ echo "-".$GLOBALS['module']."/".$GLOBALS['what']."-