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 ("
");
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 ("");
}
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);
}
//
?>