X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Finstall-inc.php;h=5768d4807b22dc8bc1490d9b2e3e492afa492102;hb=3a9723e159b1d9621c8a62927c9b911d6b484286;hp=7dc72adbffda6d877c42e2d5b42dab63ca36c457;hpb=75ad748a68473ace540251427a74fb781b1145e9;p=mailer.git
diff --git a/inc/install-inc.php b/inc/install-inc.php
index 7dc72adbff..5768d4807b 100644
--- a/inc/install-inc.php
+++ b/inc/install-inc.php
@@ -1,6 +1,6 @@
READ: ".$FILE."
");
- if ($fp)
- {
- $fp_tmp = fopen($TMP, 'w') or OUTPUT_HTML ("WRITE: ".$TMP."
");
- if ($fp_tmp)
- {
- while (! feof($fp))
- {
+function install_WriteData ($file, $comment, $prefix, $suffix, $DATA, $sneak=0) {
+ // Initialize all and count up the "seak" value
+ $done = false;
+ $next = -1;
+ $sneak++;
+
+ if (FILE_READABLE($file)) {
+ $search = "CFG: ".$comment;
+ $tmp = $file.".tmp";
+ $fp = @fopen($file, 'r') or OUTPUT_HTML("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);
- if (strpos($line, $SEARCH) > -1) $next = 0;
- if ($next > -1)
- {
- if ($next == $SNEAK)
- {
+ //* 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";
- }
- else
- {
+ $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;
- }
+ $done = true;
+ } // END - if
+
+ // Close source directory
fclose($fp);
- if ($DONE)
- {
+
+ if (($done) && (is_writeable($file))) {
// Copy back tmp file and delete tmp :-)
- @copy($TMP, $FILE);
- @unlink($TMP);
+ @copy($tmp, $file);
+ @unlink($tmp);
+ } else {
+ OUTPUT_HTML("TMP: UNDONE!");
}
- else
- {
- OUTPUT_HTML ("TMP: UNDONE!");
- }
- }
- }
- else
- {
- OUTPUT_HTML ("404: ".$FILE."
");
+ } // END - if
+ } else {
+ OUTPUT_HTML("404: ".$file."
");
}
}
@@ -101,19 +101,42 @@ function install_WriteData ($FILE, $COMMENT, $PREFIX, $SUFFIX, $DATA, $SNEAK=0)
$mysql = "";
if (isset($_POST['mysql']) && is_array($_POST['mysql'])) $mysql = $_POST['mysql'];
-if (URL != "http://your-server.com")
-{
+if (URL != "http://your-server.com") {
// Already installed???
$burl = URL;
-}
- elseif ($burl == "")
-{
+} elseif (empty($burl)) {
// Auto-detect URL
$burl = "http://".$SERVER_NAME.$_SERVER['PHP_SELF'];
$burl = substr($burl, 0, strpos($burl, "install.php"));
}
-//
-if ((!mxchange_installed) || (!admin_registered))
+
+// 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);
@@ -141,14 +164,12 @@ if ((!mxchange_installed) || (!admin_registered))
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");
+ if ((sizeof($FATAL) > 0) || (!empty($FATAL[0]))) {
+ OUTPUT_HTML("");
+ foreach ($FATAL as $key => $err) {
+ OUTPUT_HTML(" · ".FATAL_NO.($key + 1).": ".$err."
");
}
- OUTPUT_HTML ("
");
+ OUTPUT_HTML("
");
}
define('__MYSQL_HOST' , $mysql['host']);
define('__MYSQL_DBASE' , $mysql['dbase']);
@@ -164,13 +185,61 @@ if ((!mxchange_installed) || (!admin_registered))
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
- 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 ("