X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ffunctions.php;h=8b416e865c721fa80ad535632a30afbe752e7a18;hp=8875dc134d41276bbe3eadd43b56c92eea7db455;hb=0369c36aaab5af6ed44da1e13a53baef285f79b4;hpb=c45b1827a16928c65ecc1aea6a9d7a504c4874d4 diff --git a/inc/functions.php b/inc/functions.php index 8875dc134d..8b416e865c 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -53,6 +53,7 @@ function is_INCWritable($inc) { // Open a table (you may want to add some header stuff here) function OPEN_TABLE($PERCENT = "", $CLASS = "", $ALIGN="left", $VALIGN="", $td_only=false) { global $table_cnt; + // Count tables so we can generate CSS classes for every table... :-) if (empty($CLASS)) { // Class is empty so count one up and create a class @@ -198,6 +199,9 @@ function LOAD_TEMPLATE($template, $return=false, $content="") { // Add more variables which you want to use in your template files global $DATA, $_CONFIG, $username; + // Make all template names lowercase + $template = strtolower($template); + // Count the template load if (!isset($_CONFIG['num_templates'])) $_CONFIG['num_templates'] = 0; $_CONFIG['num_templates']++; @@ -269,20 +273,20 @@ function LOAD_TEMPLATE($template, $return=false, $content="") { ); // Probe for it... - if (file_exists($file2)) $file = $file2; + if (FILE_READABLE($file2)) $file = $file2; // Remove variable from memory unset($file2); } // Does the special template exists? - if ((!file_exists($file)) || (!is_readable($file))) { + if (!FILE_READABLE($file)) { // Reset to default template $file = $BASE.$template.".tpl"; - } + } // END - if // Now does the final template exists? - if ((file_exists($file)) && (is_readable($file))) { + if (FILE_READABLE($file)) { // The local file does exists so we load it. :) $tmpl_file = implode("", file($file)); @@ -338,7 +342,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML='N', $FROM="") { $SUBJECT = html_entity_decode($SUBJECT); // Set from header - if (!eregi("@", $TO)) { + if ((!eregi("@", $TO)) && ($TO > 0)) { // Value detected, load email from database if (EXT_IS_ACTIVE("msg")) { ADD_MESSAGE_TO_BOX($TO, $SUBJECT, $MSG, $HTML); @@ -348,6 +352,9 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML='N', $FROM="") { list($TO) = SQL_FETCHROW($result_email); SQL_FREERESULT($result_email); } + } elseif ($TO == 0) { + // Is the webmaster! + $TO = WEBMASTER; } // Not in PHPMailer-Mode @@ -550,7 +557,7 @@ function TRANSLATE_COMMA ($dotted, $cut=true) { // function DEREFERER ($URL) { - $URL = URL."/modules.php?module=loader&url=".urlencode(base64_encode(gzcompress(COMPILE_CODE($URL)))); + $URL = URL."/modules.php?module=loader&url=".urlencode(base64_encode(gzcompress($URL))); return $URL; } @@ -590,7 +597,7 @@ function FRAMETESTER($URL) { } // function SELECTION_COUNT($array) { - $ret = "0"; + $ret = 0; if (is_array($array)) { foreach ($array as $key => $sel) { if (!empty($sel)) $ret++; @@ -640,7 +647,7 @@ function GET_LANGUAGE() { // Check GET variable and cookie if (!empty($lang)) { // Check if main language file does exist - if (file_exists(PATH."inc/language/".$lang.".php")) { + if (FILE_READABLE(PATH."inc/language/".$lang.".php")) { // Okay found, so let's update cookies SET_LANGUAGE($lang); } @@ -667,6 +674,9 @@ function SET_LANGUAGE($lang) { function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") { global $DATA, $_CONFIG, $REPLACER; + // Make sure all template names are lowercase! + $template = strtolower($template); + // Keept for backward-compatiblity (please replace these variables against our new {--CONST--} syntax!) $MAIN_TITLE = MAIN_TITLE; $URL = URL; $WEBMASTER = WEBMASTER; $surname = ""; $family = ""; $nick = ""; $sex = "N"; @@ -709,7 +719,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") { $DATA[10] = $UID; // Replace variables - foreach ($REPLACER as $key=>$value) + foreach ($REPLACER as $key => $value) { if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content); } @@ -759,7 +769,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") { $MAILID = $DATA[11]; // Replace variables - foreach ($REPLACER as $key=>$value) + foreach ($REPLACER as $key => $value) { if (isset($DATA[$key])) $content = str_replace($value, $DATA[$key], $content); } @@ -844,44 +854,48 @@ function LOAD_EMAIL_TEMPLATE($template, $content="", $UID="0") { } // Does the special template exists? - if ((!@file_exists($file)) || (!is_readable($file))) { + if (!FILE_READABLE($file)) { // Reset to default template $file = $BASE.$template.".tpl"; } // END - if // Now does the final template exists? - if ((@file_exists($file)) && (is_readable($file))) { + $newContent = ""; + if (FILE_READABLE($file)) { // The local file does exists so we load it. :) $tmpl_file = @implode("", @file($file)); $tmpl_file = addslashes($tmpl_file); - // Compile code - $tmpl_file = COMPILE_CODE($tmpl_file); - // Run code - $tmpl_file = "\$content=\"".$tmpl_file."\";"; + $tmpl_file = "\$newContent=\"".COMPILE_CODE($tmpl_file)."\";"; eval($tmpl_file); - // Replace HTML confirm chars - $content = html_entity_decode($content); + // Replace HTML conform chars + $newContent = html_entity_decode($newContent); } elseif (!empty($template)) { // Template file not found! - $content = TEMPLATE_404.": ".$template."
+ $newContent = TEMPLATE_404.": ".$template."
".TEMPLATE_CONTENT." -
".print_r($content, true)."
+
".print_r($newContent, true)."
".TEMPLATE_DATA."
".print_r($DATA, true)."


"; // Debug mode not active? Then remove the HTML tags - if (!DEBUG_MODE) $content = strip_tags($content); + if (!DEBUG_MODE) $newContent = strip_tags($newContent); } else { // No template name supplied! - $content = NO_TEMPLATE_SUPPLIED; + $newContent = NO_TEMPLATE_SUPPLIED; } + // Is there some content? + if (empty($newContent)) { + // Compiling failed + $newContent = "Compiler error for template {$template}!"; + } // END - if + // Return compiled content - return COMPILE_CODE($content); + return COMPILE_CODE($newContent); } // function MAKE_TIME($H, $M, $S, $stamp) { @@ -895,7 +909,7 @@ function MAKE_TIME($H, $M, $S, $stamp) { } // function LOAD_URL($URL, $addUrlData=true) { - global $CSS, $_CONFIG, $link, $db, $footer; + global $CSS, $_CONFIG, $footer; // Check if http(s):// is there if ((substr($URL, 0, 7) != "http://") && (substr($URL, 0, 8) != "https://")) { @@ -973,20 +987,21 @@ function COMPILE_CODE($code, $simple = false, $constants = true, $full = true) { if ((count($matches) > 0) && (count($matches[0]) > 0)) { // Replace all matches $matchesFound = array(); - foreach ($matches[0] as $key=>$match) { + foreach ($matches[0] as $key => $match) { // Avoid replacing matches multiple times if (!isset($matchesFound[$match])) { // Not yet replaced! $code = str_replace($match, "\".".$match.".\"", $code); $matchesFound[$match] = 1; - } + } // END - if // Take all string elements if (("".bigintval($matches[4][$key])."" != $matches[4][$key]) && (!isset($matchesFound[$key."_".$matches[4][$key]]))) { // Replace it in the code - $code = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $code); + $newMatch = str_replace("[".$matches[4][$key]."]", "['".$matches[4][$key]."']", $match); + $code = str_replace($match, $newMatch, $code); $matchesFound[$key."_".$matches[4][$key]] = 1; - } + } // END - if } } @@ -1015,9 +1030,9 @@ function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums = $dummy = $array; while ($primary_key < count($a_sort)) { - foreach ($dummy[$a_sort[$primary_key]] as $key=>$value) + foreach ($dummy[$a_sort[$primary_key]] as $key => $value) { - foreach ($dummy[$a_sort[$primary_key]] as $key2=>$value2) + foreach ($dummy[$a_sort[$primary_key]] as $key2 => $value2) { $match = false; if (!$nums) @@ -1034,7 +1049,7 @@ function array_pk_sort(&$array, $a_sort, $primary_key = 0, $order = -1, $nums = if ($match) { // We have found two different values, so let's sort whole array - foreach ($dummy as $sort_key=>$sort_val) + foreach ($dummy as $sort_key => $sort_val) { $t = $dummy[$sort_key][$key]; $dummy[$sort_key][$key] = $dummy[$sort_key][$key2]; @@ -1075,16 +1090,16 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") case "day": // Day for ($idx = 1; $idx < 32; $idx++) { - $OUT .= " \n"; + $OUT .= "\n"; } } else { // Get current year and subtract 16 (for erotic content) - $OUT .= " \n"; + $OUT .= "\n"; $YEAR = date('Y', time()) - 16; for ($idx = 1930; $idx <= $YEAR; $idx++) { - $OUT .= "