Rewrote 'we' word a little, rewrote mail order to use SQL_INSERTID() instead of anoth...
[mailer.git] / install.php
index 6858ef7d646eeb346be5d093a6b23239bb947d0f..a347a260b912cc2bb13ae6b35df1f58ed6d21317 100644 (file)
@@ -1,29 +1,23 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 08/25/2003 *
- * ===============                              Last change: 04/26/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 08/25/2003 *
+ * ===================                          Last change: 04/26/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : install.php                                      *
  * -------------------------------------------------------------------- *
- *                                                                      *
- *          ------------------------------------------------            *
- *         / PLEASE READ THIS!  /  BITTE LESEN SIE DIESES! /            *
- *        -------------------------------------------------             *
- *                                                                      *
+ * Short description : Installation script.                             *
  * -------------------------------------------------------------------- *
- * Short description : Installation script. Please delete this file     *
- *           after successfully installation or ANYONE can re-setup     *
- *           your mail exchange script!!!                               *
+ * Kurzbeschreibung  : Installationsscript.                             *
  * -------------------------------------------------------------------- *
- * Kurzbeschreibung  : Installationsscript. Bitte loeschen Sie diese    *
- *           Datei nach der fertiggestellten Installation oder JEDER    *
- *           kann Ihr Mailtausch-Script neu einstellen!!!               *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
- *                                                                      *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * 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 *
  * it under the terms of the GNU General Public License as published by *
  * MA  02110-1301  USA                                                  *
  ************************************************************************/
 
-// Tell every module / include file we are installing
-define('mxchange_installing', true);
+// XDEBUG call
+//* DEBUG: */ xdebug_start_trace();
 
 // Load security system
-require("inc/libs/security_functions.php");
+require('inc/libs/security_functions.php');
 
-// Init "action" and "what"
-$GLOBALS['what']   = "";
-$GLOBALS['action'] = "";
+// Init start time
+$GLOBALS['__start_time'] = microtime(true);
 
-// Set CSS variable for "normal mode"
-$GLOBALS['output_mode'] = 0;
+// Tell every module / require file we are installing
+$GLOBALS['__mailer_installing'] = true;
 
-// Set module
-$GLOBALS['module'] = "install";
+// Set module and output mode
+$GLOBALS['__module']      = 'install';
+$GLOBALS['__output_mode'] = '0';
 
 // Load config file
-require("inc/config.php");
+require('inc/config-global.php');
 
-// Header
-LOAD_INC("inc/header.php");
+// Set content type
+setContentType('text/html');
 
-// Reload page to page=welcome when it is not specified
-if (!isset($_GET['page'])) {
-       LOAD_URL("install.php?page=welcome");
+// Is 'install_page' set?
+if (!isGetRequestElementSet('install_page')) {
+       // No, so set it to 'welcome'
+       setGetRequestElement('install_page', 'welcome');
 } // END - if
 
+// Set username
+setUsername('{--USERNAME_INSTALLER--}');
+
 // Already installed?
-if ((isBooleanConstantAndTrue('mxchange_installed')) && (isBooleanConstantAndTrue('admin_registered'))) {
+if ((isInstalled()) && (getRequestElement('install_page') != 'finished')) {
        // Add fatal message
-       addFatalMessage(getMessage('ALREADY_INSTALLED'));
+       addFatalMessage(__FILE__, __LINE__, '{--MAILER_ALREADY_INSTALLED--}');
 } // END - if
 
-// Does something goes wrong?
-if (getTotalFatalErrors() == 0) {
-       // Add main installation table
-       LOAD_TEMPLATE("install_header");
+// Load header here
+loadIncludeOnce('inc/header.php');
+
+// Handle fatal errors
+runFilterChain('handle_fatal_errors');
+
+// Is plain or AJAX-enabled installation used?
+if (isGetRequestElementSet('installer')) {
+       // Set installer type
+       setSession('installer', getRequestElement('installer'));
+
+       // Redirect to install.php again
+       redirectToUrl('install.php');
+} elseif (isAjaxInstaller()) {
+       // AJAX-enabled installer:
+       // Load 'init' page
+       addTemplateToInstallContent('install_page_init');
+
+       // Prepare content
+       $content = array(
+               'install_page' => getRequestElement('install_page')
+       );
 
-       // Here start's our installtion stuff
-       LOAD_INC_ONCE("inc/install-inc.php");
+       // Load main installation table
+       loadTemplate('install_main_ajax', false, $content);
+} elseif (isPlainInstaller()) {
+       // Plain installer:
+       // Load include file
+       loadIncludeOnce('inc/install-inc.php');
 
-       // Close main installation table
-       LOAD_TEMPLATE("install_footer");
+       // Load main template
+       loadTemplate('install_main_plain');
+} else {
+       // What do you want, red or blue pill? AJAX or plain installer? ;-)
+       loadTemplate('install_selector');
 }
 
 // Footer
-LOAD_INC("inc/footer.php");
+loadIncludeOnce('inc/footer.php');
 
-//
+// [EOF]
 ?>