]> git.mxchange.org Git - mailer.git/commitdiff
Fix for brikeb template engine in preparation of AJAX
authorRoland Häder <roland@mxchange.org>
Tue, 8 Nov 2011 22:00:47 +0000 (22:00 +0000)
committerRoland Häder <roland@mxchange.org>
Tue, 8 Nov 2011 22:00:47 +0000 (22:00 +0000)
inc/template-functions.php

index 4c8ec10877a6f8e879e3f29d259a7aa73b00738a..34e43eb311b33e5e81f91eed904fa3e87a4050d2 100644 (file)
@@ -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;
 }