* $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 *
* 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
// 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('<div class="para">{--INSTALL_SMTP_HOSTNAME_EMPTY--}</div>');
- setGetRequestElement('page', 3);
+ addToInstallContent('<div class="para">{--INSTALLER_SMTP_HOSTNAME_EMPTY--}</div>');
+ setGetRequestElement('install_page', 3);
} // END - if
if ((!isPostRequestElementSet('smtp_pass1')) && (isPostRequestElementSet('smtp_pass2'))) {
// Password is empty
- addToInstallContent('<div class="para">{--INSTALL_SMTP_PASSWORD1_EMPTY--}</div>');
- setGetRequestElement('page', 3);
+ addToInstallContent('<div class="para">{--INSTALLER_SMTP_PASSWORD1_EMPTY--}</div>');
+ setGetRequestElement('install_page', 3);
} // END - if
if ((isPostRequestElementSet('smtp_pass1')) && (!isPostRequestElementSet('smtp_pass2'))) {
// Password repeat is empty
- addToInstallContent('<div class="para">{--INSTALL_SMTP_PASSWORD2_EMPTY--}</div>');
- setGetRequestElement('page', 3);
+ addToInstallContent('<div class="para">{--INSTALLER_SMTP_PASSWORD2_EMPTY--}</div>');
+ setGetRequestElement('install_page', 3);
} // END - if
if (postRequestElement('smtp_pass1') != postRequestElement('smtp_pass1')) {
// Passwords are not matching
- addToInstallContent('<div class="para">{--INSTALL_SMTP_PASS_MISMATCH--}</div>');
- setGetRequestElement('page', 3);
+ addToInstallContent('<div class="para">{--INSTALLER_SMTP_PASS_MISMATCH--}</div>');
+ 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;
// 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) {
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__.']:'<pre>'.print_r(getSqls(), true).'</pre>');
// 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) {
// We have handled all fatal errors here
initFatalMessages();
} else {
- // Installation is done!
- redirectToUrl('install.php?page=finished');
+ // Register ext-sql_patches and ext-task
+ 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;
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