]> git.mxchange.org Git - mailer.git/blobdiff - inc/template-functions.php
Next batch of fixed language ids (renamed, see ticket #219)
[mailer.git] / inc / template-functions.php
index 4c8ec10877a6f8e879e3f29d259a7aa73b00738a..205c96de97f3eda28bb30b57ae7bc91455085e7e 100644 (file)
@@ -143,7 +143,7 @@ function outputHtml ($htmlCode, $newLine = true) {
                                debug_report_bug(__FUNCTION__, __LINE__, '<strong>{--FATAL_ERROR--}:</strong> {--NO_RENDER_DIRECT--}');
                                break;
                } // END - switch
-       } elseif ((getPhpCaching() == 'on') && ((!isset($GLOBALS['header'])) || (count($GLOBALS['header']) == 0))) {
+       } elseif ((getPhpCaching() == 'on') && ((!isset($GLOBALS['header'])) || (count($GLOBALS['header']) == 0)) && (!isRawOutputMode())) {
                // Output cached HTML code
                $GLOBALS['output'] = ob_get_contents();
 
@@ -160,7 +160,7 @@ function outputHtml ($htmlCode, $newLine = true) {
 
                // Output code here, DO NOT REMOVE! ;-)
                outputRawCode($GLOBALS['output']);
-       } elseif ((getOutputMode() == 'render') && (!empty($GLOBALS['output']))) {
+       } elseif ((getOutputMode() == 'render') && (!empty($GLOBALS['output'])) && (!isRawOutputMode())) {
                // Send all HTTP headers
                sendHttpHeaders();
 
@@ -633,28 +633,6 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true
        // Compile QUOT and other non-HTML codes
        $code = str_replace($secChars['to'], $secChars['from'], $code);
 
-       // Find $fooBar entries
-       preg_match_all('/\$(.){0,}/', $code, $matches);
-
-       // Are some matches found?
-       if ((count($matches) > 0) && (count($matches[0]) > 0)) {
-               // Scan all matches for not $content
-               foreach ($matches[0] as $match) {
-                       // Trim match
-                       $match = trim($match);
-
-                       // Is the first part not $content and not empty?
-                       if ((!empty($match)) && (substr($match, 0, 8) != '$content')) {
-                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match);
-                               // Then replace $ with &#36;
-                               $matchSecured = str_replace('$', '&#36;', $match);
-
-                               // And in $code as well
-                               $code = str_replace($match, $matchSecured, $code);
-                       } // END - if
-               } // END - if
-       } // END - if
-
        // Find $content[bla][blub] entries
        preg_match_all('/\$content((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches);
 
@@ -690,7 +668,7 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true
                        if ((is_string($matches[3][$key])) && (!isset($matchesFound[$match])) && (!isset($matchesFound[$key.'_' . $matches[3][$key]]))) {
                                // Replace it in the code
                                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',match=' . $match);
-                               $newMatch = str_replace('[', "['", str_replace(']', "']", $match));
+                               $newMatch = str_replace('[', "['", str_replace(']', "']", str_replace('$', '{COMPILE_DOLLAR}', $match)));
                                $code = str_replace($match, '".' . $newMatch . '."', $code);
                                $matchesFound[$key . '_' . $matches[3][$key]] = 1;
                                $matchesFound[$match] = true;
@@ -706,7 +684,32 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true
                } // END - foreach
        } // END - if
 
-       // Return it
+       // Find $fooBar entries
+       preg_match_all('/\$([a-z_A-Z\[\]]){0,}/', $code, $matches);
+
+       // Are some matches found?
+       if ((count($matches) > 0) && (count($matches[0]) > 0)) {
+               // Scan all matches for not $content
+               foreach ($matches[0] as $match) {
+                       // Trim match
+                       $match = trim($match);
+
+                       // Is the first part not $content and not empty?
+                       if ((!empty($match)) && (substr($match, 0, 8) != '$content') && ($match != '$userid')) {
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match);
+                               // Then replace $ with &#36;
+                               $matchSecured = str_replace('$', '&#36;', $match);
+
+                               // And in $code as well
+                               $code = str_replace($match, $matchSecured, $code);
+                       } // END - if
+               } // END - if
+       } // END - if
+
+       // Replace {COMPILE_DOLLAR} back to dollar sign
+       $code = str_replace('{COMPILE_DOLLAR}', '$', $code);
+
+       // Finally return it
        return $code;
 }