X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Finstall-inc.php;h=28db1db9a3087b9639cc8186125a1ca15c562fd0;hb=2dac220ef1018726eab4d8e20bb0682b609f067e;hp=0f4244cbf64d80d830f5327c294d6bd23d1e415d;hpb=20741b93fd58620af677a7f1039ffd16ea6ec689;p=mailer.git diff --git a/inc/install-inc.php b/inc/install-inc.php index 0f4244cbf6..28db1db9a3 100644 --- a/inc/install-inc.php +++ b/inc/install-inc.php @@ -16,7 +16,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -35,12 +35,8 @@ * MA 02110-1301 USA * ************************************************************************/ -/************************************************************************ - * YOU MAY ALSO WANT TO REMOVE THIS FILE AFTER INSTALLTION! * - ************************************************************************/ - // Some security stuff... -if (!defined('__SECURITY')) { +if ((!defined('__SECURITY')) || (!isInstallationPhase())) { die(); } // END - if @@ -55,43 +51,43 @@ FILTER_INIT_TIMEZONE(array()); // Init variables $GLOBALS['install_mysql'] = array(); -if ((isPostRequestElementSet('mysql')) && (is_array(postRequestElement('mysql')))) { +if ((isPostRequestElementSet('mysql')) && (ifPostContainsSelections('mysql'))) { // Transfer 'mysql' array $GLOBALS['install_mysql'] = postRequestElement('mysql'); } // END - if // Check if both passwords from SMTP are matching -if ((isGetRequestElementSet('page') && (getRequestElement('page') == 5))) { +if ((isGetRequestElementSet('install_page') && (getRequestElement('install_page') == 5))) { // Okay, we have to check it if (isPostRequestElementSet('smtp_user') && (!isPostRequestElementSet('smtp_host'))) { // Hostname not set - addToInstallContent('
{--INSTALL_SMTP_HOSTNAME_EMPTY--}
'); - setGetRequestElement('page', 3); + addToInstallContent('
{--INSTALLER_SMTP_HOSTNAME_EMPTY--}
'); + setGetRequestElement('install_page', 3); } // END - if if ((!isPostRequestElementSet('smtp_pass1')) && (isPostRequestElementSet('smtp_pass2'))) { // Password is empty - addToInstallContent('
{--INSTALL_SMTP_PASSWORD1_EMPTY--}
'); - setGetRequestElement('page', 3); + addToInstallContent('
{--INSTALLER_SMTP_PASSWORD1_EMPTY--}
'); + setGetRequestElement('install_page', 3); } // END - if if ((isPostRequestElementSet('smtp_pass1')) && (!isPostRequestElementSet('smtp_pass2'))) { // Password repeat is empty - addToInstallContent('
{--INSTALL_SMTP_PASSWORD2_EMPTY--}
'); - setGetRequestElement('page', 3); + addToInstallContent('
{--INSTALLER_SMTP_PASSWORD2_EMPTY--}
'); + setGetRequestElement('install_page', 3); } // END - if if (postRequestElement('smtp_pass1') != postRequestElement('smtp_pass1')) { // Passwords are not matching - addToInstallContent('
{--INSTALL_SMTP_PASS_MISMATCH--}
'); - setGetRequestElement('page', 3); + addToInstallContent('
{--INSTALLER_SMTP_PASS_MISMATCH--}
'); + setGetRequestElement('install_page', 3); } // END - if } // END - if // Is the mailer installed or no admin registered so far? if ((!isInstalled()) || (!isAdminRegistered())) { // Output page for entered value - switch (getRequestElement('page')) { + switch (getRequestElement('install_page')) { case 'welcome': // Welcome to the installation! addTemplateToInstallContent('install_welcome'); break; @@ -217,15 +213,16 @@ if ((!isInstalled()) || (!isAdminRegistered())) { // Check for dumps if ((!isFileReadable(postRequestElement('spath') . 'install/tables.sql')) || (!isFileReadable(postRequestElement('spath') . 'install/menu-'.getLanguage().'.sql'))) { // Installation area not found - debug_report_bug(__FILE__, __LINE__, 'SQL dumps not found. Please extract ALL files from the archive or checkout all files out from SVN.'); + reportBug(__FILE__, __LINE__, 'SQL dumps not found. Please extract ALL files from the archive or checkout all files out from SVN.'); return; } // END - if // Any errors detected? if (!ifFatalErrorsDetected()) { - // Set type and prefix from POST data + // Set type, prefix from POST data and database name for later queries setConfigEntry('_TABLE_TYPE' , postRequestElement('mysql', 'type')); setConfigEntry('_MYSQL_PREFIX', postRequestElement('mysql', 'prefix')); + setConfigEntry('__DB_NAME' , $GLOBALS['install_mysql']['dbase']); // Both exists so import them foreach (array('tables', 'menu-'.getLanguage()) as $dump) { @@ -241,7 +238,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) { mergeSqls(explode(";\n", $fileContent), 'install'); } else { // Not readable! - debug_report_bug(__FILE__, __LINE__, sprintf("SQL dump %s is not readable!", $dump)); + reportBug(__FILE__, __LINE__, sprintf("SQL dump %s is not readable.", $dump)); } } // END - foreach //* DEBUG: */ die(__FUNCTION__.'['.__LINE__.']:'
'.print_r(getSqls(), true).'
'); @@ -249,19 +246,20 @@ if ((!isInstalled()) || (!isAdminRegistered())) { // Are some SQLs found? if (countSqls() == 0) { // Abort here - addFatalMessage(__FILE__, __LINE__, '{--INSTALL_SQL_IMPORT_FAILED--}'); + addFatalMessage(__FILE__, __LINE__, '{--INSTALLER_SQL_IMPORT_FAILED--}'); return; } // END - if - // Now run all queries through and try to keep out empty or comment queries + // Now run all queries through runFilterChain('run_sqls'); // Copy the config template and verify it - doInstallWriteLocalConfig(); + doInstallWriteLocalConfigurationFile(postRequestElement('spath')); } // END - if } // END - if } // END - if + // Are some fatal errors there? if (ifFatalErrorsDetected()) { $OUT = ''; foreach (getFatalArray() as $value) { @@ -286,12 +284,18 @@ if ((!isInstalled()) || (!isAdminRegistered())) { // We have handled all fatal errors here initFatalMessages(); } else { - // Installation is done! - redirectToUrl('install.php?page=finished'); + // Register ext-sql_patches + if ((registerExtension('sql_patches', NULL)) && (registerExtension('task', NULL))) { + // Installation is done! + redirectToUrl('install.php?install_page=finished'); + } else { + // Something goes wrong on registration of ext-sql_patches + addFatalMessage(__FILE__, __LINE__, '{--INSTALLER_FINALIZER_CANNOT_REGISTER_SQL_PATCHES--}'); + } } } else { // Something goes wrong during installation! :-( - addFatalMessage(__FILE__, __LINE__, '{--INSTALL_FINALIZER_FAILED--}'); + addFatalMessage(__FILE__, __LINE__, '{--INSTALLER_FINALIZER_FAILED--}'); } break; @@ -306,7 +310,7 @@ if ((!isInstalled()) || (!isAdminRegistered())) { break; default: - logDebugMessage(__FILE__, __LINE__, sprintf("Wrong page %s detected", getRequestElement('page'))); + logDebugMessage(__FILE__, __LINE__, sprintf("Wrong install_page=%s detected", getRequestElement('install_page'))); addTemplateToInstallContent('admin_settings_unsaved', '{--WRONG_PAGE--}'); break; } // END - switch