/**
* JavaScript for common installer functions
* --------------------------------------------------------------------
- * $Revision:: $
- * $Date:: $
- * $Tag:: 0.2.1-FINAL $
- * $Author:: $
- * --------------------------------------------------------------------
* Copyright (c) 2003 - 2009 by Roland Haeder
- * Copyright (c) 2009 - 2012 by Mailer Developer Team
+ * Copyright (c) 2009 - 2015 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
*/
+// Installation steps array
+var installationSteps = new Array();
+
+// Failed step
+var failedStep = '';
+
+// Init all installation steps
+installationSteps[0] = 'import_tables_sql';
+installationSteps[1] = 'import_menu_sql';
+installationSteps[2] = 'install_extensions';
+installationSteps[3] = 'register_first_admin';
+
+// Always keep as last step
+installationSteps[installationSteps.length] = 'write_local_config';
+
// Switches instaler by redirecting
function switchInstaller (installer) {
// Switch installer
- document.location.href='install.php?installer=' + installer;
+ document.location.href = 'install.php?installer=' + installer;
+}
+
+// User has clicked on 'finish'
+function doFinishInstallation () {
+ // First disable all buttons button
+ resetFooterNavigation();
+
+ // Display progress window
+ displayProgressWindow('install', 'Init ...');
+
+ // Wait for window fader
+ $().ready(function () {
+ // Start installation loop delayed
+ window.setTimeout('doInstallationLoop()', 500);
+
+ // Wait here
+ $('body').delay(500);
+ });
+}
+
+// Does the "installation loop"
+function doInstallationLoop () {
+ // Reset counter
+ counterSuccess = 0;
+
+ // For-loop for all installation steps
+ for (var i = 0; i < installationSteps.length; i++) {
+ // Output message
+ outputInstallationStepMessage(installationSteps[i]);
+
+ // Initialize next step
+ if (sendInstallationStepRequest(i) === false) {
+ // Failed step, so remember it for later display
+ failedStep = installationSteps[i];
+
+ // Stop here
+ break;
+ } // END - if
+
+ // Wait a little
+ $('body').delay(500);
+
+ // Update progress bar
+ updateProgressBar(installationSteps.length);
+ } // END - for
+
+ // Is success counter same as array size
+ if (counterSuccess != installationSteps.length) {
+ // Display error message
+ displayErrorWindow('install', getAjaxContent() + ':' + counterSuccess + '/' + installationSteps.length + ':' + failedStep);
+ } else {
+ // Redirect to admin.php
+ document.location.href = 'admin.php';
+ }
+}
+
+// Sends an "installation step" request out
+function sendInstallationStepRequest (i) {
+ // Is it set?
+ if (installationSteps[i] == undefined) {
+ // Not set installation step, so don't send it out
+ throw new 'installationSteps[' + i + '] is not set.';
+ } // END - if
+
+ // Send out the request
+ return sendAjaxRequest('install', 'do_step', '&step=' + installationSteps[i], false);
+}
+
+// Outputs a "step message"
+function outputInstallationStepMessage (step) {
+ // Set content
+ // @TODO Progress bar is out-of-order: + '<div id="progressbar"></div>'
+ setProgressContent('install', step);
}