X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=1fe104422b7b5b360dae7de3f87fbb9765ce28fe;hp=c3ecb5783475fc6dfed2e6db3b071e9bc7685d59;hb=71c07e991fc7f5393317f4d9adf4ecdbc26b9aa3;hpb=8d4176053d397a86baca20b4d7ab7ed526355be8 diff --git a/inc/template-functions.php b/inc/template-functions.php index c3ecb57834..1fe104422b 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -56,7 +56,7 @@ function enableTemplateHtml ($enable = true) { // 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 { @@ -82,25 +82,6 @@ function fixEmptyContentToDashes ($str) { 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); @@ -126,7 +107,7 @@ function outputHtml ($htmlCode, $newLine = true) { // 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') { @@ -155,7 +136,7 @@ function outputHtml ($htmlCode, $newLine = true) { default: // Huh, something goes wrong or maybe you have edited config.php ??? - debug_report_bug(__FUNCTION__, __LINE__, '{--FATAL_ERROR--}: {--LANG_NO_RENDER_DIRECT--}'); + debug_report_bug(__FUNCTION__, __LINE__, '{--FATAL_ERROR--}: {--NO_RENDER_DIRECT--}'); break; } // END - switch } elseif ((getPhpCaching() == 'on') && ((!isset($GLOBALS['header'])) || (count($GLOBALS['header']) == 0))) { @@ -175,7 +156,7 @@ function outputHtml ($htmlCode, $newLine = true) { // 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(); @@ -199,7 +180,7 @@ function compileFinalOutput () { $GLOBALS['output'] = doFinalCompilation($GLOBALS['output']); // Extension 'rewrite' installed? - if ((isExtensionActive('rewrite')) && (getOutputMode() != 1)) { + if ((isExtensionActive('rewrite')) && (!isCssOutputMode())) { $GLOBALS['output'] = rewriteLinksInCode($GLOBALS['output']); } // END - if @@ -226,7 +207,7 @@ function compileFinalOutput () { } // 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); @@ -234,15 +215,15 @@ function doFinalCompilation ($code, $insertComments = true) { $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('
'.encodeEntities($code).'
'); - $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code))) . '";'; - //* DEBUG: */ if ($insertComments) die('
'.linenumberCode($eval).'
'); + //* DEBUG: */ debugOutput('
'.linenumberCode($code).'
'); + $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code), false, true, $enableCodes)) . '";'; + //* DEBUG: */ if (!$insertComments) print('
'.linenumberCode($eval).'
'); eval($eval); //* DEBUG: */ die('
'.encodeEntities($newContent).'
'); @@ -296,12 +277,10 @@ function loadTemplate ($template, $return = false, $content = array()) { 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? @@ -322,7 +301,7 @@ function loadTemplate ($template, $return = false, $content = array()) { $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 = '' . $GLOBALS['tpl_content'] . ''; @@ -351,8 +330,6 @@ function loadTemplate ($template, $return = false, $content = array()) {
{--TEMPLATE_CONTENT--}
' . print_r($content, true) . '
- {--TEMPLATE_DATA--} -
' . print_r($DATA, true) . '
'; } else { // No file! @@ -446,12 +423,12 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { // 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--}'; @@ -460,7 +437,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { // 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!
"); @@ -481,7 +458,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { } // 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); @@ -795,7 +772,7 @@ function generateImageOrCode ($img_code, $headerSent = true) { // Load image $img = sprintf("%s/theme/%s/images/code_bg.%s", - getConfig('PATH'), + getPath(), getCurrentTheme(), getConfig('img_type') ); @@ -1167,7 +1144,7 @@ function debug_report_bug ($F, $L, $message = '', $sendEmail = true) { // Is this already called? if (isset($GLOBALS[__FUNCTION__])) { // Other backtrace - print 'Message:'.$message.'
Backtrace:
';
+		print 'Message:' . $message . '
Backtrace:
';
 		debug_print_backtrace();
 		die('
'); } // END - if @@ -1190,11 +1167,11 @@ function debug_report_bug ($F, $L, $message = '', $sendEmail = true) { } // END - if // Add output - $debug .= 'Please report this bug at http://bugs.mxchange.org and include the logfile from ' . str_replace(getConfig('PATH'), '', getConfig('CACHE_PATH')) . 'debug.log in your report (you can now attach files):
';
+	$debug .= 'Please report this bug at http://bugs.mxchange.org and include the logfile from ' . str_replace(getPath(), '', getCachePath()) . 'debug.log in your report (you can now attach files):
';
 	$debug .= debug_get_printable_backtrace();
 	$debug .= '
'; - $debug .= '
Request-URI: ' . getRequestUri() . '
'; - $debug .= '
Thank you for finding bugs.
'; + $debug .= '
Request-URI: ' . getRequestUri() . '
'; + $debug .= '
Thank you for finding bugs.
'; // Send an email? (e.g. not wanted for evaluation errors) if (($sendEmail === true) && (!isInstallationPhase())) { @@ -1349,7 +1326,7 @@ function determinePageTitle () { $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()) { @@ -1358,33 +1335,33 @@ function determinePageTitle () { } // 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--}'; @@ -1452,6 +1429,9 @@ function escapeQuotes ($str, $single = false) { // 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)); } @@ -1521,7 +1501,7 @@ function sendModeMails ($mod, $modes) { // 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--}'; @@ -1535,7 +1515,7 @@ function sendModeMails ($mod, $modes) { $sub_mem = '{--MEMBER_CHANGED_DATA--}'; // Output success message - $content = '{--MYDATA_MAIL_SENT--}'; + $content = '{--MEMBER_MYDATA_MAIL_SENT--}'; break; default: // Unsupported module! @@ -1563,12 +1543,12 @@ function sendModeMails ($mod, $modes) { 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 = '{--MYDATA_MAIL_SENT--}'; + $content = '{--MEMBER_MYDATA_MAIL_SENT--}'; } } // END - if @@ -1659,7 +1639,7 @@ function generateCacheFqfn ($template, $mode = 'html') { // Generate the FQFN $GLOBALS['template_cache_fqfn'][$template] = sprintf( "%s_compiled/%s/%s.tpl.cache", - getConfig('CACHE_PATH'), + getCachePath(), $mode, $template ); @@ -1684,5 +1664,43 @@ function fixNullEmptyToDashes ($str, $num) { 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 = '{--ADMIN_REGISTER_EXTENSION--}'; + + // Is the given extension non-productive? + if (!isExtensionProductive($ext_name)) { + // Non-productive code + $OUT = '{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}'; + } // END - if + + // Return code + return $OUT; +} + // [EOF] ?>