\n";
- }
- define('__FATAL_ERROR_LI', $OUT);
- $OUT = "";
- foreach ($mysql as $key=>$value)
- {
- $OUT .= " \n";
+ $content['mysql_host'] = $mysql['host'];
+ $content['mysql_dbase'] = $mysql['dbase'];
+ $content['mysql_prefix'] = $mysql['prefix'];
+ $content['mysql_login'] = $mysql['login'];
+ $content['table_type'] = $mysql['type'];
+ $content['spath'] = postRequestParameter('spath');
+ $content['burl'] = postRequestParameter('burl');
+ $content['title'] = postRequestParameter('title');
+ $content['slogan'] = postRequestParameter('slogan');
+ $content['email'] = postRequestParameter('email');
+
+ // Load template
+ addTemplateToInstallContent('install_page2', $content);
+ break;
+
+ case '3':
+ // Set more values
+ $content['spath'] = postRequestParameter('spath');
+ $content['burl'] = postRequestParameter('burl');
+ $content['title'] = postRequestParameter('title');
+ $content['slogan'] = postRequestParameter('slogan');
+ $content['email'] = postRequestParameter('email');
+
+ // Use default SMTP data
+ $smtpHost = getConfig('SMTP_HOSTNAME');
+ $smtpUser = getConfig('SMTP_USER');
+ $smtpPass1 = getConfig('SMTP_PASSWORD');
+ $smtpPass2 = getConfig('SMTP_PASSWORD');
+
+ // Overwrite it with the data from sent (failed) form
+ if (isPostRequestParameterSet('smtp_host')) $smtpHost = postRequestParameter('smtp_host');
+ if (isPostRequestParameterSet('smtp_user')) $smtpUser = postRequestParameter('smtp_user');
+ if (isPostRequestParameterSet('smtp_pass')) {
+ $smtpPass1 = postRequestParameter('smtp_pass');
+ $smtpPass2 = postRequestParameter('smtp_pass');
+ } // END - if
+
+ // MySQL settings
+ $content['mysql_host'] = $mysql['host'];
+ $content['mysql_dbase'] = $mysql['dbase'];
+ $content['mysql_prefix'] = $mysql['prefix'];
+ $content['table_type'] = $mysql['type'];
+ $content['mysql_login'] = $mysql['login'];
+ $content['mysql_pass1'] = $mysql['pass1'];
+ $content['mysql_pass2'] = $mysql['pass2'];
+
+ // Set constants for SMTP data
+ $content['smtp_host'] = $smtpHost;
+ $content['smtp_user'] = $smtpUser;
+ $content['smtp_pass1'] = $smtpPass1;
+ $content['smtp_pass2'] = $smtpPass2;
+
+ // Load template
+ addTemplateToInstallContent('install_page3', $content);
+ break;
+
+ case '5': // Misc settings
+ // General settings
+ $content['spath'] = postRequestParameter('spath');
+ $content['burl'] = postRequestParameter('burl');
+ $content['title'] = postRequestParameter('title');
+ $content['slogan'] = postRequestParameter('slogan');
+ $content['email'] = postRequestParameter('email');
+
+ // SMTP settings
+ $content['smtp_host'] = postRequestParameter('smtp_host');
+ $content['smtp_user'] = postRequestParameter('smtp_user');
+ $content['smtp_pass'] = postRequestParameter('smtp_pass1');
+
+ // MySQL data
+ $OUT = '';
+ foreach ($mysql as $key => $value) {
+ $OUT .= " \n";
+ } // END - foreach
+ $content['mysql_hidden'] = $OUT;
+
+ // Load template
+ addTemplateToInstallContent('install_page5', $content);
+ break;
+
+ case 'finalize': // Write captured data to files
+ if ((isPostRequestParameterSet('finalize')) && (!isInstalled())) {
+ // You have submitted data then we have to reset the SQLs
+ initSqls();
+
+ // Connect to MySQL server
+ SQL_CONNECT($mysql['host'], $mysql['login'], $mysql['pass1'], __FILE__, __LINE__);
+ if (SQL_IS_LINK_UP()) {
+ // Seems to work, also right database?
+ if (SQL_SELECT_DB($mysql['dbase'], __FILE__, __LINE__) === true) {
+ // Automatically run install.sql
+ if ((!isFileReadable(postRequestParameter('spath') . 'install/tables.sql')) || (!isFileReadable(postRequestParameter('spath') . 'install/menu-'.getLanguage().'.sql'))) {
+ // Installation area not found!
+ addFatalMessage(__FILE__, __LINE__, getMessage('INSTALL_MISSING_DUMPS'));
+ } // END - if
+
+ if (getTotalFatalErrors() == '0') {
+ // Set type and prefix from POST data
+ setConfigEntry('_TABLE_TYPE' , postRequestParameter('mysql', 'type'));
+ setConfigEntry('_MYSQL_PREFIX', postRequestParameter('mysql', 'prefix'));
+
+ // Both exists so import them
+ foreach (array('tables', 'menu-'.getLanguage()) as $dump) {
+ // Should be save here because file_exists() is there but we check it again. :)
+ $FQFN = postRequestParameter('spath') . 'install/' . $dump . '.sql';
+
+ // Is the file readable?
+ if (isFileReadable($FQFN)) {
+ // Read the file
+ $fileContent = readSqlDump($FQFN);
+
+ // Split it up against ";\n" and merge it into existing SQLs
+ mergeSqls(explode(";\n", $fileContent), 'install');
+ } else {
+ // Not readable!
+ debug_report_bug(sprintf("SQL dump %s is not readable!", $dump));
+ }
+ } // END - foreach
+ //* DEBUG: */ die('
'.print_r(getSqls(), true).'
');
+
+ // Are some SQLs found?
+ if (countSqls() == '0') {
+ // Abort here
+ addFatalMessage(__FILE__, __LINE__, getMessage('INSTALL_SQL_IMPORT_FAILED'));
+ return;
+ } // END - if
+
+ // Now run all queries through and try to keep out empty or comment queries
+ runFilterChain('run_sqls');
+
+ // Copy the config template and verify it
+ doInstallWriteLocalConfig();
+ } // END - if
+ } // END - if
+ } // END - if
+
+ if (getTotalFatalErrors() > 0) {
+ $OUT = '';
+ foreach (getFatalArray() as $value) {
+ $OUT .= '