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()) {
' . print_r($content, true) . '- {--TEMPLATE_DATA--} -
' . print_r($DATA, true) . '
'; + 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] ?>