// Default: true
function isTemplateHtml () {
// Is the output_mode other than 0 (HTML), then no comments are enabled
- if (getOutputMode() != 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);
// Do we have HTML-Code here?
if (!empty($htmlCode)) {
// Yes, so we handle it as you have configured
- switch (getConfig('OUTPUT_MODE')) {
+ switch (getOutputMode()) {
case 'render':
// That's why you don't need any \n at the end of your HTML code... :-)
if (getPhpCaching() == 'on') {
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))) {
// Output code here, DO NOT REMOVE! ;-)
outputRawCode($GLOBALS['output']);
- } elseif ((getConfig('OUTPUT_MODE') == 'render') && (!empty($GLOBALS['output']))) {
+ } elseif ((getOutputMode() == 'render') && (!empty($GLOBALS['output']))) {
// Send all HTTP headers
sendHttpHeaders();
$GLOBALS['output'] = doFinalCompilation($GLOBALS['output']);
// Extension 'rewrite' installed?
- if ((isExtensionActive('rewrite')) && (getOutputMode() != 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);
$cnt = 0;
// Compile all out
- while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($cnt < 4)) {
+ while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($cnt < 5)) {
// Init common variables
$content = array();
$newContent = '';
// Compile it
- //* DEBUG: */ debugOutput('<pre>'.encodeEntities($code).'</pre>');
- $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code))) . '";';
- //* DEBUG: */ if ($insertComments) die('<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('<pre>'.linenumberCode($eval).'</pre>');
eval($eval);
//* DEBUG: */ die('<pre>'.encodeEntities($newContent).'</pre>');
if (empty($GLOBALS['refid'])) $GLOBALS['refid'] = '0';
// Base directory
- $basePath = sprintf("%stemplates/%s/html/", getConfig('PATH'), getLanguage());
+ $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?
$ret = '';
if ((strpos($GLOBALS['tpl_content'], '$') !== false) || (strpos($GLOBALS['tpl_content'], '{--') !== false) || (strpos($GLOBALS['tpl_content'], '{?') !== false) || (strpos($GLOBALS['tpl_content'], '{%') !== false)) {
// Normal HTML output?
- if (getOutputMode() == '0') {
+ if (isHtmlOutputMode()) {
// Add surrounding HTML comments to help finding bugs faster
$ret = '<!-- Template ' . $template . ' - Start //-->' . $GLOBALS['tpl_content'] . '<!-- Template ' . $template . ' - End //-->';
<div class="para">
{--TEMPLATE_CONTENT--}
<pre>' . print_r($content, true) . '</pre>
- {--TEMPLATE_DATA--}
- <pre>' . print_r($DATA, true) . '</pre>
</div>';
} else {
// No file!
// 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--}';
// Load user's data
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "UID={$userid},template={$template},content[]=".gettype($content));
- if (($userid > 0) && (is_array($content))) {
+ if ((isValidUserId($userid)) && (is_array($content))) {
// If nickname extension is installed, fetch nickname as well
if ((isExtensionActive('nickname')) && (isNicknameUsed($userid))) {
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "NICKNAME!<br />");
} // END - if
// Base directory
- $basePath = sprintf("%stemplates/%s/emails/", getConfig('PATH'), getLanguage());
+ $basePath = sprintf("%stemplates/%s/emails/", getPath(), getLanguage());
// Detect extra path
$extraPath = detectExtraTemplatePath($template);
case 'year': // Year
// Get current year
- $year = date('Y', time());
+ $year = getYear();
// Use configured min age or fixed?
if (isExtensionInstalledAndNewer('order', '0.2.1')) {
// Calculate earliest year depending on extension version
if (isExtensionInstalledAndNewer('order', '0.2.1')) {
// Use configured minimum age
- $year = date('Y', time()) - getConfig('min_age');
+ $year = getYear() - getConfig('min_age');
} else {
// Use fixed 16 years age
- $year = date('Y', time()) - 16;
+ $year = getYear() - 16;
}
// Construct year selection list
// Load image
$img = sprintf("%s/theme/%s/images/code_bg.%s",
- getConfig('PATH'),
+ getPath(),
getCurrentTheme(),
getConfig('img_type')
);
// Do we have a leap year?
$SWITCH = '0';
- $TEST = date('Y', time()) / 4;
- $M1 = date('m', time());
- $M2 = date('m', (time() + $timestamp));
+ $TEST = getYear() / 4;
+ $M1 = getMonth();
+ $M2 = getMonth(time() + $timestamp);
// If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day)
if ((floor($TEST) == $TEST) && ($M1 == '02') && ($M2 > '02')) $SWITCH = getConfig('ONE_DAY');
$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?
// Is this already called?
if (isset($GLOBALS[__FUNCTION__])) {
// Other backtrace
- print 'Message:'.$message.'<br />Backtrace:<pre>';
+ print 'Message:' . $message . '<br />Backtrace:<pre>';
debug_print_backtrace();
die('</pre>');
} // END - if
} // END - if
// Add output
- $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(getConfig('PATH'), '', getConfig('CACHE_PATH')) . 'debug.log</strong> in your report (you can now attach files):<pre>';
+ $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
$TITLE = '';
// Title decoration enabled?
- if ((getConfig('enable_title_deco') == 'Y') && (getConfig('title_left') != '')) $TITLE .= trim(getConfig('title_left')) . ' ';
+ if ((isTitleDecorationEnabled()) && (getConfig('title_left') != '')) $TITLE .= trim(getConfig('title_left')) . ' ';
// Do we have some extra title?
if (isExtraTitleSet()) {
} // END - if
// Add main title
- $TITLE .= getConfig('MAIN_TITLE');
+ $TITLE .= getMainTitle();
// Add title of module? (middle decoration will also be added!)
- if ((getConfig('enable_mod_title') == 'Y') || ((!isWhatSet()) && (!isActionSet())) || (getModule() == 'admin')) {
- $TITLE .= ' ' . trim(getConfig('title_middle')) . ' ' . getModuleTitle(getModule());
+ if ((isModuleTitleEnabled()) || ((!isWhatSet()) && (!isActionSet())) || (getModule() == 'admin')) {
+ $TITLE .= ' ' . trim(getConfig('title_middle')) . ' {DQUOTE} . getModuleTitle(getModule()) . {DQUOTE}';
} // END - if
// Add title from what file
$mode = '';
if (getModule() == 'login') $mode = 'member';
elseif (getModule() == 'index') $mode = 'guest';
- if ((!empty($mode)) && (getConfig('enable_what_title') == 'Y')) $TITLE .= ' ' . trim(getConfig('title_middle')) . ' ' . getTitleFromMenu($mode, getWhat());
+ if ((!empty($mode)) && (isWhatTitleEnabled())) $TITLE .= ' ' . trim(getConfig('title_middle')) . ' ' . getTitleFromMenu($mode, getWhat());
// Add title decorations? (right)
- if ((getConfig('enable_title_deco') == 'Y') && (getConfig('title_right') != '')) $TITLE .= ' ' . trim(getConfig('title_right'));
+ if ((isTitleDecorationEnabled()) && (getConfig('title_right') != '')) $TITLE .= ' ' . trim(getConfig('title_right'));
// Remember title in constant for the template
$pageTitle = $TITLE;
} elseif ((isInstalled()) && (isAdminRegistered())) {
// Installed, admin registered but no ext-sql_patches
- $pageTitle = '[-- ' . getConfig('MAIN_TITLE') . ' - ' . getModuleTitle(getModule()) . ' --]';
+ $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--}';
// Escape all (including null)
$str = addslashes($str);
} else {
+ // Remove escaping of single quotes
+ $str = str_replace("\'", "'", $str);
+
// Escape only double-quotes but prevent double-quoting
$str = str_replace("\\\\", "\\", str_replace('"', "\\\"", $str));
}
$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;
// Load template
$message = loadEmailTemplate('member_mydata_notify', $content, getMemberId());
- if (getConfig('admin_notify') == 'Y') {
+ if (isAdminNotificationEnabled()) {
// The admin needs to be notified about a profile change
$message_admin = 'admin_mydata_notify';
$sub_adm = '{--ADMIN_CHANGED_DATA--}';
$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!
if ((!empty($sub_adm)) && (!empty($message_admin))) {
// Send admin mail
sendAdminNotification($sub_adm, $message_admin, $content, getMemberId());
- } elseif (getConfig('admin_notify') == 'Y') {
+ } elseif (isAdminNotificationEnabled()) {
// Cannot send mails to admin!
$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
// Generate the FQFN
$GLOBALS['template_cache_fqfn'][$template] = sprintf(
"%s_compiled/%s/%s.tpl.cache",
- getConfig('CACHE_PATH'),
+ getCachePath(),
$mode,
$template
);
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]
?>