* -------------------------------------------------------------------- *
* Kurzbeschreibung : Verbindet zu Ihrer Datenbank *
* -------------------------------------------------------------------- *
- * $Revision:: $ *
- * $Date:: $ *
- * $Tag:: 0.2.1-FINAL $ *
- * $Author:: $ *
- * -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2016 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 *
die();
} // END - if
+// Init array
+$__functions = array();
+
+// Init include file array as it follows same naming scheme
+foreach ( array(
+ 'stats',
+ 'xml',
+ 'callback',
+ 'referral',
+ 'email',
+ 'request',
+ 'session',
+ 'code',
+ 'pool',
+ 'language',
+ 'sql',
+ 'expression',
+ 'encryption',
+ 'filter',
+ 'extensions') as $lib) {
+
+ // Add it
+ array_push($__functions, $lib . '-functions');
+} // END - foreach
+
// Load more function libraries or includes
-foreach (array('request-functions', 'session-functions', 'code-functions', 'language-functions', 'sql-functions', 'expression-functions', 'filter-functions','revision-functions', 'filters', 'mysql-manager', 'extensions-functions', 'handler') as $lib) {
+foreach (array_merge($__functions, array('filters', 'mysql-manager', 'handler')) as $lib) {
// Load special functions
loadIncludeOnce('inc/' . $lib . '.php');
} // END - foreach
+// Remove array
+unset($__functions);
+
// Set error handler
set_error_handler('__errorHandler');
// Disable block-mode by default
-enableBlockMode(false);
+enableBlockMode(FALSE);
// Init error handler
initErrorHandler();
initMemberId();
// Set important header_sent
-if (!isset($GLOBALS['header_sent'])) {
- $GLOBALS['header_sent'] = '0';
+if (!isset($GLOBALS['__header_sent'])) {
+ $GLOBALS['__header_sent'] = '0';
} // END - if
// Init fatal messages
initFatalMessages();
-// Init repository data sub-system
-initRepositoryData();
-
// Enable HTML templates by default
enableTemplateHtml();
// Are we in installation phase?
-if ((!isInstalling()) && (!isInstallationPhase())) {
+if ((!isInstaller()) && (isInstalled())) {
// Load configuration file(s) here
loadIncludeOnce('inc/load_config.php');
// CSS array
initExtensionCssFiles();
- if ((!empty($GLOBALS['mysql']['host'])) && (!empty($GLOBALS['mysql']['login'])) && (!empty($GLOBALS['mysql']['dbase']))) {
- // Connect to DB
- SQL_CONNECT($GLOBALS['mysql']['host'], $GLOBALS['mysql']['login'], $GLOBALS['mysql']['password'], __FILE__, __LINE__);
-
- // Is the link valid?
- if (SQL_IS_LINK_UP()) {
- // Enable exit on error
- enableExitOnError();
-
- // Is it a valid resource?
- if (SQL_SELECT_DB($GLOBALS['mysql']['dbase'], __FILE__, __LINE__) === true) {
- // This is required for extension 'optimize' to work
- setConfigEntry('__DB_NAME', $GLOBALS['mysql']['dbase']);
-
- // Remove MySQL array from namespace
- unset($GLOBALS['mysql']);
-
- // Load cache
- loadIncludeOnce('inc/load_cache.php');
- } else {
- // Wrong database?
- addFatalMessage(__FILE__, __LINE__, '{--WRONG_DB_SELECTED--}');
- }
- } else {
- // No link to database!
- addFatalMessage(__FILE__, __LINE__, '{--NO_DB_LINK--}');
- }
- } else {
- // Maybe you forgot to enter your database login?
- addFatalMessage(__FILE__, __LINE__, '{--MYSQL_DATA_MISSING--}');
- }
+ // Initialize SQL link
+ initSqlLink();
} else {
// Default output is 'direct' for HTML output
setConfigEntry('OUTPUT_MODE', 'direct');
setConfigEntry('OUTPUT_MODE', 'render');
} // END - if
- // CFG: DATABASE-TYPE
- setConfigEntry('_DB_TYPE', 'mysql3');
+ // 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 {
+ // Opps, cannot detect it?
+ reportBug(__FILE__, __LINE__, 'Cannot detect mysql/mysqli. Please fix your setup.');
+ }
+
+ // Set link as down
+ unsetSqlLinkUp(__FILE__, __LINE__);
// Load database layer here
loadIncludeOnce('inc/db/lib.php');
// Init message system
initMessages();
+ // Init session
+ initSession();
+
// Include more
- foreach (array('databases', 'session', 'versions', 'install-functions', 'load_config', 'load_cache') as $inc) {
- // Load the include
+ foreach (array('databases', 'install-functions', 'load_config', 'load_cache') as $inc) {
+ // Load include file
loadIncludeOnce('inc/' . $inc . '.php');
} // END - foreach
- // Check wether we are in installation routine
+ // Init installer
+ initInstaller();
+
+ // Check whether we are in installation routine
if ((!isInstalling()) && (!isCssOutputMode()) && (!isRawOutputMode())) {
// Redirect to the URL
redirectToUrl('install.php');