win32 to unix line delimiters changed
[mailer.git] / 0.2.1 / inc / install-inc.php
index 2fb6d364391cecbb63f7e64b7ec6673b728e6d59..2edcd41fc4288ed6b792d38a0091c284f9f26305 100644 (file)
-<?php\r
-/************************************************************************\r
- * MXChange v0.1.0                                    Start: 08/29/2003 *\r
- * ===============                              Last change: 11/11/2004 *\r
- *                                                                      *\r
- * -------------------------------------------------------------------- *\r
- * File              : install-inc.php                                  *\r
- * -------------------------------------------------------------------- *\r
- * Short description : Functions for installation procedure             *\r
- * -------------------------------------------------------------------- *\r
- * Kurzbeschreibung  : Funktionen f�r die Installationsroutine          *\r
- * -------------------------------------------------------------------- *\r
- *                                                                      *\r
- * -------------------------------------------------------------------- *\r
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
- * For more information visit: http://www.mxchange.org                  *\r
- *                                                                      *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or    *\r
- * (at your option) any later version.                                  *\r
- *                                                                      *\r
- * This program is distributed in the hope that it will be useful,      *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
- * GNU General Public License for more details.                         *\r
- *                                                                      *\r
- * You should have received a copy of the GNU General Public License    *\r
- * along with this program; if not, write to the Free Software          *\r
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
- * MA  02110-1301  USA                                                  *\r
- ************************************************************************/\r
-\r
-/************************************************************************\r
- *      YOU MAY ALSO WANT TO REMOVE THIS FILE AFTER INSTALLTION!        *\r
- ************************************************************************/\r
-\r
-// Some security stuff...\r
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))\r
-{\r
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";\r
-       require($INC);\r
-}\r
-\r
-//\r
-function install_WriteData ($FILE, $COMMENT, $PREFIX, $SUFFIX, $DATA, $SNEAK=0)\r
-{\r
-       $DONE = false;  $SNEAK++;\r
-       if (file_exists($FILE))\r
-       {\r
-               $SEARCH = "CFG: ".$COMMENT;\r
-               $TMP = $FILE.".tmp";\r
-               $fp = fopen($FILE, 'r') or OUTPUT_HTML ("<STRONG>READ:</STRONG> ".$FILE."<BR>");\r
-               if ($fp)\r
-               {\r
-                       $fp_tmp = fopen($TMP, 'w') or OUTPUT_HTML ("<STRONG>WRITE:</STRONG> ".$TMP."<BR>");\r
-                       if ($fp_tmp)\r
-                       {\r
-                               while (! feof($fp))\r
-                               {\r
-                                       $line = fgets ($fp, 10240);\r
-                                       if (strpos($line, $SEARCH) > -1) $next = 0;\r
-                                       if ($next > -1)\r
-                                       {\r
-                                               if ($next == $SNEAK)\r
-                                               {\r
-                                                       $next = -1;\r
-                                                       $line = $PREFIX.$DATA.$SUFFIX."\n";\r
-                                               }\r
-                                                else\r
-                                               {\r
-                                                       $next++;\r
-                                               }\r
-                                       }\r
-                                       fputs($fp_tmp, $line);\r
-                               }\r
-                               fclose($fp_tmp);\r
-                               // Finished writing tmp file\r
-                               $DONE = true;\r
-                       }\r
-                       fclose($fp);\r
-                       if ($DONE)\r
-                       {\r
-                               // Copy back tmp file and delete tmp :-)\r
-                               @copy($TMP, $FILE);\r
-                               @unlink($TMP);\r
-                       }\r
-                        else\r
-                       {\r
-                               OUTPUT_HTML ("<STRONG>TMP:</STRONG> UNDONE!");\r
-                       }\r
-               }\r
-       }\r
-        else\r
-       {\r
-               OUTPUT_HTML ("<STRONG>404:</STRONG> ".$FILE."<BR>");\r
-       }\r
-}\r
-\r
-//\r
-$mysql = "";\r
-if (isset($_POST['mysql']) && is_array($_POST['mysql'])) $mysql = $_POST['mysql'];\r
-\r
-if (URL != "http://your-server.com")\r
-{\r
-       // Already installed???\r
-       $burl = URL;\r
-}\r
- elseif ($burl == "")\r
-{\r
-       // Auto-detect URL\r
-       $burl = "http://".$SERVER_NAME.$_SERVER['PHP_SELF'];\r
-       $burl = substr($burl, 0, strpos($burl, "install.php"));\r
-}\r
-//\r
-if ((!mxchange_installed) || (!admin_registered))\r
-{\r
-       // Set URL for FORM actions\r
-       define('__BURL_ACTION', $burl);\r
-\r
-       // Output page for entered value\r
-       switch ($_GET['page'])\r
-       {\r
-       case "welcome": // Welcome to the installation!\r
-               LOAD_TEMPLATE("install_welcome");\r
-               break;\r
-\r
-       case "1": // Server path, base URL\r
-               define('__PATH_LEN'     , strlen(PATH));\r
-               define('__BURL_LEN'     , strlen($burl));\r
-               define('__TITLE_LEN'    , strlen(MAIN_TITLE));\r
-               define('__SLOGAN_LEN'   , strlen(SLOGAN));\r
-               define('__WEBMASTER_LEN', (strlen(WEBMASTER) * 3));\r
-\r
-               // Load template\r
-               LOAD_TEMPLATE("install_page1");\r
-               break;\r
-\r
-       case "2": // MySQL data (alone!)\r
-               if (empty($mysql['dbase']))  $mysql['dbase']  = "your_database";\r
-               if (empty($mysql['login']))  $mysql['login']  = "your_login";\r
-               if (empty($mysql['host']))   $mysql['host']   = "localhost";\r
-               if (empty($mysql['prefix'])) $mysql['prefix'] = "mxchange_";\r
-               if ((sizeof($FATAL) > 0) || (!empty($FATAL[0])))\r
-               {\r
-                       OUTPUT_HTML ("<SPAN class=\"install_fatal\">");\r
-                       foreach ($FATAL as $key=>$err)\r
-                       {\r
-                               OUTPUT_HTML ("  <STRONG>&middot;</STRONG>&nbsp;".FATAL_NO.($key + 1).":&nbsp;".$err."<BR>\n");\r
-                       }\r
-                       OUTPUT_HTML ("</SPAN><BR>");\r
-               }\r
-               define('__MYSQL_HOST'  , $mysql['host']);\r
-               define('__MYSQL_DBASE' , $mysql['dbase']);\r
-               define('__MYSQL_PREFIX', $mysql['prefix']);\r
-               define('__MYSQL_LOGIN' , $mysql['login']);\r
-               define('__SPATH_VALUE' , $_POST['spath']);\r
-               define('__BURL_VALUE'  , $_POST['burl']);\r
-               define('__TITLE_VALUE' , $_POST['title']);\r
-               define('__SLOGAN_VALUE', $_POST['slogan']);\r
-               define('__EMAIL_VALUE' , $_POST['email']);\r
-\r
-               // Load template\r
-               LOAD_TEMPLATE("install_page2");\r
-               break;\r
-\r
-       case "5": // Misc settings\r
-               define('__SPATH_VALUE' , $_POST['spath']);\r
-               define('__BURL_VALUE'  , $_POST['burl']);\r
-               define('__TITLE_VALUE' , $_POST['title']);\r
-               define('__SLOGAN_VALUE', $_POST['slogan']);\r
-               define('__EMAIL_VALUE' , $_POST['email']);\r
-               OUTPUT_HTML ("<FORM action=\"".__BURL_ACTION."/install.php?page=finalize\" method=\"POST\" target=\"_self\">\r
-<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"install_content\">\r
-<TR>\r
-  <TD colspan=\"2\" align=\"center\">\r
-    <STRONG class=\"install\">".HEADER_TEXT_PAGE5."</STRONG>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD colspan=\"2\"><SPAN class=\"install_intro\">\r
-    ".TEXT_PAGE_5."\r
-  </SPAN></TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD class=\"install\" align=\"right\">".LANG_OUTPUT_MODE.":&nbsp;&nbsp;</TD>\r
-  <TD>\r
-    <SELECT name=\"omode\" size=\"1\" class=\"install_select\">\r
-      <OPTION value=\"render\"");\r
-               if (OUTPUT_MODE == "render") OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".MODE_RENDER."</OPTION>\r
-      <OPTION value=\"direct\"");\r
-               if (OUTPUT_MODE == "direct") OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".MODE_DIRECT."</OPTION>\r
-    </SELECT>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD class=\"install\" align=\"right\">".WARN_NO_PASSWORD.":&nbsp;&nbsp;</TD>\r
-  <TD>\r
-    <SELECT name=\"warn_no_pass\" size=\"1\" class=\"install_select\">\r
-      <OPTION value=\"true\"");\r
-               if (warn_no_pass) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".YES."</OPTION>\r
-      <OPTION value=\"false\"");\r
-               if (!warn_no_pass) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".NO."</OPTION>\r
-    </SELECT>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD class=\"install\" align=\"right\">".LANG_WRITE_FOOTER.":&nbsp;&nbsp;</TD>\r
-  <TD>\r
-    <SELECT name=\"wfooter\" size=\"1\" class=\"install_select\">\r
-      <OPTION value=\"true\"");\r
-               if (WRITE_FOOTER) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".YES."</OPTION>\r
-      <OPTION value=\"false\"");\r
-               if (!WRITE_FOOTER) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".NO."</OPTION>\r
-    </SELECT>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD class=\"install\" align=\"right\">".LANG_FRAMESET_ACTIVE.":&nbsp;&nbsp;</TD>\r
-  <TD>\r
-    <SELECT name=\"frameset\" size=\"1\" class=\"install_select\">\r
-      <OPTION value=\"true\"");\r
-               if (frameset_active) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".YES."</OPTION>\r
-      <OPTION value=\"false\"");\r
-               if (!frameset_active) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".NO."</OPTION>\r
-    </SELECT>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD class=\"install\" align=\"right\">".INSTALL_ENABLE_BACKLINK.":&nbsp;&nbsp;</TD>\r
-  <TD>\r
-    <SELECT name=\"blink\" size=\"1\" class=\"install_select\">\r
-      <OPTION value=\"true\"");\r
-               if (ENABLE_BACKLINK) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".YES."</OPTION>\r
-      <OPTION value=\"false\"");\r
-               if (!ENABLE_BACKLINK) OUTPUT_HTML (" selected=\"selected\"");\r
-               OUTPUT_HTML (">".NO."</OPTION>\r
-    </SELECT>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD colspan=\"2\" align=\"center\">");\r
-               foreach ($mysql as $key=>$value)\r
-               {\r
-                       OUTPUT_HTML ("    <INPUT type=\"hidden\" name=\"mysql[".$key."]\" value=\"".$value."\">");\r
-               }\r
-               OUTPUT_HTML ("    <INPUT type=\"hidden\" name=\"spath\" value=\"".__SPATH_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"burl\" value=\"".__BURL_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"title\" value=\"".__TITLE_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"slogan\" value=\"".__SLOGAN_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"email\" value=\"".__EMAIL_VALUE."\">\r
-    <INPUT type=\"submit\" class=\"admin_submit submit\" name=\"finalize\" value=\"".NEXT_PAGE."\" class=\"install_submit\">\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-</TABLE>\r
-</FORM>");\r
-               break;\r
-\r
-       case "finalize": // Write captured data to files\r
-               if (!empty($_POST['finalize']))\r
-               {\r
-                       // You have submitted data then we have to reset the fatal messages\r
-                       $FATAL = array();\r
-\r
-                       // Connect to MySQL server\r
-                       $link = SQL_CONNECT($mysql['host'], $mysql['login'], $mysql['pass1'], __FILE__, __LINE__);\r
-                       if ($link)\r
-                       {\r
-                               // Seems to work, also right database?\r
-                               $db = SQL_SELECT_DB($mysql['dbase'], $link, __FILE__, __LINE__);\r
-                               if ($db)\r
-                               {\r
-                                       // Automatically run install.sql\r
-                                       if (file_exists($_POST['spath']."install/tables.sql"))\r
-                                       {\r
-                                               $ERRORS = $_POST['spath']."inc/sql.err";\r
-                                               $cmd = array(\r
-                                                       // "Dump" tha' s*** up... ;-) > /dev/null\r
-                                                       "mysql ".$mysql['dbase']." --force --host=".$mysql['host']." --user=".$mysql['login']." --password=".$mysql['pass1']." < ".$_POST['spath']."install/tables.sql",\r
-                                                       "mysql ".$mysql['dbase']." --force --host=".$mysql['host']." --user=".$mysql['login']." --password=".$mysql['pass1']." < ".$_POST['spath']."install/menu-".GET_LANGUAGE().".sql"\r
-                                               );\r
-\r
-                                               foreach ($cmd as $c)\r
-                                               {\r
-                                                       @system($c);\r
-                                               }\r
-\r
-                                               if ((file_exists($ERRORS)) && (filesize($ERRORS) > 0))\r
-                                               {\r
-                                                       ADD_FATAL(MYSQLDUMP_ERROR);\r
-                                               }\r
-                                                elseif (!mxchange_installed)\r
-                                               {\r
-                                                       // Remove error file if empty\r
-                                                       if (file_exists($ERRORS)) @unlink ($ERRORS);\r
-\r
-                                                       // Ok, all done. So we can write the config data to the php files\r
-                                                       if ($_POST['spath'] != PATH) install_WriteData($_POST['spath']."inc/config.php", "SERVER-PATH", "define ('PATH', \"", "\");", $_POST['spath'], 0);\r
-                                                       if ($_POST['burl']  != URL)  install_WriteData($_POST['spath']."inc/config.php", "HOST-URL", "define ('URL', \"", "\");", $_POST['burl'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MAIN_TITLE", "define ('MAIN_TITLE', \"", "\");", $_POST['title'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "SLOGAN", "define ('SLOGAN', \"", "\");", $_POST['slogan'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "WEBMASTER", "define ('WEBMASTER', \"", "\");", $_POST['email'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "NULLPASS-WARNING", "define ('warn_no_pass', ", ");", $_POST['warn_no_pass'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "WRITE-FOOTER", "define ('WRITE_FOOTER', ", ");", $_POST['wfooter'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "BACKLINK", "define ('ENABLED_BACKLINK', ", ");", $_POST['blink'], 0);\r
-                                                       // install_WriteData($_POST['spath']."inc/config.php", "FRAMESET", "define ('frameset_active', ", ");", $_POST['frameset'], 0);\r
-                                                       // install_WriteData($_POST['spath']."inc/config.php", "OUTPUT-MODE", "define ('OUTPUT_MODE', \"", "\");", $_POST['omode'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-HOST", "     'host'     => \"", "\",", $mysql['host'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-DBASE", "    'dbase'    => \"", "\",", $mysql['dbase'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-LOGIN", "    'login'    => \"", "\",", $mysql['login'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-PASSWORD", " 'password' => \"", "\",", $mysql['pass1'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-PREFIX", "define ('_MYSQL_PREFIX', \"", "\");", $mysql['prefix'], 0);\r
-                                                       install_WriteData($_POST['spath']."inc/config.php", "INSTALLED", "define ('mxchange_installed', ", ");", "true", 0);\r
-\r
-                                                       // Close the link\r
-                                                       SQL_CLOSE($link, __FILE__, __LINE__);\r
-                                               }\r
-                                                else\r
-                                               {\r
-                                                       ADD_FATAL(INSTALL_MAYBE_DONE);\r
-                                               }\r
-                                       }\r
-                                        else\r
-                                       {\r
-                                               // Installation area not found!\r
-                                               ADD_FATAL(INSTALL_MISSING_DUMPS);\r
-                                       }\r
-                               }\r
-                       }\r
-                       if ((sizeof($FATAL) > 0) || ($FATAL[0] != ""))\r
-                       {\r
-                               $OUT = "";\r
-                               foreach ($FATAL as $value)\r
-                               {\r
-                                       $OUT .= "    <LI>".$value."</LI>\n";\r
-                               }\r
-                               define('__FATAL_ERROR_LI', $OUT);\r
-                               $OUT = "";\r
-                               foreach ($mysql as $key=>$value)\r
-                               {\r
-                                       $OUT .= "    <INPUT type=\"hidden\" name=\"mysql[".$key."]\" value=\"".$value."\">\n";\r
-                               }\r
-                               define('__MYSQL_DATA' , $OUT);\r
-                               define('__SPATH_VALUE', $_POST['spath']);\r
-                               define('__BURL_VALUE' , $_POST['burl']);\r
-                               define('__TITLE_VALUE', $_POST['title']);\r
-\r
-                               OUTPUT_HTML ("<FORM action=\"".__BURL_ACTION."/install.php?page=2\" method=\"POST\">\r
-<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"install_content\">\r
-<TR>\r
-  <TD align=\"center\">\r
-    <STRONG class=\"install\">".HEADER_MYSQL_ERRORS."</STRONG>\r
-  </TD>\r
-</TR>\r
-<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>\r
-<TR>\r
-  <TD><SPAN class=\"install_intro\">\r
-    ".TEXT_MYSQL_ERRORS."\r
-  </SPAN></TD>\r
-</TR>\r
-<TR>\r
-  <TD align=\"center\"><STRONG>\r
-    <OL>\r
-".__FATAL_ERROR_LI."\r
-    </OL>\r
-".__MYSQL_DATA."\r
-    <INPUT type=\"hidden\" name=\"spath\" value=\"".__SPATH_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"burl\" value=\"".__BURL_VALUE."\">\r
-    <INPUT type=\"hidden\" name=\"title\" value=\"".__TITLE_VALUE."\">\r
-    <INPUT type=\"submit\" class=\"admin_submit\" name=\"ok\" value=\"".RETURN_MYSQL_PAGE."\">\r
-  </STRONG></TD>\r
-</TR>\r
-</TABLE>\r
-</FORM>");\r
-                       }\r
-                        else\r
-                       {\r
-                               // Installation is done!\r
-                               $URL = $burl."/install.php?page=finalize";\r
-                               LOAD_URL($URL);\r
-                       }\r
-               }\r
-                elseif (mxchange_installed)\r
-               {\r
-                       // Redirection after writing data... :-)\r
-                       OUTPUT_HTML ("<SPAN class=\"install_finished\">".INSTALL_FINISHED."</SPAN><BR>\r
-<BR>\r
-<SPAN class=\"install_security\">".INSTALL_FIN_SECU."</SPAN><BR>\r
-<BR>\r
-<FORM action=\"modules.php\" method=\"GET\">\r
-  <INPUT type=\"hidden\" name=\"module\" value=\"admin\">\r
-  <INPUT type=\"submit\" class=\"admin_submit submit\" value=\"".CONTINUE_ADMIN."\" class=\"install_submit\">\r
-</FORM>");\r
-               }\r
-                else\r
-               {\r
-                       // Something goes wrong during installation! :-(\r
-                       ADD_FATAL(INSTALL_FINALIZER_FAILED);\r
-                       include ("inc/fatal_errors.php");\r
-               }\r
-               break;\r
-\r
-       default:\r
-               OUTPUT_HTML ("    <STRONG class=\"install_error\">".WRONG_PAGE."</STRONG>");\r
-               break;\r
-       }\r
-}\r
- else\r
-{\r
-       ADD_FATAL(ALREADY_INSTALLED);\r
-}\r
-//\r
-?>\r
+<?php
+/************************************************************************
+ * MXChange v0.1.0                                    Start: 08/29/2003 *
+ * ===============                              Last change: 11/11/2004 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File              : install-inc.php                                  *
+ * -------------------------------------------------------------------- *
+ * Short description : Functions for installation procedure             *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Funktionen f�r die Installationsroutine          *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.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 *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+/************************************************************************
+ *      YOU MAY ALSO WANT TO REMOVE THIS FILE AFTER INSTALLTION!        *
+ ************************************************************************/
+
+// Some security stuff...
+if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
+{
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       require($INC);
+}
+
+//
+function install_WriteData ($FILE, $COMMENT, $PREFIX, $SUFFIX, $DATA, $SNEAK=0)
+{
+       $DONE = false;  $SNEAK++;
+       if (file_exists($FILE))
+       {
+               $SEARCH = "CFG: ".$COMMENT;
+               $TMP = $FILE.".tmp";
+               $fp = fopen($FILE, 'r') or OUTPUT_HTML ("<STRONG>READ:</STRONG> ".$FILE."<BR>");
+               if ($fp)
+               {
+                       $fp_tmp = fopen($TMP, 'w') or OUTPUT_HTML ("<STRONG>WRITE:</STRONG> ".$TMP."<BR>");
+                       if ($fp_tmp)
+                       {
+                               while (! feof($fp))
+                               {
+                                       $line = fgets ($fp, 10240);
+                                       if (strpos($line, $SEARCH) > -1) $next = 0;
+                                       if ($next > -1)
+                                       {
+                                               if ($next == $SNEAK)
+                                               {
+                                                       $next = -1;
+                                                       $line = $PREFIX.$DATA.$SUFFIX."\n";
+                                               }
+                                                else
+                                               {
+                                                       $next++;
+                                               }
+                                       }
+                                       fputs($fp_tmp, $line);
+                               }
+                               fclose($fp_tmp);
+                               // Finished writing tmp file
+                               $DONE = true;
+                       }
+                       fclose($fp);
+                       if ($DONE)
+                       {
+                               // Copy back tmp file and delete tmp :-)
+                               @copy($TMP, $FILE);
+                               @unlink($TMP);
+                       }
+                        else
+                       {
+                               OUTPUT_HTML ("<STRONG>TMP:</STRONG> UNDONE!");
+                       }
+               }
+       }
+        else
+       {
+               OUTPUT_HTML ("<STRONG>404:</STRONG> ".$FILE."<BR>");
+       }
+}
+
+//
+$mysql = "";
+if (isset($_POST['mysql']) && is_array($_POST['mysql'])) $mysql = $_POST['mysql'];
+
+if (URL != "http://your-server.com")
+{
+       // Already installed???
+       $burl = URL;
+}
+ elseif ($burl == "")
+{
+       // Auto-detect URL
+       $burl = "http://".$SERVER_NAME.$_SERVER['PHP_SELF'];
+       $burl = substr($burl, 0, strpos($burl, "install.php"));
+}
+//
+if ((!mxchange_installed) || (!admin_registered))
+{
+       // Set URL for FORM actions
+       define('__BURL_ACTION', $burl);
+
+       // Output page for entered value
+       switch ($_GET['page'])
+       {
+       case "welcome": // Welcome to the installation!
+               LOAD_TEMPLATE("install_welcome");
+               break;
+
+       case "1": // Server path, base URL
+               define('__PATH_LEN'     , strlen(PATH));
+               define('__BURL_LEN'     , strlen($burl));
+               define('__TITLE_LEN'    , strlen(MAIN_TITLE));
+               define('__SLOGAN_LEN'   , strlen(SLOGAN));
+               define('__WEBMASTER_LEN', (strlen(WEBMASTER) * 3));
+
+               // Load template
+               LOAD_TEMPLATE("install_page1");
+               break;
+
+       case "2": // MySQL data (alone!)
+               if (empty($mysql['dbase']))  $mysql['dbase']  = "your_database";
+               if (empty($mysql['login']))  $mysql['login']  = "your_login";
+               if (empty($mysql['host']))   $mysql['host']   = "localhost";
+               if (empty($mysql['prefix'])) $mysql['prefix'] = "mxchange_";
+               if ((sizeof($FATAL) > 0) || (!empty($FATAL[0])))
+               {
+                       OUTPUT_HTML ("<SPAN class=\"install_fatal\">");
+                       foreach ($FATAL as $key=>$err)
+                       {
+                               OUTPUT_HTML ("  <STRONG>&middot;</STRONG>&nbsp;".FATAL_NO.($key + 1).":&nbsp;".$err."<BR>\n");
+                       }
+                       OUTPUT_HTML ("</SPAN><BR>");
+               }
+               define('__MYSQL_HOST'  , $mysql['host']);
+               define('__MYSQL_DBASE' , $mysql['dbase']);
+               define('__MYSQL_PREFIX', $mysql['prefix']);
+               define('__MYSQL_LOGIN' , $mysql['login']);
+               define('__SPATH_VALUE' , $_POST['spath']);
+               define('__BURL_VALUE'  , $_POST['burl']);
+               define('__TITLE_VALUE' , $_POST['title']);
+               define('__SLOGAN_VALUE', $_POST['slogan']);
+               define('__EMAIL_VALUE' , $_POST['email']);
+
+               // Load template
+               LOAD_TEMPLATE("install_page2");
+               break;
+
+       case "5": // Misc settings
+               define('__SPATH_VALUE' , $_POST['spath']);
+               define('__BURL_VALUE'  , $_POST['burl']);
+               define('__TITLE_VALUE' , $_POST['title']);
+               define('__SLOGAN_VALUE', $_POST['slogan']);
+               define('__EMAIL_VALUE' , $_POST['email']);
+               OUTPUT_HTML ("<FORM action=\"".__BURL_ACTION."/install.php?page=finalize\" method=\"POST\" target=\"_self\">
+<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"install_content\">
+<TR>
+  <TD colspan=\"2\" align=\"center\">
+    <STRONG class=\"install\">".HEADER_TEXT_PAGE5."</STRONG>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD colspan=\"2\"><SPAN class=\"install_intro\">
+    ".TEXT_PAGE_5."
+  </SPAN></TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD class=\"install\" align=\"right\">".LANG_OUTPUT_MODE.":&nbsp;&nbsp;</TD>
+  <TD>
+    <SELECT name=\"omode\" size=\"1\" class=\"install_select\">
+      <OPTION value=\"render\"");
+               if (OUTPUT_MODE == "render") OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".MODE_RENDER."</OPTION>
+      <OPTION value=\"direct\"");
+               if (OUTPUT_MODE == "direct") OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".MODE_DIRECT."</OPTION>
+    </SELECT>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD class=\"install\" align=\"right\">".WARN_NO_PASSWORD.":&nbsp;&nbsp;</TD>
+  <TD>
+    <SELECT name=\"warn_no_pass\" size=\"1\" class=\"install_select\">
+      <OPTION value=\"true\"");
+               if (warn_no_pass) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".YES."</OPTION>
+      <OPTION value=\"false\"");
+               if (!warn_no_pass) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".NO."</OPTION>
+    </SELECT>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD class=\"install\" align=\"right\">".LANG_WRITE_FOOTER.":&nbsp;&nbsp;</TD>
+  <TD>
+    <SELECT name=\"wfooter\" size=\"1\" class=\"install_select\">
+      <OPTION value=\"true\"");
+               if (WRITE_FOOTER) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".YES."</OPTION>
+      <OPTION value=\"false\"");
+               if (!WRITE_FOOTER) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".NO."</OPTION>
+    </SELECT>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD class=\"install\" align=\"right\">".LANG_FRAMESET_ACTIVE.":&nbsp;&nbsp;</TD>
+  <TD>
+    <SELECT name=\"frameset\" size=\"1\" class=\"install_select\">
+      <OPTION value=\"true\"");
+               if (frameset_active) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".YES."</OPTION>
+      <OPTION value=\"false\"");
+               if (!frameset_active) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".NO."</OPTION>
+    </SELECT>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD class=\"install\" align=\"right\">".INSTALL_ENABLE_BACKLINK.":&nbsp;&nbsp;</TD>
+  <TD>
+    <SELECT name=\"blink\" size=\"1\" class=\"install_select\">
+      <OPTION value=\"true\"");
+               if (ENABLE_BACKLINK) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".YES."</OPTION>
+      <OPTION value=\"false\"");
+               if (!ENABLE_BACKLINK) OUTPUT_HTML (" selected=\"selected\"");
+               OUTPUT_HTML (">".NO."</OPTION>
+    </SELECT>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD colspan=\"2\" align=\"center\">");
+               foreach ($mysql as $key=>$value)
+               {
+                       OUTPUT_HTML ("    <INPUT type=\"hidden\" name=\"mysql[".$key."]\" value=\"".$value."\">");
+               }
+               OUTPUT_HTML ("    <INPUT type=\"hidden\" name=\"spath\" value=\"".__SPATH_VALUE."\">
+    <INPUT type=\"hidden\" name=\"burl\" value=\"".__BURL_VALUE."\">
+    <INPUT type=\"hidden\" name=\"title\" value=\"".__TITLE_VALUE."\">
+    <INPUT type=\"hidden\" name=\"slogan\" value=\"".__SLOGAN_VALUE."\">
+    <INPUT type=\"hidden\" name=\"email\" value=\"".__EMAIL_VALUE."\">
+    <INPUT type=\"submit\" class=\"admin_submit submit\" name=\"finalize\" value=\"".NEXT_PAGE."\" class=\"install_submit\">
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+</TABLE>
+</FORM>");
+               break;
+
+       case "finalize": // Write captured data to files
+               if (!empty($_POST['finalize']))
+               {
+                       // You have submitted data then we have to reset the fatal messages
+                       $FATAL = array();
+
+                       // Connect to MySQL server
+                       $link = SQL_CONNECT($mysql['host'], $mysql['login'], $mysql['pass1'], __FILE__, __LINE__);
+                       if ($link)
+                       {
+                               // Seems to work, also right database?
+                               $db = SQL_SELECT_DB($mysql['dbase'], $link, __FILE__, __LINE__);
+                               if ($db)
+                               {
+                                       // Automatically run install.sql
+                                       if (file_exists($_POST['spath']."install/tables.sql"))
+                                       {
+                                               $ERRORS = $_POST['spath']."inc/sql.err";
+                                               $cmd = array(
+                                                       // "Dump" tha' s*** up... ;-) > /dev/null
+                                                       "mysql ".$mysql['dbase']." --force --host=".$mysql['host']." --user=".$mysql['login']." --password=".$mysql['pass1']." < ".$_POST['spath']."install/tables.sql",
+                                                       "mysql ".$mysql['dbase']." --force --host=".$mysql['host']." --user=".$mysql['login']." --password=".$mysql['pass1']." < ".$_POST['spath']."install/menu-".GET_LANGUAGE().".sql"
+                                               );
+
+                                               foreach ($cmd as $c)
+                                               {
+                                                       @system($c);
+                                               }
+
+                                               if ((file_exists($ERRORS)) && (filesize($ERRORS) > 0))
+                                               {
+                                                       ADD_FATAL(MYSQLDUMP_ERROR);
+                                               }
+                                                elseif (!mxchange_installed)
+                                               {
+                                                       // Remove error file if empty
+                                                       if (file_exists($ERRORS)) @unlink ($ERRORS);
+
+                                                       // Ok, all done. So we can write the config data to the php files
+                                                       if ($_POST['spath'] != PATH) install_WriteData($_POST['spath']."inc/config.php", "SERVER-PATH", "define ('PATH', \"", "\");", $_POST['spath'], 0);
+                                                       if ($_POST['burl']  != URL)  install_WriteData($_POST['spath']."inc/config.php", "HOST-URL", "define ('URL', \"", "\");", $_POST['burl'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MAIN_TITLE", "define ('MAIN_TITLE', \"", "\");", $_POST['title'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "SLOGAN", "define ('SLOGAN', \"", "\");", $_POST['slogan'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "WEBMASTER", "define ('WEBMASTER', \"", "\");", $_POST['email'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "NULLPASS-WARNING", "define ('warn_no_pass', ", ");", $_POST['warn_no_pass'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "WRITE-FOOTER", "define ('WRITE_FOOTER', ", ");", $_POST['wfooter'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "BACKLINK", "define ('ENABLED_BACKLINK', ", ");", $_POST['blink'], 0);
+                                                       // install_WriteData($_POST['spath']."inc/config.php", "FRAMESET", "define ('frameset_active', ", ");", $_POST['frameset'], 0);
+                                                       // install_WriteData($_POST['spath']."inc/config.php", "OUTPUT-MODE", "define ('OUTPUT_MODE', \"", "\");", $_POST['omode'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-HOST", "     'host'     => \"", "\",", $mysql['host'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-DBASE", "    'dbase'    => \"", "\",", $mysql['dbase'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-LOGIN", "    'login'    => \"", "\",", $mysql['login'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-PASSWORD", " 'password' => \"", "\",", $mysql['pass1'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "MYSQL-PREFIX", "define ('_MYSQL_PREFIX', \"", "\");", $mysql['prefix'], 0);
+                                                       install_WriteData($_POST['spath']."inc/config.php", "INSTALLED", "define ('mxchange_installed', ", ");", "true", 0);
+
+                                                       // Close the link
+                                                       SQL_CLOSE($link, __FILE__, __LINE__);
+                                               }
+                                                else
+                                               {
+                                                       ADD_FATAL(INSTALL_MAYBE_DONE);
+                                               }
+                                       }
+                                        else
+                                       {
+                                               // Installation area not found!
+                                               ADD_FATAL(INSTALL_MISSING_DUMPS);
+                                       }
+                               }
+                       }
+                       if ((sizeof($FATAL) > 0) || ($FATAL[0] != ""))
+                       {
+                               $OUT = "";
+                               foreach ($FATAL as $value)
+                               {
+                                       $OUT .= "    <LI>".$value."</LI>\n";
+                               }
+                               define('__FATAL_ERROR_LI', $OUT);
+                               $OUT = "";
+                               foreach ($mysql as $key=>$value)
+                               {
+                                       $OUT .= "    <INPUT type=\"hidden\" name=\"mysql[".$key."]\" value=\"".$value."\">\n";
+                               }
+                               define('__MYSQL_DATA' , $OUT);
+                               define('__SPATH_VALUE', $_POST['spath']);
+                               define('__BURL_VALUE' , $_POST['burl']);
+                               define('__TITLE_VALUE', $_POST['title']);
+
+                               OUTPUT_HTML ("<FORM action=\"".__BURL_ACTION."/install.php?page=2\" method=\"POST\">
+<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"install_content\">
+<TR>
+  <TD align=\"center\">
+    <STRONG class=\"install\">".HEADER_MYSQL_ERRORS."</STRONG>
+  </TD>
+</TR>
+<TR><TD colspan=\"2\" height=\"21\" class=\"seperator\">&nbsp;</TD></TR>
+<TR>
+  <TD><SPAN class=\"install_intro\">
+    ".TEXT_MYSQL_ERRORS."
+  </SPAN></TD>
+</TR>
+<TR>
+  <TD align=\"center\"><STRONG>
+    <OL>
+".__FATAL_ERROR_LI."
+    </OL>
+".__MYSQL_DATA."
+    <INPUT type=\"hidden\" name=\"spath\" value=\"".__SPATH_VALUE."\">
+    <INPUT type=\"hidden\" name=\"burl\" value=\"".__BURL_VALUE."\">
+    <INPUT type=\"hidden\" name=\"title\" value=\"".__TITLE_VALUE."\">
+    <INPUT type=\"submit\" class=\"admin_submit\" name=\"ok\" value=\"".RETURN_MYSQL_PAGE."\">
+  </STRONG></TD>
+</TR>
+</TABLE>
+</FORM>");
+                       }
+                        else
+                       {
+                               // Installation is done!
+                               $URL = $burl."/install.php?page=finalize";
+                               LOAD_URL($URL);
+                       }
+               }
+                elseif (mxchange_installed)
+               {
+                       // Redirection after writing data... :-)
+                       OUTPUT_HTML ("<SPAN class=\"install_finished\">".INSTALL_FINISHED."</SPAN><BR>
+<BR>
+<SPAN class=\"install_security\">".INSTALL_FIN_SECU."</SPAN><BR>
+<BR>
+<FORM action=\"modules.php\" method=\"GET\">
+  <INPUT type=\"hidden\" name=\"module\" value=\"admin\">
+  <INPUT type=\"submit\" class=\"admin_submit submit\" value=\"".CONTINUE_ADMIN."\" class=\"install_submit\">
+</FORM>");
+               }
+                else
+               {
+                       // Something goes wrong during installation! :-(
+                       ADD_FATAL(INSTALL_FINALIZER_FAILED);
+                       include ("inc/fatal_errors.php");
+               }
+               break;
+
+       default:
+               OUTPUT_HTML ("    <STRONG class=\"install_error\">".WRONG_PAGE."</STRONG>");
+               break;
+       }
+}
+ else
+{
+       ADD_FATAL(ALREADY_INSTALLED);
+}
+//
+?>