X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Ffunctions.php;h=ffdcd76a16eeb7907da966e0e3668550578750cd;hb=1cf72a9c1a5e737509af79d49f0731da2eb6a218;hp=6a87f258cce888a8cdc0a1836a5d528ac22922d8;hpb=bfbf712685680761babfd9ea059a224a4aa244bf;p=mailer.git diff --git a/inc/functions.php b/inc/functions.php index 6a87f258cc..ffdcd76a16 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -40,7 +40,7 @@ if (!defined('__SECURITY')) { // Check if our config file is writeable or not function IS_INC_WRITEABLE($inc) { // Generate FQFN - $fqfn = sprintf("%sinc/%s.php", PATH, $inc); + $fqfn = sprintf("%sinc/%s.php", constant('PATH'), $inc); // Abort by simple test if ((FILE_READABLE($fqfn)) && (!is_writeable($fqfn))) { @@ -60,55 +60,55 @@ function IS_INC_WRITEABLE($inc) { } // Output HTML code directly or "render" it. You addionally switch the new-line character off -function OUTPUT_HTML ($HTML, $NEW_LINE = true) { +function OUTPUT_HTML ($HTML, $newLine = true) { // Some global variables global $OUTPUT, $footer, $CSS; // Do we have HTML-Code here? if (!empty($HTML)) { // Yes, so we handle it as you have configured - switch (OUTPUT_MODE) + switch (constant('OUTPUT_MODE')) { case "render": // That's why you don't need any \n at the end of your HTML code... :-) - if (_OB_CACHING == "on") { + if (constant('_OB_CACHING') == "on") { // Output into PHP's internal buffer OUTPUT_RAW($HTML); // That's why you don't need any \n at the end of your HTML code... :-) - if ($NEW_LINE) echo "\n"; + if ($newLine) echo "\n"; } else { // Render mode for old or lame servers... $OUTPUT .= $HTML; // That's why you don't need any \n at the end of your HTML code... :-) - if ($NEW_LINE) $OUTPUT .= "\n"; + if ($newLine) $OUTPUT .= "\n"; } break; case "direct": // If we are switching from render to direct output rendered code - if ((!empty($OUTPUT)) && (_OB_CACHING != "on")) { OUTPUT_RAW($OUTPUT); $OUTPUT = ""; } + if ((!empty($OUTPUT)) && (constant('_OB_CACHING') != "on")) { OUTPUT_RAW($OUTPUT); $OUTPUT = ""; } // The same as above... ^ OUTPUT_RAW($HTML); - if ($NEW_LINE) echo "\n"; + if ($newLine) echo "\n"; break; default: // Huh, something goes wrong or maybe you have edited config.php ??? - DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Invalid renderer %s detected.", OUTPUT_MODE)); - mxchange_die("{!FATAL_ERROR!}: {!LANG_NO_RENDER_DIRECT!}"); + DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Invalid renderer %s detected.", constant('OUTPUT_MODE'))); + mxchange_die("{--FATAL_ERROR--}: {--LANG_NO_RENDER_DIRECT--}"); break; } - } elseif ((_OB_CACHING == "on") && ($footer == 1)) { + } elseif ((constant('_OB_CACHING') == "on") && ($footer == 1)) { // Headers already sent? if (headers_sent()) { // Log this error DEBUG_LOG(__FUNCTION__, __LINE__, "Headers already sent! We need debug backtrace here."); // Trigger an user error - trigger_error("Headers are already sent!"); + debug_report_bug("Headers are already sent!"); } // END - if // Output cached HTML code @@ -145,14 +145,14 @@ function OUTPUT_HTML ($HTML, $NEW_LINE = true) { // Was that eval okay? if (empty($newContent)) { // Something went wrong! - die("Evaluation error:
".htmlentities($eval)."
"); + mxchange_die("Evaluation error:
".htmlentities($eval)."
"); } // END - if $OUTPUT = $newContent; } // END - while // Output code here, DO NOT REMOVE! ;-) OUTPUT_RAW($OUTPUT); - } elseif ((OUTPUT_MODE == "render") && (!empty($OUTPUT))) { + } elseif ((constant('OUTPUT_MODE') == "render") && (!empty($OUTPUT))) { // Rewrite links when rewrite extension is active if ((EXT_IS_ACTIVE("rewrite")) && ($CSS != "1") && ($CSS != "-1")) { $OUTPUT = REWRITE_LINKS($OUTPUT); @@ -174,8 +174,8 @@ function OUTPUT_RAW ($HTML) { // Output stripped HTML code to avoid broken JavaScript code, etc. echo stripslashes(stripslashes($HTML)); - // Flush the output if only _OB_CACHING is not "on" - if (_OB_CACHING != "on") { + // Flush the output if only constant('_OB_CACHING') is not "on" + if (constant('_OB_CACHING') != "on") { // Flush it flush(); } // END - if @@ -185,15 +185,17 @@ function OUTPUT_RAW ($HTML) { function addFatalMessage ($message, $extra="") { global $FATAL; - if (empty($extra)) { - // Regular text message to add to $FATAL - $FATAL[] = $message; - } else { + if (is_array($extra)) { + // Multiple extras for a message with masks + $message = call_user_func_array('sprintf', $extra); + } elseif (!empty($extra)) { // $message is text with a mask plus extras to insert into the text $message = sprintf($message, $extra); - $FATAL[] = $message; } + // Add message to $FATAL + $FATAL[] = $message; + // Log fatal messages away DEBUG_LOG(__FUNCTION__, __LINE__, " message={$message}"); } @@ -238,7 +240,7 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) { // @DEPRECATED Try to rewrite the if() condition if ($template == "member_support_form") { // Support request of a member - $result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1", + $result = SQL_QUERY_ESC("SELECT userid, gender, surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__); // Is content an array? @@ -265,7 +267,7 @@ function LOAD_TEMPLATE ($template, $return=false, $content=array()) { $date_time = MAKE_DATETIME(time(), "1"); // Base directory - $BASE = sprintf("%stemplates/%s/html/", PATH, GET_LANGUAGE()); + $BASE = sprintf("%stemplates/%s/html/", constant('PATH'), GET_LANGUAGE()); $MODE = ""; // Check for admin/guest/member templates @@ -392,7 +394,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") { return; } 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__); + $result_email = SQL_QUERY_ESC("SELECT email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($TO)), __FILE__, __LINE__); //* DEBUG: */ print __FUNCTION__."(".__LINE__."):numRows=".SQL_NUMROWS($result_email)."
\n"; // Does the user exist? @@ -401,7 +403,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") { list($TO) = SQL_FETCHROW($result_email); } else { // Set webmaster - $TO = WEBMASTER; + $TO = constant('WEBMASTER'); } // Free result @@ -409,7 +411,7 @@ function SEND_EMAIL($TO, $SUBJECT, $MSG, $HTML = "N", $FROM = "") { } } elseif ("$TO" == "0") { // Is the webmaster! - $TO = WEBMASTER; + $TO = constant('WEBMASTER'); } //* DEBUG: */ print __FUNCTION__."(".__LINE__."):TO={$TO}
\n"; @@ -459,7 +461,7 @@ Message : ".$MSG." SEND_RAW_EMAIL($TO, $SUBJECT, $MSG, $FROM); } elseif ($HTML == "N") { // Problem found! - SEND_RAW_EMAIL(WEBMASTER, "[PROBLEM:]".$SUBJECT, $MSG, $FROM); + SEND_RAW_EMAIL(constant('WEBMASTER'), "[PROBLEM:]".$SUBJECT, $MSG, $FROM); } } @@ -476,25 +478,25 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) { // Shall we use PHPMailer class or legacy mode? if (CHECK_PHPMAILER_USAGE()) { // Use PHPMailer class with SMTP enabled - require_once(PATH."inc/phpmailer/class.phpmailer.php"); - require_once(PATH."inc/phpmailer/class.smtp.php"); + LOAD_INC_ONCE("inc/phpmailer/class.phpmailer.php"); + LOAD_INC_ONCE("inc/phpmailer/class.smtp.php"); // get new instance $mail = new PHPMailer(); - $mail->PluginDir = sprintf("%sinc/phpmailer/", PATH); + $mail->PluginDir = sprintf("%sinc/phpmailer/", constant('PATH')); $mail->IsSMTP(); $mail->SMTPAuth = true; - $mail->Host = SMTP_HOSTNAME; + $mail->Host = constant('SMTP_HOSTNAME'); $mail->Port = 25; - $mail->Username = SMTP_USER; - $mail->Password = SMTP_PASSWORD; + $mail->Username = constant('SMTP_USER'); + $mail->Password = constant('SMTP_PASSWORD'); if (empty($from)) { - $mail->From = WEBMASTER; + $mail->From = constant('WEBMASTER'); } else { $mail->From = $from; } - $mail->FromName = MAIN_TITLE; + $mail->FromName = constant('MAIN_TITLE'); $mail->Subject = $subject; if ((EXT_IS_ACTIVE("html_mail")) && (strip_tags($msg) != $msg)) { $mail->Body = $msg; @@ -505,9 +507,9 @@ function SEND_RAW_EMAIL ($to, $subject, $msg, $from) { $mail->Body = html_entity_decode($msg); } $mail->AddAddress($to, ""); - $mail->AddReplyTo(WEBMASTER,MAIN_TITLE); - $mail->AddCustomHeader("Errors-To:".WEBMASTER); - $mail->AddCustomHeader("X-Loop:".WEBMASTER); + $mail->AddReplyTo(constant('WEBMASTER'), constant('MAIN_TITLE')); + $mail->AddCustomHeader("Errors-To:".constant('WEBMASTER')); + $mail->AddCustomHeader("X-Loop:".constant('WEBMASTER')); $mail->Send(); } else { // Use legacy mail() command @@ -524,9 +526,6 @@ function GEN_PASS ($LEN = 0) { // Initialize array with all allowed chars $ABC = explode(",", "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9,-,+,_,/"); - // Initialize randomizer - mt_srand((double) microtime() * 1000000); - // Start creating password $PASS = ""; for ($i = 0; $i < $LEN; $i++) { @@ -583,10 +582,8 @@ function MAKE_DATETIME ($time, $mode="0") // Translates the american decimal dot into a german comma function TRANSLATE_COMMA ($dotted, $cut=true, $max=0) { - global $_CONFIG; - // Default is 3 you can change this in admin area "Misc -> Misc Options" - if (getConfig('max_comma') == null) $_CONFIG['max_comma'] = "3"; + if (!isConfigEntrySet('max_comma')) setConfigEntry('max_comma', "3"); // Use from config is default $maxComma = getConfig('max_comma'); @@ -666,7 +663,7 @@ function SELECTION_COUNT($array) { } // function IMG_CODE ($code, $type, $DATA, $uid) { - return "\"Code\""; + return "\"Code\""; } // function TRANSLATE_STATUS($status) { @@ -701,7 +698,7 @@ function GET_LANGUAGE() { global $cacheArray; // Set default return value to default language from config - $ret = DEFAULT_LANG; + $ret = constant('DEFAULT_LANG'); // Init variable $lang = ""; @@ -724,7 +721,7 @@ function GET_LANGUAGE() { $ret = get_session('mx_lang'); // Fixes a warning before the session has the mx_lang constant - if (empty($ret)) $ret = DEFAULT_LANG; + if (empty($ret)) $ret = constant('DEFAULT_LANG'); } // Cache entry @@ -751,15 +748,12 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { // Default "nickname" if extension is not installed $nick = "---"; - // Keept for backward-compatiblity (please replace these variables against our new {!CONST!} syntax!) - // No longer used: $MAIN_TITLE = MAIN_TITLE; $URL = URL; $WEBMASTER = WEBMASTER; - // Prepare IP number and User Agent $REMOTE_ADDR = GET_REMOTE_ADDR(); $HTTP_USER_AGENT = GET_USER_AGENT(); // Default admin - $ADMIN = MAIN_TITLE; + $ADMIN = constant('MAIN_TITLE'); // Is the admin logged in? if (IS_ADMIN()) { @@ -771,7 +765,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { } // END - if // Neutral email address is default - $email = WEBMASTER; + $email = constant('WEBMASTER'); // Expiration in a nice output format if (getConfig('auto_purge') == 0) { @@ -795,12 +789,12 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { if (EXT_IS_ACTIVE("nickname")) { //* 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", + $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: */ 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", + $result = SQL_QUERY_ESC("SELECT surname, family, gender, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(bigintval($UID)), __FILE__, __LINE__); } @@ -823,7 +817,7 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { $DATA['email'] = $email; // Base directory - $BASE = sprintf("%stemplates/%s/emails/", PATH, GET_LANGUAGE()); + $BASE = sprintf("%stemplates/%s/emails/", constant('PATH'), GET_LANGUAGE()); // Check for admin/guest/member templates if (strpos($template, "admin_") > -1) { @@ -861,22 +855,22 @@ function LOAD_EMAIL_TEMPLATE($template, $content=array(), $UID="0") { $tmpl_file = addslashes($tmpl_file); // Run code - $tmpl_file = "\$newContent=html_entity_decode(\"".COMPILE_CODE($tmpl_file)."\");"; + $tmpl_file = "\$newContent = html_entity_decode(\"".COMPILE_CODE($tmpl_file)."\");"; @eval($tmpl_file); } elseif (!empty($template)) { // Template file not found! - $newContent = TEMPLATE_404.": ".$template."
-".TEMPLATE_CONTENT." + $newContent = "{--TEMPLATE_404--}: ".$template."
+{--TEMPLATE_CONTENT--}
".print_r($content, true)."
-".TEMPLATE_DATA." +{--TEMPLATE_DATA--}
".print_r($DATA, true)."


