}
// Output HTML code directly or 'render' it. You addionally switch the new-line character off
-function outputHtml ($htmlCode, $newLine = TRUE) {
+function outputHtml ($htmlCode = NULL, $newLine = TRUE) {
// Init output
if (!isset($GLOBALS['__output'])) {
$GLOBALS['__output'] = '';
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getOutputMode()=' . getOutputMode() . ',htmlCode(length)=' . strlen($htmlCode) . ',output(length)=' . strlen($GLOBALS['__output']));
// Is there HTML-Code here?
- if (!empty($htmlCode)) {
+ if ((!is_null($htmlCode)) && (!empty($htmlCode))) {
// Yes, so we handle it as you have configured
switch (getOutputMode()) {
case 'render':
// JavaScripts don't like entities, dollar signs and timings
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
$GLOBALS['template_eval']['html'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['template_content']['html'][$template]), FALSE, TRUE, TRUE, $compileCode) . '");';
+ } elseif (isAjaxOutputMode()) {
+ // AJAX (JSON content)
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
+ $GLOBALS['template_eval']['html'][$template] = '$ret = "' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['template_content']['html'][$template]), FALSE, TRUE, TRUE, $compileCode) . '";';
} else {
// Prepare eval() command, other output doesn't like entities, maybe
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
$ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['template_content']['html'][$template] . '<!-- Template ' . $template . ' - End //-->';
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
$GLOBALS['template_eval']['html'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret), FALSE, TRUE, TRUE, $compileCode) . '";';
+ } elseif (isAjaxOutputMode()) {
+ // AJAX (JSON content)
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
+ $GLOBALS['template_eval']['html'][$template] = '$ret = "' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['template_content']['html'][$template]), FALSE, TRUE, TRUE, $compileCode) . '";';
} else {
// JavaScript again
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
// Is content an array?
if (is_array($content)) {
// Add expiration to array
- if ((isExtensionInstalled('autopurge')) && (getAutoPurge() == '0')) {
+ if ((isExtensionInstalled('autopurge')) && (isConfigEntrySet('auto_purge')) && (getAutoPurge() == '0')) {
// Will never expire!
$content['expiration'] = '{--MAIL_WILL_NEVER_EXPIRE--}';
} elseif ((isExtensionInstalled('autopurge')) && (isConfigEntrySet('auto_purge'))) {
$GLOBALS['template_content']['email'][$template] = readFromFile($FQFN);
// Run code
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Reached!');
$GLOBALS['template_eval']['email'][$template] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['template_content']['email'][$template])) . '");';
} elseif (!empty($template)) {
// Template file not found
if ((isset($GLOBALS['template_eval']['email'][$template])) && ($GLOBALS['template_eval']['email'][$template] != '404')) {
// Eval the code
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template=' . $template . ' - BEFORE EVAL');
- ///* DEBUG: */ print('<pre>'.htmlentities($GLOBALS['template_eval']['email'][$template]).'</pre>');
+ //* DEBUG: */ print('<pre>'.htmlentities($GLOBALS['template_eval']['email'][$template]).'</pre>');
eval($GLOBALS['template_eval']['email'][$template]);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'template=' . $template . ' - AFTER EVAL');
} // END - if
// Make sure, that the script realy realy diese here and now
$GLOBALS['app_died'] = TRUE;
- // Set content type as text/html
- setContentType('text/html');
+ // Is this AJAX mode?
+ if (isAjaxOutputMode()) {
+ // Set content type as application/json
+ setContentType('application/json');
+ } else {
+ // Set content type as text/html
+ setContentType('text/html');
+ }
// Load header
loadIncludeOnce('inc/header.php');
$message
);
- // Load the message template
- loadTemplate('app_exit_message', FALSE, $message);
+ // Is this AJAX mode again
+ if (isAjaxOutputMode()) {
+ // Load the message template
+ $OUT = loadTemplate('ajax_app_exit_message', TRUE, $message);
+
+ // Output it as JSON encoded
+ outputHtml(encodeJson(array('reply_content' => urlencode(doFinalCompilation($OUT)))));
+ } else {
+ // Load the message template
+ loadTemplate('app_exit_message', FALSE, $message);
+ }
// Load footer
loadIncludeOnce('inc/footer.php');
$hash = encodeHashForCookie(getUserData('password'));
// Does the hash match or should we change it?
- if (($hash == getSession('u_hash')) || (postRequestElement('pass1') == postRequestElement('pass2'))) {
+ if (($hash == getSession('u_hash')) || (postRequestElement('password1') == postRequestElement('password2'))) {
// Load the data
$content = getUserDataArray();