X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ffunctions.php;h=7b074a4a556feeb40c14ad00ef90e2e90e04129f;hb=841656d70d60cbd5f0768e12cf73a62aa643cf35;hp=fd2eab7f3dd216f1fccbe8b94ec91c072ea06f23;hpb=ab82613b0100336c0966a742c986874ec1692672;p=mailer.git diff --git a/inc/functions.php b/inc/functions.php index fd2eab7f3d..7b074a4a55 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -44,7 +44,8 @@ if (!defined('__SECURITY')) { // Output HTML code directly or 'render' it. You addionally switch the new-line character off function outputHtml ($htmlCode, $newLine = true) { // Transfer username - $username = getUsername(); + $username = getMessage('USERNAME_UNKNOWN'); + if (isset($GLOBALS['username'])) $username = getUsername(); // Do we have HTML-Code here? if (!empty($htmlCode)) { @@ -115,12 +116,15 @@ function outputHtml ($htmlCode, $newLine = true) { sendHeader('Content-language: ' . getLanguage()); // Extension 'rewrite' installed? - if ((isExtensionActive('rewrite')) && (getOutputMode() != '1')) { + if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) { $GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']); } // END - if + // Init counter + $cnt = 0; + // Compile and run finished rendered HTML code - while ((strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) { + while (((strpos($GLOBALS['output'], '{--') > 0) || (strpos($GLOBALS['output'], '{!') > 0) || (strpos($GLOBALS['output'], '{?') > 0)) && ($cnt < 3)) { // Prepare the content and eval() it... $content = array(); $newContent = ''; @@ -132,16 +136,19 @@ function outputHtml ($htmlCode, $newLine = true) { // Was that eval okay? if (empty($newContent)) { // Something went wrong! - debug_report_bug('Evaluation error:
' . htmlentities($eval) . '
'); + debug_report_bug('Evaluation error:
' . linenumberCode($eval) . '
'); } // END - if $GLOBALS['output'] = $newContent; + + // Count round + $cnt++; } // END - while // Output code here, DO NOT REMOVE! ;-) outputRawCode($GLOBALS['output']); } elseif ((getConfig('OUTPUT_MODE') == 'render') && (!empty($GLOBALS['output']))) { // Rewrite links when rewrite extension is active - if ((isExtensionActive('rewrite')) && (getOutputMode() != '1')) { + if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) { $GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']); } // END - if @@ -191,6 +198,7 @@ function addFatalMessage ($F, $L, $message, $extra='') { $GLOBALS['fatal_messages'][] = $message; // Log fatal messages away + debug_report_bug($message); logDebugMessage($F, $L, " message={$message}"); } @@ -233,7 +241,7 @@ function loadTemplate ($template, $return=false, $content=array()) { if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = 0; // Generate date/time string - $date_time = generateDateTime(time(), '1'); + $date_time = generateDateTime(time(), 1); // Is content an array if (is_array($content)) $content['date_time'] = $date_time; @@ -356,8 +364,9 @@ function loadTemplate ($template, $return=false, $content=array()) { $eval = '$ret = "' . compileCode(smartAddSlashes($GLOBALS['tpl_content'])) . '";'; } } else { - // Simply return loaded code - $eval = '$ret = $GLOBALS[\'tpl_content\'];'; + // Add surrounding HTML comments to help finding bugs faster + $ret = "\n" . $GLOBALS['tpl_content'] . "\n"; + $eval = '$ret = "' . smartAddSlashes($ret) . '";'; } // END - if // Cache the eval() command here @@ -401,7 +410,7 @@ function loadTemplate ($template, $return=false, $content=array()) { } // Loads an email template and compiles it -function loadEmailTemplate ($template, $content = array(), $UID = '0') { +function loadEmailTemplate ($template, $content = array(), $UID = 0) { global $DATA; // Our configuration is kept non-global here @@ -551,8 +560,12 @@ function loadEmailTemplate ($template, $content = array(), $UID = '0') { unset($content); unset($DATA); - // Return compiled content - return compileCode($newContent); + // Compile the code and eval it + $eval = '$newContent = "' . compileCode(smartAddSlashes($newContent)) . '";'; + eval($eval); + + // Return content + return $newContent; } // Send mail out to an email address @@ -587,7 +600,7 @@ function sendEmail ($toEmail, $subject, $message, $isHtml = 'N', $mailHeader = ' // Free result SQL_FREERESULT($result_email); } - } elseif ($toEmail == '0') { + } elseif ($toEmail == 0) { // Is the webmaster! $toEmail = getConfig('WEBMASTER'); } @@ -718,7 +731,7 @@ function generatePassword ($length = 0) { } // Generates a human-readable timestamp from the Uni* stamp -function generateDateTime ($time, $mode = '0') { +function generateDateTime ($time, $mode = 0) { // Filter out numbers $time = bigintval($time); @@ -731,10 +744,10 @@ function generateDateTime ($time, $mode = '0') { switch (getLanguage()) { case 'de': // German date / time format switch ($mode) { - case '0': $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break; - case '1': $ret = strtolower(date("d.m.Y - H:i", $time)); break; - case '2': $ret = date("d.m.Y|H:i", $time); break; - case '3': $ret = date("d.m.Y", $time); break; + case 0: $ret = date("d.m.Y \u\m H:i \U\h\\r", $time); break; + case 1: $ret = strtolower(date('d.m.Y - H:i', $time)); break; + case 2: $ret = date('d.m.Y|H:i', $time); break; + case 3: $ret = date('d.m.Y', $time); break; default: logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode)); break; @@ -743,10 +756,10 @@ function generateDateTime ($time, $mode = '0') { default: // Default is the US date / time format! switch ($mode) { - case '0': $ret = date("r", $time); break; - case '1': $ret = date("Y-m-d - g:i A", $time); break; - case '2': $ret = date("y-m-d|H:i", $time); break; - case '3': $ret = date("y-m-d", $time); break; + case 0: $ret = date('r', $time); break; + case 1: $ret = date('Y-m-d - g:i A', $time); break; + case 2: $ret = date('y-m-d|H:i', $time); break; + case 3: $ret = date('y-m-d', $time); break; default: logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode)); break; @@ -760,7 +773,7 @@ function generateDateTime ($time, $mode = '0') { // Translates Y/N to yes/no function translateYesNo ($yn) { // Default - $translated = "??? (" . $yn.')'; + $translated = '??? (' . $yn . ')'; switch ($yn) { case 'Y': $translated = getMessage('YES'); break; case 'N': $translated = getMessage('NO'); break; @@ -795,7 +808,7 @@ function translatePoolType ($type) { // Translates the american decimal dot into a german comma function translateComma ($dotted, $cut = true, $max = 0) { // Default is 3 you can change this in admin area "Misc -> Misc Options" - if (!isConfigEntrySet('max_comma')) setConfigEntry('max_comma', '3'); + if (!isConfigEntrySet('max_comma')) setConfigEntry('max_comma', 3); // Use from config is default $maxComma = getConfig('max_comma'); @@ -881,7 +894,7 @@ function generateDerefererUrl ($URL) { // Don't de-refer our own links! if (substr($URL, 0, strlen(getConfig('URL'))) != getConfig('URL')) { // De-refer this link - $URL = 'modules.php?module=loader&url=' . encodeString(compileUriCode($URL)); + $URL = '{?URL?}/modules.php?module=loader&url=' . encodeString(compileUriCode($URL)); } // END - if // Return link @@ -922,18 +935,25 @@ function countSelection ($array) { // Generate XHTML code for the CAPTCHA function generateCaptchaCode ($code, $type, $DATA, $userid) { - return 'Code'; + return 'Code ' . $code . ''; } // Generates a timestamp (some wrapper for mktime()) -function makeTime ($H, $M, $S, $stamp) { +function makeTime ($hours, $minutes, $seconds, $stamp) { // Extract day, month and year from given timestamp - $day = date('d', $stamp); - $month = date('m', $stamp); - $year = date('Y', $stamp); + $days = date('d', $stamp); + $months = date('m', $stamp); + $years = date('Y', $stamp); // Create timestamp for wished time which depends on extracted date - return mktime($H, $M, $S, $month, $day, $year); + return mktime( + $hours, + $minutes, + $seconds, + $months, + $days, + $years + ); } // Redirects to an URL and if neccessarry extends it with own base URL @@ -1145,7 +1165,7 @@ function array_pk_sort (&$array, $a_sort, $primary_key = 0, $order = -1, $nums = } // -function addSelectionBox ($type, $default, $prefix = '', $id = '0') { +function addSelectionBox ($type, $default, $prefix = '', $id = 0) { $OUT = ''; if ($type == 'yn') { @@ -1230,7 +1250,7 @@ function addSelectionBox ($type, $default, $prefix = '', $id = '0') { case 'sec': case 'min': for ($idx = 0; $idx < 60; $idx+=5) { - if (strlen($idx) == 1) $idx = '0' . $idx; + if (strlen($idx) == 1) $idx = 0 . $idx; $OUT .= "