"; // Debug mode not active? Then remove the HTML tags - if (!DEBUG_MODE) $newContent = strip_tags($newContent); + if (!isBooleanConstantAndTrue('DEBUG_MODE')) $newContent = strip_tags($newContent); } else { // No template name supplied! - $newContent = NO_TEMPLATE_SUPPLIED; + $newContent = getMessage('NO_TEMPLATE_SUPPLIED'); } // Is there some content? @@ -918,11 +912,7 @@ function LOAD_URL($URL, $addUrlData=true) { } // Get output buffer - /* - print "
";
-	debug_print_backtrace();
-	die("
"); - */ + //* DEBUG: */ debug_report_bug(); $OUTPUT = ob_get_contents(); // Clear it only if there is content @@ -942,17 +932,13 @@ function LOAD_URL($URL, $addUrlData=true) { OUTPUT_HTML("".$URL.""); } elseif (!headers_sent()) { // Load URL when headers are not sent - /* - print("
");
-		debug_print_backtrace();
-		die("
URL={$URL}"); - */ + //* DEBUG: */ debug_report_bug("URL={$URL}"); header ("Location: ".str_replace("&", "&", $URL)); } else { // Output error message - require(PATH."inc/header.php"); + LOAD_INC("inc/header.php"); LOAD_TEMPLATE("redirect_url", false, str_replace("&", "&", $URL)); - require(PATH."inc/footer.php"); + LOAD_INC("inc/footer.php"); } exit(); } @@ -1213,9 +1199,9 @@ function ADD_SELECTION($type, $DEFAULT, $prefix="", $id="0") { case "yn": $OUT .= "\n"; break; } $OUT .= " \n"; @@ -1261,17 +1247,17 @@ function GEN_RANDOM_CODE($length, $code, $uid, $DATA="") { if (isset($GLOBALS['refid'])) $data .= ":".$GLOBALS['refid']; // Calculate number for generating the code - $a = $code + _ADD - 1; + $a = $code + constant('_ADD') - 1; if (getConfig('master_hash') != null) { // Generate hash with master salt from modula of number with the prime number and other data - $saltedHash = generateHash(($a % _PRIME).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, getConfig('master_salt')); + $saltedHash = generateHash(($a % constant('_PRIME')).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, getConfig('master_salt')); // Create number from hash $rcode = hexdec(substr($saltedHash, strlen(getConfig('master_salt')), 9)) / abs(_MAX - $a + sqrt(_ADD)) / pi(); } else { // Generate hash with "hash of site key" from modula of number with the prime number and other data - $saltedHash = generateHash(($a % _PRIME).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, substr(sha1(SITE_KEY), 0, 8)); + $saltedHash = generateHash(($a % constant('_PRIME')).":".$server.":".$keys.":".$data.":".date("d-m-Y (l-F-T)", time()).":".$a, substr(sha1(SITE_KEY), 0, 8)); // Create number from hash $rcode = hexdec(substr($saltedHash, 8, 9)) / abs(_MAX - $a + sqrt(_ADD)) / pi(); @@ -1297,12 +1283,10 @@ function bigintval($num, $castValue = true) { if ($castValue) $ret = (double)$ret; // Has the whole value changed? + // @TODO Remove this if() block if all is working fine if ("".$ret."" != "".$num."") { // Log the values - print("
");
-		debug_print_backtrace();
-		die("
"); - DEBUG_LOG(__FUNCTION__, __LINE__, " num={$num},ret={$ret}"); + debug_report_bug(); } // END - if // Return result @@ -1315,11 +1299,11 @@ function GENERATE_IMAGE($img_code, $header=true) { return; } elseif (!$header) { // Return in an HTML code code - return "\n"; + return "\n"; } // Load image - $img = sprintf("%s/theme/%s/images/code_bg.%s", PATH, GET_CURR_THEME(), getConfig('img_type')); + $img = sprintf("%s/theme/%s/images/code_bg.%s", constant('PATH'), GET_CURR_THEME(), getConfig('img_type')); if (FILE_READABLE($img)) { // Switch image type switch (getConfig('img_type')) @@ -1421,31 +1405,31 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce $OUT .= "\n"; if (ereg('Y', $display) || (empty($display))) { - $OUT .= "
"._YEARS."\n"; + $OUT .= "
{--_YEARS--}\n"; } if (ereg("M", $display) || (empty($display))) { - $OUT .= "
"._MONTHS."\n"; + $OUT .= "
{--_MONTHS--}\n"; } if (ereg("W", $display) || (empty($display))) { - $OUT .= "
"._WEEKS."\n"; + $OUT .= "
{--_WEEKS--}\n"; } if (ereg("D", $display) || (empty($display))) { - $OUT .= "
"._DAYS."\n"; + $OUT .= "
{--_DAYS--}\n"; } if (ereg("h", $display) || (empty($display))) { - $OUT .= "
"._HOURS."\n"; + $OUT .= "
{--_HOURS--}\n"; } if (ereg("m", $display) || (empty($display))) { - $OUT .= "
"._MINUTES."\n"; + $OUT .= "
{--_MINUTES--}\n"; } if (ereg("s", $display) || (empty($display))) { - $OUT .= "
"._SECONDS."\n"; + $OUT .= "
{--_SECONDS--}\n"; } $OUT .= "\n"; @@ -1456,7 +1440,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce $OUT .= " \n"; @@ -1470,7 +1454,7 @@ function CREATE_TIME_SELECTIONS ($timestamp, $prefix="", $display="", $align="ce for ($idx = 0; $idx <= 11; $idx++) { $OUT .= "