X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=bdb505d8fbd63be40be7494ebefdcf60eca102ca;hp=daed3210c6a895a9dfbf6531807e1dc27657ebb9;hb=46c1acbca83153bb96f76cc084d532069b88d96e;hpb=675778ff98b75b6c5071e2709c2d6b0af86cf79d diff --git a/inc/template-functions.php b/inc/template-functions.php index daed3210c6..bdb505d8fb 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -14,11 +14,9 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -76,7 +74,9 @@ function fixEmptyContentToDashes ($str) { $str = trim($str); // Is the string empty? - if (empty($str)) $str = '---'; + if (empty($str)) { + $str = '---'; + } // END - if // Return string return $str; @@ -185,9 +185,11 @@ function compileFinalOutput () { } // END - if // Compress it? + /** + * @TODO On some pages this is buggy if (!empty($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos('gzip', $_SERVER['HTTP_ACCEPT_ENCODING']) !== null)) { // Compress it for HTTP gzip - $GLOBALS['output'] = gzencode($GLOBALS['output'], 9, true); + $GLOBALS['output'] = gzencode($GLOBALS['output'], 9); // Add header sendHeader('Content-Encoding: gzip'); @@ -198,6 +200,7 @@ function compileFinalOutput () { // Add header sendHeader('Content-Encoding: deflate'); } + */ // Add final length sendHeader('Content-Length: ' . strlen($GLOBALS['output'])); @@ -212,10 +215,10 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) enableTemplateHtml($insertComments); // Init counter - $cnt = 0; + $count = 0; // Compile all out - while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($cnt < 5)) { + while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($count < 5)) { // Init common variables $content = array(); $newContent = ''; @@ -223,8 +226,9 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) // Compile it //* DEBUG: */ debugOutput('
'.linenumberCode($code).''); $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code), false, true, $enableCodes)) . '";'; - //* DEBUG: */ if (!$insertComments) print('
'.linenumberCode($eval).''); + //* DEBUG: */ if (!$insertComments) print('EVAL=
'.linenumberCode($eval).''); eval($eval); + //* DEBUG: */ if (!$insertComments) print('NEW=
'.linenumberCode($newContent).''); //* DEBUG: */ die('
'.encodeEntities($newContent).''); // Was that eval okay? @@ -237,7 +241,7 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) $code = $newContent; // Count round - $cnt++; + $count++; } // END - while // Return the compiled code @@ -257,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) . ')'); @@ -265,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])) { @@ -274,11 +278,10 @@ function loadTemplate ($template, $return = false, $content = array()) { // Init some data $ret = ''; - if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = '0'; // Base directory $basePath = sprintf("%stemplates/%s/html/", getPath(), getLanguage()); - $extraPath = detectExtraTemplatePath($template);; + $extraPath = detectExtraTemplatePath($template); // Generate FQFN $FQFN = $basePath . $extraPath . $template . '.tpl'; @@ -295,34 +298,34 @@ function loadTemplate ($template, $return = false, $content = array()) { incrementConfigEntry('num_templates'); // The local file does exists so we load it. :) - $GLOBALS['tpl_content'] = readFromFile($FQFN); + $GLOBALS['tpl_content'][$template] = readFromFile($FQFN); // Do we have to compile the code? $ret = ''; - if ((strpos($GLOBALS['tpl_content'], '$') !== false) || (strpos($GLOBALS['tpl_content'], '{--') !== false) || (strpos($GLOBALS['tpl_content'], '{?') !== false) || (strpos($GLOBALS['tpl_content'], '{%') !== false)) { + if ((strpos($GLOBALS['tpl_content'][$template], '$') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{--') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{?') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{%') !== false)) { // Normal HTML output? if (isHtmlOutputMode()) { // Add surrounding HTML comments to help finding bugs faster - $ret = '' . $GLOBALS['tpl_content'] . ''; + $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'])) . '");'; + $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'])) . '");'; + $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'] . ''; - $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret)) . '";'; + $ret = '' . $GLOBALS['tpl_content'][$template] . ''; + $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 $ret = '