X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Finstall-functions.php;h=9b4b42403f9c76b20cc55ca340ddf57abe6c10ad;hp=c62b260723d295eb70d3e8bee798b8bdda77696f;hb=cb11b0028323b24de48bfbab2ed576455e0d9465;hpb=4da10ba9e4a47d9b4eee4609a185fc7266fab031 diff --git a/inc/install-functions.php b/inc/install-functions.php index c62b260723..9b4b42403f 100644 --- a/inc/install-functions.php +++ b/inc/install-functions.php @@ -76,6 +76,70 @@ function initInstaller () { setConfigEntry('verbose_sql' , 'N'); } +// Installer bootstrap +function doInstallerBootstrap () { + // Default output is 'direct' for HTML output + setConfigEntry('OUTPUT_MODE', 'direct'); + + // This hack prevents a backtrace in CSS output + if (isCssOutputMode()) { + // Problem with config so set output mode + setConfigEntry('OUTPUT_MODE', 'render'); + } // END - if + + // Debug message + /* DEBUG: */ logDebugMessage(__FUNCTION__, __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(__FUNCTION__, __LINE__, 'Setting _DB_TYPE from session;database_extension=' . getSession('database_extension')); + setConfigEntry('_DB_TYPE', getSession('database_extension')); + } elseif (isPhpExtensionLoaded('mysqli')) { + // Debug message + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Setting _DB_TYPE to MySQLi ...'); + + // Set (old) default + setConfigEntry('_DB_TYPE', 'mysqli'); + } elseif (isPhpExtensionLoaded('mysql')) { + // Debug message + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Setting _DB_TYPE to default (mysql) ...'); + + // Set (old) default + setConfigEntry('_DB_TYPE', 'mysql'); + } else { + // Opps, cannot detect it? + reportBug(__FUNCTION__, __LINE__, 'Cannot detect mysql/mysqli. Please fix your setup.'); + } + + // Set link as down + unsetSqlLinkUp(__FUNCTION__, __LINE__); + + // Load database layer here + loadIncludeOnce('inc/db/lib.php'); + + // Init message system + initMessages(); + + // Init session + initSession(); + + // Include more + foreach (array('databases', 'install-functions', 'load_config', 'load_cache') as $inc) { + // Load include file + loadIncludeOnce('inc/' . $inc . '.php'); + } // END - foreach + + // Init installer + initInstaller(); + + // Check whether we are in installation routine + if ((!isInstalling()) && (!isCssOutputMode()) && (!isRawOutputMode())) { + // Redirect to the URL + redirectToUrl('install.php'); + } // END - if +} + // Write the local config-local.php file from "template" function doInstallWriteLocalConfigurationFile ($path, $url, $title, $slogan, $email, $noPassword, $writeFooter, $backLink, $databaseHost, $databaseName, $databaseLogin, $databasePassword, $databasePrefix, $tableType, $databaseExtension, $smtpHost, $smtpUser, $smtpPassword) { // Copy the config template and verify it