]> git.mxchange.org Git - mailer.git/blobdiff - js/install-common.js
Added update_year.sh (still not fully flexible) and updated all years with it.
[mailer.git] / js / install-common.js
index 7a08d54063b0470564c9d5daa51dbc5160325a6a..b7014e37a42659c156663e8d1883d3cc360a00cc 100644 (file)
@@ -1,13 +1,8 @@
 /**
  * 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);
 }