]> git.mxchange.org Git - mailer.git/blobdiff - inc/template-functions.php
getArrayFromDirectory() does now exclude files with size below 50 Bytes which always...
[mailer.git] / inc / template-functions.php
index fca55228928da38153439dff3963d80f4bde6dcc..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();
 
@@ -171,7 +171,7 @@ function outputHtml ($htmlCode, $newLine = true) {
                outputRawCode($GLOBALS['output']);
        } else {
                // And flush all headers
-               flushHeaders();
+               flushHttpHeaders();
        }
 }
 
@@ -196,21 +196,21 @@ function compileFinalOutput () {
                $GLOBALS['output'] = gzencode($GLOBALS['output'], 9);
 
                // Add header
-               sendHeader('Content-Encoding: gzip');
+               addHttpHeader('Content-Encoding: gzip');
        } elseif (!empty($_SERVER['HTTP_ACCEPT_ENCODING']) && (isInStringIgnoreCase('deflate', $_SERVER['HTTP_ACCEPT_ENCODING']))) {
                // Compress it for HTTP deflate
                $GLOBALS['output'] = gzcompress($GLOBALS['output'], 9);
 
                // Add header
-               sendHeader('Content-Encoding: deflate');
+               addHttpHeader('Content-Encoding: deflate');
        }
        */
 
        // Add final length
-       sendHeader('Content-Length: ' . strlen($GLOBALS['output']));
+       addHttpHeader('Content-Length: ' . strlen($GLOBALS['output']));
 
        // Flush all headers
-       flushHeaders();
+       flushHttpHeaders();
 }
 
 // Main compilation loop
@@ -479,7 +479,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = NULL, $load
                }
 
                // Merge data if valid
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'content()=' . count($content) . ' - PRE!');
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'content()=' . count($content) . ' - BEFORE!');
                if ((isUserDataValid()) && ($loadUserData === true)) {
                        // It is valid
                        $content = merge_array($content, getUserDataArray());
@@ -541,7 +541,10 @@ function loadEmailTemplate ($template, $content = array(), $userid = NULL, $load
                $newContent = "Compiler error for template " . $template . " !\nUncompiled content:\n" . $GLOBALS['tpl_content'][$template];
 
                // Add last error if the required function exists
-               if (function_exists('error_get_last')) $newContent .= "\n--------------------------------------\nDebug:\n".print_r(error_get_last(), true)."--------------------------------------\nPlease don't alter these informations!\nThanx.";
+               if (function_exists('error_get_last')) {
+                       // Add last error and some lines for better overview
+                       $newContent .= "\n--------------------------------------\nDebug:\n".print_r(error_get_last(), true)."--------------------------------------\nPlease don't alter these informations!\nThanx.";
+               } // END - if
        } // END - if
 
        // Remove content and data
@@ -665,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;
@@ -681,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;
 }
 
@@ -1198,6 +1226,9 @@ function debug_report_bug ($F, $L, $message = '', $sendEmail = true) {
                die('</pre>');
        } // END - if
 
+       // Set HTTP status to 500 (e.g. for AJAX requests)
+       setHttpStatus('500 Internal Server Error');
+
        // Set this function as called
        $GLOBALS[__FUNCTION__] = true;
 
@@ -1887,16 +1918,11 @@ function addJavaScriptMenuContent ($menuMode, $mainAction, $action, $what) {
                return '';
        } // END - if
 
-       // Prepare content
-       $content = array(
-               'menu_mode'   => $menuMode,
-               'main_action' => $mainAction,
-               'action'      => $action,
-               'what'        => $what
-       );
+       // Prepare output
+       $OUT = ' onclick="return changeMenuFoldState(' . $menuMode . ', ' . $mainAction . ', ' . $action . ', ' . $what . ')';
 
-       // Return template
-       return loadTemplate('js_' . $menuMode . '_menu_onclick', true, $content);
+       // Return output
+       return $OUT;
 }
 
 //-----------------------------------------------------------------------------