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