X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=b2f6b1fa00a7b14a21f2971e85cd3ecfde1197b8;hb=de318c2b4c5b20c8423144a14cf26d6b8694c128;hp=c82496100db1edd4836ab10be8e89d254c225a94;hpb=c3b4eaf29946349ff058691db2dcb615a5379bb2;p=mailer.git diff --git a/inc/template-functions.php b/inc/template-functions.php index c82496100d..b2f6b1fa00 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -261,7 +261,7 @@ function outputRawCode ($htmlCode) { } // Load a template file and return it's content (only it's name; do not use ' or ") -function loadTemplate ($template, $return = false, $content = array()) { +function loadTemplate ($template, $return = false, $content = array(), $compileCode = true) { // @TODO Remove this sanity-check if all is fine if (!is_bool($return)) debug_report_bug(__FUNCTION__, __LINE__, 'return is not bool (' . gettype($return) . ')'); @@ -269,7 +269,7 @@ function loadTemplate ($template, $return = false, $content = array()) { $GLOBALS['current_template'] = $template; // Do we have cache? - if ((isDebuggingTemplateCache() === false) && (isTemplateCached($template))) { + if ((!isDebuggingTemplateCache()) && (isTemplateCached($template))) { // Evaluate the cache eval(readTemplateCache($template)); } elseif (!isset($GLOBALS['template_eval'][$template])) { @@ -309,18 +309,18 @@ function loadTemplate ($template, $return = false, $content = array()) { $ret = '' . $GLOBALS['tpl_content'][$template] . ''; // Prepare eval() command - $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret)) . '";'; + $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret), false, true, true, $compileCode) . '";'; } elseif (substr($template, 0, 3) == 'js_') { // JavaScripts don't like entities and timings - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template]), false, true, true, $compileCode) . '");'; } else { // Prepare eval() command, other output doesn't like entities, maybe - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template]), false, true, true, $compileCode) . '");'; } } else { // Add surrounding HTML comments to help finding bugs faster $ret = '' . $GLOBALS['tpl_content'][$template] . ''; - $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret)) . '";'; + $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret), false, true, true, $compileCode) . '";'; } // END - if } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) { // Only admins shall see this warning or when installation mode is active @@ -485,7 +485,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0', $loadU $GLOBALS['tpl_content'][$template] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; eval($GLOBALS['tpl_content'][$template]); } elseif (!empty($template)) { - // Template file not found! + // Template file not found $newContent = '
{--TEMPLATE_404--}: ' . $template . '
@@ -548,9 +548,9 @@ function generateCaptchaCode ($code, $type, $DATA, $userid) { } // Compiles the given HTML/mail code -function compileCode ($code, $simple = false, $constants = true, $full = true) { - // Is the code a string? - if (!is_string($code)) { +function compileCode ($code, $simple = false, $constants = true, $full = true, $compileCode = true) { + // Is the code a string or should we not compile? + if ((!is_string($code)) || ($compileCode === false)) { // Silently return it return $code; } // END - if @@ -576,9 +576,9 @@ function compileCode ($code, $simple = false, $constants = true, $full = true) { // Compiles the code (use compileCode() only for HTML because of the comments) // @TODO $simple/$constants are deprecated -function compileRawCode ($code, $simple = false, $constants = true, $full = true) { - // Is the code a string? - if (!is_string($code)) { +function compileRawCode ($code, $simple = false, $constants = true, $full = true, $compileCode = true) { + // Is the code a string or shall we not compile? + if ((!is_string($code)) || ($compileCode === false)) { // Silently return it return $code; } // END - if @@ -587,7 +587,9 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true $secChars = $GLOBALS['url_chars']; // Select full set of chars to replace when we e.g. want to compile URLs - if ($full === true) $secChars = $GLOBALS['security_chars']; + if ($full === true) { + $secChars = $GLOBALS['security_chars']; + } // END - if // Compile more through a filter $code = runFilterChain('compile_code', $code); @@ -618,7 +620,7 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true // Does this entry exist? //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "found={$found},match={$match},set={$set}
"); if ($test == $match) { - // Match found! + // Match found //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "fuzzyFound!
"); $fuzzyFound = true; break; @@ -1393,7 +1395,7 @@ function determinePageTitle () { // Installation mode $pageTitle = '{--INSTALLER_OF_MAILER--}'; } else { - // Configuration not found! + // Configuration not found $pageTitle = '{--NO_CONFIG_FOUND_TITLE--}'; // Do not add the fatal message in installation mode @@ -1460,7 +1462,7 @@ function escapeQuotes ($str, $single = false) { $str = addslashes($str); } else { // Remove escaping of single quotes - $str = str_replace("\'", "'", $str); + $str = str_replace("\\'", "'", $str); // Escape only double-quotes but prevent double-quoting $str = str_replace("\\\\", "\\", str_replace('"', "\\\"", $str));