X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ffunctions.php;h=1c22981c1c5c3fc3b1ce41c0b1e57ba86ea88597;hb=3c2f106c02f6d86a90f529a0564abcbbe716fe71;hp=3a8bf9c0fd2ba9fea5fbcb95a8ca53ff19e67ecf;hpb=811c2a74188a97591fb05ed1dd3d1929b8bc23aa;p=mailer.git
diff --git a/inc/functions.php b/inc/functions.php
index 3a8bf9c0fd..1c22981c1c 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -131,11 +131,10 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
$OUTPUT = ob_get_contents();
// Clear output buffer for later output
- die();
ob_end_clean();
// Extension "rewrite" installed?
- if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
@@ -158,7 +157,7 @@ function OUTPUT_HTML($HTML, $NEW_LINE = true) {
OUTPUT_RAW($OUTPUT);
} elseif ((OUTPUT_MODE == "render") && (!empty($OUTPUT))) {
// Rewrite links when rewrite extension is active
- if ((EXT_IS_ACTIVE("rewrite", true)) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
+ if ((EXT_IS_ACTIVE("rewrite")) && (function_exists('REWRITE_LINKS')) && ($CSS != "1") && ($CSS != "-1")) {
$OUTPUT = REWRITE_LINKS($OUTPUT);
} // END - if
@@ -237,7 +236,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
// Free result
SQL_FREERESULT($result);
- }
+ } // END - if
// Generate date/time string
$date_time = MAKE_DATETIME(time(), "1");
@@ -352,7 +351,7 @@ function LOAD_TEMPLATE($template, $return=false, $content=array()) {
// Send mail out to an email address
function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
- //* DEBUG: */ echo __FUNCTION__.":TO={$TO},SUBJECT={$SUBJECT}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO},SUBJECT={$SUBJECT}
\n";
// Compile subject line (for POINTS constant etc.)
$eval = "\$SUBJECT = html_entity_decode(\"".COMPILE_CODE(addslashes($SUBJECT))."\");";
@@ -367,7 +366,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
} else {
// Load email address
$result_email = SQL_QUERY_ESC("SELECT email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1", array(bigintval($TO)), __FILE__, __LINE__);
- //* DEBUG: */ echo __FUNCTION__.":numRows=".SQL_NUMROWS($result_email)."
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)."
\n";
// Does the user exist?
if (SQL_NUMROWS($result_email)) {
@@ -385,7 +384,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") {
// Is the webmaster!
$TO = WEBMASTER;
}
- //* DEBUG: */ echo __FUNCTION__.":TO={$TO}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO}
\n";
// Check for PHPMailer or debug-mode
if (!CHECK_PHPMAILER_USAGE()) {
@@ -421,7 +420,10 @@ To : ".$TO."
Subject : ".$SUBJECT."
Message : ".$MSG."
\n";
- } elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail", true))) {
+
+ // Log the mail away
+ if (defined('DEBUG_MAIL')) DEBUG_LOG(__FUNCTION__.":to={$TO},subject={$SUBJECT},msg={$MSG}");
+ } elseif (($HTML == "Y") && (EXT_IS_ACTIVE("html_mail"))) {
// Send mail as HTML away
SEND_HTML_EMAIL($TO, $SUBJECT, $MSG, $FROM);
} elseif (!empty($TO)) {
@@ -560,8 +562,8 @@ function TRANSLATE_COMMA ($dotted, $cut=true) {
if (count($com) > 1) {
// Commata found, so only zeros?
if ($com[1] == str_repeat("0", strlen($com[1]))) {
- // Only zeros, so don't display them
- $maxComma = 0;
+ // Only zeros, so display only one
+ $maxComma = 1;
} // END - if
} else {
// Don't display commatas even if there are none... ;-)
@@ -643,6 +645,11 @@ function TRANSLATE_STATUS($status) {
$ret = ACCOUNT_LOCKED;
break;
+ case "":
+ case null:
+ $ret = ACCOUNT_DELETED;
+ break;
+
default:
$ret = UNKNOWN_STATUS_1.$status.UNKNOWN_STATUS_2;
break;
@@ -736,27 +743,27 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") {
} // END - if
// Load user's data
- //* DEBUG: */ echo __FUNCTION__.":UID={$UID},template={$template}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):UID={$UID},template={$template}
\n";
if ($UID > 0) {
if (EXT_IS_ACTIVE("nickname")) {
- //* DEBUG: */ echo __FUNCTION__.":NICKNAME!
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):NICKNAME!
\n";
// Load nickname
$result = SQL_QUERY_ESC("SELECT surname, family, gender, email, nickname FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
array(bigintval($UID)), __FILE__, __LINE__);
} else {
- //* DEBUG: */ echo __FUNCTION__.":NO-NICK!
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):NO-NICK!
\n";
/// Load normal data
$result = SQL_QUERY_ESC("SELECT surname, family, gender, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
array(bigintval($UID)), __FILE__, __LINE__);
}
// Is content an array?
- //* DEBUG: */ echo __FUNCTION__.":content[]=".gettype($content)."
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):content[]=".gettype($content)."
\n";
if (is_array($content)) {
// Fetch and migrate data
- //* DEBUG: */ echo __FUNCTION__.":content()=".count($content)." - PRE
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):content()=".count($content)." - PRE
\n";
$content = array_merge($content, SQL_FETCHARRAY($result));
- //* DEBUG: */ echo __FUNCTION__.":content()=".count($content)." - AFTER
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):content()=".count($content)." - AFTER
\n";
} // END - if
// Free result
@@ -899,6 +906,15 @@ function LOAD_URL($URL, $addUrlData=true) {
//
function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
global $SEC_CHARS, $URL_CHARS;
+ // Is the code a string?
+ if (!is_string($code)) {
+ // Abort here with backtrace
+ DEBUG_LOG(__FUNCTION__.": code is not string!");
+ print "
";
+ debug_print_backtrace();
+ die("
");
+ } // END - if
+
$ARRAY = $SEC_CHARS;
// Select smaller set of chars to replace when we e.g. want to compile URLs
@@ -941,10 +957,10 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
$test = substr($found, 0, strlen($match));
// Does this entry exist?
- //* DEBUG: */ echo __FUNCTION__.":found={$found},match={$match},set={$set}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):found={$found},match={$match},set={$set}
\n";
if ($test == $match) {
// Match found!
- //* DEBUG: */ echo __FUNCTION__.":fuzzyFound!
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):fuzzyFound!
\n";
$fuzzyFound = true;
break;
} // END - if
@@ -956,14 +972,14 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) {
// Take all string elements
if ((is_string($matches[4][$key])) && (!isset($matchesFound[$match])) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) {
// Replace it in the code
- //* DEBUG: */ echo __FUNCTION__.":key={$key},match={$match}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):key={$key},match={$match}
\n";
$newMatch = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $match);
$code = str_replace($match, "\".".$newMatch.".\"", $code);
$matchesFound[$key."_".$matches[4][$key]] = 1;
$matchesFound[$match] = 1;
} elseif (!isset($matchesFound[$match])) {
// Not yet replaced!
- //* DEBUG: */ echo __FUNCTION__.":match={$match}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):match={$match}
\n";
$code = str_replace($match, "\".".$match.".\"", $code);
$matchesFound[$match] = 1;
}
@@ -1637,7 +1653,7 @@ function EXTRACT_HOST (&$script) {
if (ereg("/", $host)) $host = substr($host, 0, strpos($host, "/"));
// Generate relative URL
- //* DEBUG */ print("SCRIPT=".$script."
\n");
+ //* DEBUG: */ print("SCRIPT=".$script."
\n");
if (substr(strtolower($script), 0, 7) == "http://") {
// But only if http:// is in front!
$script = substr($script, (strlen($url) + 7));
@@ -1646,7 +1662,7 @@ function EXTRACT_HOST (&$script) {
$script = substr($script, (strlen($url) + 8));
}
- //* DEBUG */ print("SCRIPT=".$script."
\n");
+ //* DEBUG: */ print("SCRIPT=".$script."
\n");
if (substr($script, 0, 1) == "/") $script = substr($script, 1);
// Return host name
@@ -1729,7 +1745,7 @@ function SEND_RAW_REQUEST ($host, $request) {
} // END - if
// Open connection
- //* DEBUG */ die("SCRIPT=".$script."
\n");
+ //* DEBUG: */ die("SCRIPT=".$script."
\n");
if ($useProxy) {
$fp = @fsockopen(COMPILE_CODE($_CONFIG['proxy_host']), $_CONFIG['proxy_port'], $errno, $errdesc, 30);
} else {
@@ -1909,7 +1925,7 @@ function CREATE_EMAIL_LINK($email, $table="admins") {
if ((EXT_IS_ACTIVE("admins")) && ($table == "admins")) {
// Create email link for contacting admin in guest area
$EMAIL = ADMINS_CREATE_EMAIL_LINK($email);
- } elseif ((EXT_IS_ACTIVE("user", true)) && (GET_EXT_VERSION("user") >= "0.3.3") && ($table == "user_data")) {
+ } elseif ((EXT_IS_ACTIVE("user")) && (GET_EXT_VERSION("user") >= "0.3.3") && ($table == "user_data")) {
// Create email link for contacting a member within admin area (or later in other areas, too?)
$EMAIL = USER_CREATE_EMAIL_LINK($email);
} elseif ((EXT_IS_ACTIVE("sponsor")) && ($table == "sponsor_data")) {
@@ -1928,7 +1944,7 @@ function generateHash ($plainText, $salt = "") {
global $_CONFIG, $_SERVER;
// Is the required extension "sql_patches" there and a salt is not given?
- if (((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (GET_EXT_VERSION("sql_patches") == "")) && (empty($salt))) {
+ if (((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (!EXT_IS_ACTIVE("sql_patches"))) && (empty($salt))) {
// Extension sql_patches is missing/outdated so we return the plain text
return $plainText;
} // END - if
@@ -1942,7 +1958,7 @@ function generateHash ($plainText, $salt = "") {
} // END - if
// When the salt is empty build a new one, else use the first x configured characters as the salt
- if ($salt == "") {
+ if (empty($salt)) {
// Build server string
$server = $_SERVER['PHP_SELF'].":".getenv('HTTP_USER_AGENT').":".getenv('SERVER_SOFTWARE').":".getenv('REMOTE_ADDR').":".":".filemtime(PATH."inc/databases.php");
@@ -2234,11 +2250,11 @@ function isBooleanConstantAndTrue($constName) { // : Boolean
// In cache?
if (isset($constCache[$constName])) {
// Use cache
- //* DEBUG: */ echo __FUNCTION__.": ".$constName."-CACHE!
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."): ".$constName."-CACHE!
\n";
$res = $constCache[$constName];
} else {
// Check constant
- //* DEBUG: */ echo __FUNCTION__.": ".$constName."-RESOLVE!
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."): ".$constName."-RESOLVE!
\n";
if (defined($constName)) $res = (constant($constName) === true);
// Set cache
@@ -2252,7 +2268,7 @@ function isBooleanConstantAndTrue($constName) { // : Boolean
// Check wether a session variable is set
function isSessionVariableSet($var) {
- //* DEBUG: */ echo __FUNCTION__.":var={$var}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):var={$var}
\n";
return (isset($_SESSION[$var]));
}
// Returns wether the value of the session variable or NULL if not set
@@ -2315,7 +2331,7 @@ function DEBUG_LOG ($message, $force=false) {
if ((isBooleanConstantAndTrue('DEBUG_MODE')) || ($force)) {
// Log this message away
$fp = fopen(PATH."inc/cache/debug.log", 'a') or mxchange_die("Cannot write logfile debug.log!");
- fwrite($fp, date("d.m.Y|H:i:s", time())."|{$message}\n");
+ fwrite($fp, date("d.m.Y|H:i:s", time())."|".strip_tags($message)."\n");
fclose($fp);
} // END - if
}
@@ -2333,8 +2349,8 @@ function GET_DIR_AS_ARRAY ($baseDir, $prefix) {
$file = $baseDir.$baseFile;
// Is this a valid reset file?
- //* DEBUG: */ echo __FUNCTION__.":baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}
\n";
- if ((is_file($file)) && (is_readable($file)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) {
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):baseDir={$baseDir},prefix={$prefix},baseFile={$baseFile}
\n";
+ if ((FILE_READABLE($file)) && (substr($baseFile, 0, strlen($prefix)) == $prefix) && (substr($baseFile, -4, 4) == ".php")) {
// Remove both for extension name
$extName = substr($baseFile, strlen($prefix), -4);
@@ -2499,7 +2515,7 @@ function HANDLE_LOGIN_FAILTURES ($accessLevel) {
// Ignore zero values
if (get_session('mxchange_'.$accessLevel.'_failtures') > 0) {
// Non-guest has login failtures found, get both data and prepare it for template
- //* DEBUG: */ echo __FUNCTION__.":accessLevel={$accessLevel}
\n";
+ //* DEBUG: */ print __FUNCTION__."(".__LINE__."):accessLevel={$accessLevel}
\n";
$content = array(
'login_failtures' => get_session('mxchange_'.$accessLevel.'_failtures'),
'last_failture' => MAKE_DATETIME(get_session('mxchange_'.$accessLevel.'_last_fail'), "2")
@@ -2530,8 +2546,17 @@ function REBUILD_CACHE ($cache, $inc="") {
// Include file given?
if (!empty($inc)) {
- // And rebuild it from scratch
- require_once(PATH."inc/loader/load_cache-".$inc.".php");
+ // Construct FQFN
+ $fqfn = sprintf("%sinc/loader/load_cache-%s.php", PATH, $inc);
+
+ // Is the include there?
+ if (FILE_READABLE($fqfn)) {
+ // And rebuild it from scratch
+ require_once($fqfn);
+ } else {
+ // Include not found!
+ DEBUG_LOG(__FUNCTION__.":Include {$inc} not found. cache={$cache}");
+ }
} // END - if
} // END - if
} // END - if