READ: ".$file."
");
if (is_resource($fp)) {
$fp_tmp = @fopen($tmp, 'w') or OUTPUT_HTML("WRITE: ".$tmp."
");
if (is_resource($fp_tmp)) {
while (!feof($fp)) {
$line = fgets ($fp, 10240);
//* DEBUG: */ echo $search."/".htmlentities($line)."
\n";
$found = strpos($line, $search);
//* DEBUG: */ echo "FOUND: ";
//* DEBUG: */ var_dump($found);
//* DEBUG: */ echo "
\n";
if ($found !== false) $next = 0;
if ($next > -1) {
if ($next == $sneak) {
$next = -1;
$line = $prefix.$DATA.$suffix."\n";
//* DEBUG: */ echo "NEW: ".htmlentities($line)."
\n";
} else {
$next++;
}
} // END - if
//* DEBUG: */ echo "WRITE: ".htmlentities($line)."
\n";
fputs($fp_tmp, $line);
} // END - while
fclose($fp_tmp);
// Finished writing tmp file
$done = true;
} // END - if
// Close source directory
fclose($fp);
if (($done) && (is_writeable($file))) {
// Copy back tmp file and delete tmp :-)
@copy($tmp, $file);
@unlink($tmp);
} else {
OUTPUT_HTML("TMP: UNDONE!");
}
} // END - if
} 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 (empty($burl)) {
// Auto-detect URL
$burl = "http://".$SERVER_NAME.$_SERVER['PHP_SELF'];
$burl = substr($burl, 0, strpos($burl, "install.php"));
}
// Check if both passwords from SMTP are matching
if ((isset($_GET['page']) && ($_GET['page'] == 5))) {
// Okay, we have to check it
if (!empty($_POST['smtp_user']) && (empty($_POST['smtp_host']))) {
// Hostname not set
OUTPUT_HTML(INSTALL_SMTP_HOSTNAME_EMPTY."
");
$_GET['page'] = 3;
} // END - if
if ((empty($_POST['smtp_pass1'])) && (!empty($_POST['smtp_pass2']))) {
// Password is empty
OUTPUT_HTML(INSTALL_SMTP_PASS1_EMPTY."
");
$_GET['page'] = 3;
} // END - if
if ((!empty($_POST['smtp_pass1'])) && (empty($_POST['smtp_pass2']))) {
// Password repeat is empty
OUTPUT_HTML(INSTALL_SMTP_PASS2_EMPTY."
");
$_GET['page'] = 3;
} // END - if
if ($_POST['smtp_pass1'] != $_POST['smtp_pass1']) {
// Passwords are not matching
OUTPUT_HTML(INSTALL_SMTP_PASS_MISMATCH."
");
$_GET['page'] = 3;
} // END - if
} // END - if
// Is MXChange installed or no admin registered so far?
if ((!isBooleanConstantAndTrue('mxchange_installed')) || (!isBooleanConstantAndTrue('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."
");
}
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 "3":
// Set more values
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']);
// Use default SMTP data
$smtpHost = SMTP_HOSTNAME;
$smtpUser = SMTP_USER;
$smtpPass1 = SMTP_PASSWORD;
$smtpPass2 = SMTP_PASSWORD;
// Overwrite it with the data from sent (failed) form
if (!empty($_POST['smtp_host'])) $smtpHost = $_POST['smtp_host'];
if (!empty($_POST['smtp_user'])) $smtpUser = $_POST['smtp_user'];
// MySQL settings
define('__MYSQL_HOST' , $mysql['host']);
define('__MYSQL_DBASE' , $mysql['dbase']);
define('__MYSQL_PREFIX' , $mysql['prefix']);
define('__MYSQL_LOGIN' , $mysql['login']);
define('__MYSQL_PASS1' , $mysql['pass1']);
define('__MYSQL_PASS2' , $mysql['pass2']);
// Set constants for SMTP data
define('__SMTP_HOST' , $smtpHost);
define('__SMTP_USER' , $smtpUser);
define('__SMTP_PASS1' , $smtpPass1);
define('__SMTP_PASS2' , $smtpPass2);
// Load template
LOAD_TEMPLATE("install_page3");
break;
case "5": // Misc settings
// General 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']);
// MySQL settings
define('__MYSQL_HOST' , $mysql['host']);
define('__MYSQL_DBASE' , $mysql['dbase']);
define('__MYSQL_PREFIX' , $mysql['prefix']);
define('__MYSQL_LOGIN' , $mysql['login']);
// SMTP settings
define('__SMTP_HOST' , $_POST['smtp_host']);
define('__SMTP_USER' , $_POST['smtp_user']);
define('__SMTP_PASS' , $_POST['smtp_pass1']);
OUTPUT_HTML("