// Default: true
function isTemplateHtml () {
// Is the output_mode other than 0 (HTML), then no comments are enabled
- if (getScriptOutputMode() != 0) {
+ if (!isHtmlOutputMode()) {
// No HTML
return false;
} else {
return $str;
}
-// Color-switch helper function
-function doTemplateColorSwitch ($template, $clear = false, $return = true) {
- // Is it there?
- if (!isset($GLOBALS['color_switch'][$template])) {
- // Initialize it
- initTemplateColorSwitch($template);
- } elseif ($clear === false) {
- // Switch color if called from loadTemplate()
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SWITCH:' . $template);
- $GLOBALS['color_switch'][$template] = 3 - $GLOBALS['color_switch'][$template];
- } // END - if
-
- // Return CSS class name
- if ($return === true) {
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'RETURN:' . $template . '=' . $GLOBALS['color_switch'][$template]);
- return 'switch_sw' . $GLOBALS['color_switch'][$template];
- } // END - if
-}
-
// Init color switch
function initTemplateColorSwitch ($template) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'INIT:' . $template);
default:
// Huh, something goes wrong or maybe you have edited config.php ???
- debug_report_bug(__FUNCTION__, __LINE__, '<strong>{--FATAL_ERROR--}:</strong> {--LANG_NO_RENDER_DIRECT--}');
+ 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))) {
$GLOBALS['output'] = doFinalCompilation($GLOBALS['output']);
// Extension 'rewrite' installed?
- if ((isExtensionActive('rewrite')) && (getScriptOutputMode() != 1)) {
+ if ((isExtensionActive('rewrite')) && (!isCssOutputMode())) {
$GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']);
} // END - if
// Compress it?
+ /**
+ * @TODO On some pages this is buggy
if (!empty($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos('gzip', $_SERVER['HTTP_ACCEPT_ENCODING']) !== null)) {
// Compress it for HTTP gzip
- $GLOBALS['output'] = gzencode($GLOBALS['output'], 9, true);
+ $GLOBALS['output'] = gzencode($GLOBALS['output'], 9);
// Add header
sendHeader('Content-Encoding: gzip');
// Add header
sendHeader('Content-Encoding: deflate');
}
+ */
// Add final length
sendHeader('Content-Length: ' . strlen($GLOBALS['output']));
}
// Main compilation loop
-function doFinalCompilation ($code, $insertComments = true) {
+function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) {
// Insert comments? (Only valid with HTML templates, of course)
enableTemplateHtml($insertComments);
$newContent = '';
// Compile it
- //* DEBUG: */ debugOutput('<pre>'.encodeEntities($code).'</pre>');
- $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code))) . '";';
- //* DEBUG: */ if (!$insertComments) print('<pre>'.linenumberCode($eval).'</pre>');
+ //* DEBUG: */ debugOutput('<pre>'.linenumberCode($code).'</pre>');
+ $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code), false, true, $enableCodes)) . '";';
+ //* DEBUG: */ if (!$insertComments) print('EVAL=<pre>'.linenumberCode($eval).'</pre>');
eval($eval);
+ //* DEBUG: */ if (!$insertComments) print('NEW=<pre>'.linenumberCode($newContent).'</pre>');
//* DEBUG: */ die('<pre>'.encodeEntities($newContent).'</pre>');
// Was that eval okay?
$basePath = sprintf("%stemplates/%s/html/", getPath(), getLanguage());
$extraPath = detectExtraTemplatePath($template);;
- ////////////////////////
- // Generate file name //
- ////////////////////////
+ // Generate FQFN
$FQFN = $basePath . $extraPath . $template . '.tpl';
// Does the special template exists?
incrementConfigEntry('num_templates');
// The local file does exists so we load it. :)
- $GLOBALS['tpl_content'] = readFromFile($FQFN);
+ $GLOBALS['tpl_content'][$template] = readFromFile($FQFN);
// Do we have to compile the code?
$ret = '';
- if ((strpos($GLOBALS['tpl_content'], '$') !== false) || (strpos($GLOBALS['tpl_content'], '{--') !== false) || (strpos($GLOBALS['tpl_content'], '{?') !== false) || (strpos($GLOBALS['tpl_content'], '{%') !== false)) {
+ if ((strpos($GLOBALS['tpl_content'][$template], '$') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{--') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{?') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{%') !== false)) {
// Normal HTML output?
- if (getScriptOutputMode() == '0') {
+ if (isHtmlOutputMode()) {
// Add surrounding HTML comments to help finding bugs faster
- $ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['tpl_content'] . '<!-- Template ' . $template . ' - End //-->';
+ $ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['tpl_content'][$template] . '<!-- Template ' . $template . ' - End //-->';
// Prepare eval() command
$GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret)) . '";';
} elseif (substr($template, 0, 3) == 'js_') {
// JavaScripts don't like entities and timings
- $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'])) . '");';
+ $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template])) . '");';
} else {
// Prepare eval() command, other output doesn't like entities, maybe
- $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'])) . '");';
+ $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");';
}
} else {
// Add surrounding HTML comments to help finding bugs faster
- $ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['tpl_content'] . '<!-- Template ' . $template . ' - End //-->';
+ $ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['tpl_content'][$template] . '<!-- Template ' . $template . ' - End //-->';
$GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret)) . '";';
} // END - if
} elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) {
// Is content an array?
if (is_array($content)) {
// Add expiration to array
- if ((isConfigEntrySet('auto_purge')) && (getConfig('auto_purge') == '0')) {
+ if ((isConfigEntrySet('auto_purge')) && (getAutoPurge() == '0')) {
// Will never expire!
$content['expiration'] = '{--MAIL_WILL_NEVER_EXPIRE--}';
} elseif (isConfigEntrySet('auto_purge')) {
// Create nice date string
- $content['expiration'] = createFancyTime(getConfig('auto_purge'));
+ $content['expiration'] = createFancyTime(getAutoPurge());
} else {
// Missing entry
$content['expiration'] = '{--MAIL_NO_CONFIG_AUTO_PURGE--}';
$newContent = '';
if (isFileReadable($FQFN)) {
// The local file does exists so we load it. :)
- $GLOBALS['tpl_content'] = readFromFile($FQFN);
+ $GLOBALS['tpl_content'][$template] = readFromFile($FQFN);
// Run code
- $GLOBALS['tpl_content'] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'])) . '");';
- eval($GLOBALS['tpl_content']);
+ $GLOBALS['tpl_content'][$template] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");';
+ eval($GLOBALS['tpl_content'][$template]);
} elseif (!empty($template)) {
// Template file not found!
$newContent = '<div class="para">
</div>';
// Debug mode not active? Then remove the HTML tags
- if (!isDebugModeEnabled()) $newContent = secureString($newContent);
+ if (!isDebugModeEnabled()) {
+ // Remove HTML tags
+ $newContent = secureString($newContent);
+ } // END - if
} else {
// No template name supplied!
$newContent = '{--NO_TEMPLATE_SUPPLIED--}';
// Is there some content?
if (empty($newContent)) {
// Compiling failed
- $newContent = "Compiler error for template " . $template . " !\nUncompiled content:\n" . $GLOBALS['tpl_content'];
+ $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.";
}
//
-function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'register_select') {
+function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'guest_select') {
$OUT = '';
if ($type == 'yn') {
$OUT = '[';
foreach ($targetArray as $tar) {
- $OUT .= '<span class="admin_user_link"><a href="{%url=modules.php?module=admin&what=' . $tar . '&userid=' . $userid . '%}" title="{--ADMIN_LINK_';
+ $OUT .= '<span class="admin_user_link"><a href="{%url=modules.php?module=admin&what=' . $tar . '&userid=' . $userid . '%}" title="{--ADMIN_USER_ACTION_LINK_';
//* DEBUG: */ debugOutput('*' . $tar.'/' . $status.'*');
if (($tar == 'lock_user') && ($status == 'LOCKED')) {
// Locked accounts shall be unlocked
// All other status is fine
$OUT .= strtoupper($tar);
}
- $OUT .= '_TITLE--}">{--ADMIN_';
+ $OUT .= '_TITLE--}">{--ADMIN_USER_ACTION_LINK_';
if (($tar == 'lock_user') && ($status == 'LOCKED')) {
// Locked accounts shall be unlocked
$OUT .= 'UNLOCK_USER';
$EMAIL = generateAdminEmailLink($email);
} elseif ((isExtensionInstalledAndNewer('user', '0.3.3')) && ($table == 'user_data')) {
// Create email link for contacting a member within admin area (or later in other areas, too?)
- $EMAIL = generateUserEmailLink($email, 'admin');
+ $EMAIL = generateUserEmailLink($email);
} elseif ((isExtensionActive('sponsor')) && ($table == 'sponsor_data')) {
// Create email link to contact sponsor within admin area (or like the link above?)
- $EMAIL = generateSponsorEmailLink($email, 'sponsor_data');
+ $EMAIL = generateSponsorEmailLink($email);
}
// Shall I close the link when there is no admin?
$start = explode(' ', $GLOBALS['startTime']);
$end = explode(' ', $endTime);
$runTime = $end[0] - $start[0];
- if ($runTime < 0) $runTime = '0';
+ if ($runTime < 0) {
+ $runTime = '0';
+ } // END - if
// Prepare output
// @TODO This can be easily moved out after the merge from EL branch to this is complete
$debug .= 'Please report this bug at <a title="Direct link to the bug-tracker" href="http://bugs.mxchange.org" rel="external" target="_blank">http://bugs.mxchange.org</a> and include the logfile from <strong>' . str_replace(getPath(), '', getCachePath()) . 'debug.log</strong> in your report (you can now attach files):<pre>';
$debug .= debug_get_printable_backtrace();
$debug .= '</pre>';
- $debug .= '<div>Request-URI: ' . getRequestUri() . '</div>';
- $debug .= '<div>Thank you for finding bugs.</div>';
+ $debug .= '<div class="para">Request-URI: ' . getRequestUri() . '</div>';
+ $debug .= '<div class="para">Thank you for finding bugs.</div>';
// Send an email? (e.g. not wanted for evaluation errors)
if (($sendEmail === true) && (!isInstallationPhase())) {
} // END - if
// Default message
- $message = getMaskedMessage('EXTENSION_PROBLEM_EXT_INACTIVE', $ext_name);
+ $message = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name);
// Is an admin logged in?
if (isAdmin()) {
// Then output admin message
- $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXT_INACTIVE', $ext_name);
+ $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name);
} // END - if
// Return prepared message
// Add title of module? (middle decoration will also be added!)
if ((isModuleTitleEnabled()) || ((!isWhatSet()) && (!isActionSet())) || (getModule() == 'admin')) {
- $TITLE .= ' ' . trim(getConfig('title_middle')) . ' ' . getModuleTitle(getModule());
+ $TITLE .= ' ' . trim(getConfig('title_middle')) . ' {DQUOTE} . getModuleTitle(getModule()) . {DQUOTE}';
} // END - if
// Add title from what file
$pageTitle = '[-- ' . getMainTitle() . ' - ' . getModuleTitle(getModule()) . ' --]';
} elseif ((isInstalled()) && (!isAdminRegistered())) {
// Installed but no admin registered
- $pageTitle = '{--SETUP_OF_MAILER--}';
+ $pageTitle = '{--INSTALLER_OF_MAILER_NO_ADMIN--}';
} elseif ((!isInstalled()) || (!isAdminRegistered())) {
// Installation mode
- $pageTitle = '{--INSTALLATION_OF_MAILER--}';
+ $pageTitle = '{--INSTALLER_OF_MAILER--}';
} else {
// Configuration not found!
$pageTitle = '{--NO_CONFIG_FOUND_TITLE--}';
$content['message'] = '{--MEMBER_CHANGED_EMAIL--}' . ': ' . postRequestParameter('old_email') . "\n";
break;
- case 'pass': // Password was changed
+ case 'password': // Password was changed
$content['message'] = '{--MEMBER_CHANGED_PASS--}' . "\n";
break;
$sub_mem = '{--MEMBER_CHANGED_DATA--}';
// Output success message
- $content = '<span class="member_done">{--MYDATA_MAIL_SENT--}</span>';
+ $content = '<span class="member_done">{--MEMBER_MYDATA_MAIL_SENT--}</span>';
break;
default: // Unsupported module!
$content = '{--CANNOT_SEND_ADMIN_MAILS--}';
} else {
// No mail to admin
- $content = '<span class="member_done">{--MYDATA_MAIL_SENT--}</span>';
+ $content = '<span class="member_done">{--MEMBER_MYDATA_MAIL_SENT--}</span>';
}
} // END - if
return $return;
}
+//-----------------------------------------------------------------------------
+// Template Helper Functions
+//-----------------------------------------------------------------------------
+
+// Color-switch helper function
+function doTemplateColorSwitch ($template, $clear = false, $return = true) {
+ // Is it there?
+ if (!isset($GLOBALS['color_switch'][$template])) {
+ // Initialize it
+ initTemplateColorSwitch($template);
+ } elseif ($clear === false) {
+ // Switch color if called from loadTemplate()
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SWITCH:' . $template);
+ $GLOBALS['color_switch'][$template] = 3 - $GLOBALS['color_switch'][$template];
+ } // END - if
+
+ // Return CSS class name
+ if ($return === true) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'RETURN:' . $template . '=' . $GLOBALS['color_switch'][$template]);
+ return 'switch_sw' . $GLOBALS['color_switch'][$template];
+ } // END - if
+}
+
+// Helper function for extension registration link
+function doTemplateExtensionRegistrationLink ($template, $dummy, $ext_name) {
+ // Default is all productive
+ $OUT = '<a title="{--ADMIN_REGISTER_EXTENSION_TITLE--}" href="{%url=modules.php?module=admin&what=extensions&reg_ext=' . $ext_name . '%}">{--ADMIN_REGISTER_EXTENSION--}</a>';
+
+ // Is the given extension non-productive?
+ if (!isExtensionProductive($ext_name)) {
+ // Non-productive code
+ $OUT = '<em style="cursor:help" class="admin_note" title="{%message,ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK_TITLE=' . $ext_name . '%}">{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}</em>';
+ } // END - if
+
+ // Return code
+ return $OUT;
+}
+
// [EOF]
?>