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();
// 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();
outputRawCode($GLOBALS['output']);
} else {
// And flush all headers
- flushHeaders();
+ flushHttpHeaders();
}
}
$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
}
// 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());
$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
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;
} // 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 $
+ $matchSecured = str_replace('$', '$', $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;
}
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;
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;
}
//-----------------------------------------------------------------------------