<?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. Bitte loeschen Sie diese *
- * Datei nach der fertiggestellten Installation oder JEDER *
- * kann Ihr Mailtausch-Script neu einstellen!!! *
+ * Kurzbeschreibung : Installationsscript. *
* -------------------------------------------------------------------- *
* $Revision:: $ *
* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * 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 *
require('inc/libs/security_functions.php');
// Init start time
-$GLOBALS['startTime'] = microtime(true);
-
-// Tell every module / include file we are installing
-$GLOBALS['mxchange_installing'] = true;
+$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-global.php');
// Set content type
setContentType('text/html');
-// Reload page to page=welcome when it is not specified
-if (!isGetRequestElementSet('page')) {
- redirectToUrl('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 ((isInstalled()) && (getRequestElement('page' != 'finished'))) {
+if ((isInstalled()) && (getRequestElement('install_page') != 'finished')) {
// Add fatal message
- addFatalMessage(__FILE__, __LINE__, getMessage('ALREADY_INSTALLED'));
+ addFatalMessage(__FILE__, __LINE__, '{--MAILER_ALREADY_INSTALLED--}');
} // END - if
// Load header here
loadIncludeOnce('inc/header.php');
// Handle fatal errors
-handleFatalErrors();
-
-// Here start's our installtion stuff
-loadIncludeOnce('inc/install-inc.php');
-
-// Handle fatal errors again
-handleFatalErrors();
-
-// Load main installation table
-loadTemplate('install_main', false, $GLOBALS['install_content']);
+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')
+ );
+
+ // Load main installation table
+ loadTemplate('install_main_ajax', FALSE, $content);
+} elseif (isPlainInstaller()) {
+ // Plain installer:
+ // Load include file
+ loadIncludeOnce('inc/install-inc.php');
+
+ // Load main template
+ loadTemplate('install_main_plain');
+} else {
+ // What do you want, red or blue pill? AJAX or plain installer? ;-)
+ loadTemplate('install_selector');
+}
// Footer
loadIncludeOnce('inc/footer.php');