READ: ".$FILE."
"); if ($fp) { $fp_tmp = fopen($TMP, 'w') or OUTPUT_HTML ("WRITE: ".$TMP."
"); 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 ("TMP: UNDONE!"); } } } else { OUTPUT_HTML ("404: ".$FILE."
"); } } // $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 (""); foreach ($FATAL as $key=>$err) { OUTPUT_HTML (" · ".FATAL_NO.($key + 1).": ".$err."
\n"); } OUTPUT_HTML ("

"); } 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 ("
".HEADER_TEXT_PAGE5."
 
".TEXT_PAGE_5."
 
".LANG_OUTPUT_MODE.":  
 
".WARN_NO_PASSWORD.":  
 
".LANG_WRITE_FOOTER.":  
 
".LANG_FRAMESET_ACTIVE.":  
 
".INSTALL_ENABLE_BACKLINK.":  
 
"); foreach ($mysql as $key=>$value) { OUTPUT_HTML (" "); } OUTPUT_HTML ("
 
"); 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 .= "
  • ".$value."
  • \n"; } define('__FATAL_ERROR_LI', $OUT); $OUT = ""; foreach ($mysql as $key=>$value) { $OUT .= " \n"; } define('__MYSQL_DATA' , $OUT); define('__SPATH_VALUE', $_POST['spath']); define('__BURL_VALUE' , $_POST['burl']); define('__TITLE_VALUE', $_POST['title']); OUTPUT_HTML ("
    ".HEADER_MYSQL_ERRORS."
     
    ".TEXT_MYSQL_ERRORS."
      ".__FATAL_ERROR_LI."
    ".__MYSQL_DATA."
    "); } else { // Installation is done! $URL = $burl."/install.php?page=finalize"; LOAD_URL($URL); } } elseif (mxchange_installed) { // Redirection after writing data... :-) OUTPUT_HTML ("".INSTALL_FINISHED."

    ".INSTALL_FIN_SECU."

    "); } else { // Something goes wrong during installation! :-( ADD_FATAL(INSTALL_FINALIZER_FAILED); include ("inc/fatal_errors.php"); } break; default: OUTPUT_HTML (" ".WRONG_PAGE.""); break; } } else { ADD_FATAL(ALREADY_INSTALLED); } // ?>