X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=cac8b529dd56277417eb5b913a48a6b4fcbb9e10;hb=48529d6a8b14012d56dd54719168931ada90e19a;hp=0c364ef457151a047c4b87d5dbedb00f3ad9c8b7;hpb=63df9c12fbba3f9bb621843329cd5ad38ca070b2;p=mailer.git diff --git a/inc/template-functions.php b/inc/template-functions.php index 0c364ef457..cac8b529dd 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -16,7 +16,7 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * + * Copyright (c) 2009 - 2011 by Mailer Developer Team * * For more information visit: http://www.mxchange.org * * * * This program is free software; you can redistribute it and/or modify * @@ -74,7 +74,9 @@ function fixEmptyContentToDashes ($str) { $str = trim($str); // Is the string empty? - if (empty($str)) $str = '---'; + if (empty($str)) { + $str = '---'; + } // END - if // Return string return $str; @@ -213,10 +215,10 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) enableTemplateHtml($insertComments); // Init counter - $cnt = 0; + $count = 0; // Compile all out - while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($cnt < 5)) { + while (((strpos($code, '{--') !== false) || (strpos($code, '{DQUOTE}') !== false) || (strpos($code, '{?') !== false) || (strpos($code, '{%') !== false)) && ($count < 5)) { // Init common variables $content = array(); $newContent = ''; @@ -239,7 +241,7 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) $code = $newContent; // Count round - $cnt++; + $count++; } // END - while // Return the compiled code @@ -259,7 +261,7 @@ function outputRawCode ($htmlCode) { } // Load a template file and return it's content (only it's name; do not use ' or ") -function loadTemplate ($template, $return = false, $content = array()) { +function loadTemplate ($template, $return = false, $content = array(), $compileCode = true) { // @TODO Remove this sanity-check if all is fine if (!is_bool($return)) debug_report_bug(__FUNCTION__, __LINE__, 'return is not bool (' . gettype($return) . ')'); @@ -267,7 +269,7 @@ function loadTemplate ($template, $return = false, $content = array()) { $GLOBALS['current_template'] = $template; // Do we have cache? - if ((isDebuggingTemplateCache() === false) && (isTemplateCached($template))) { + if ((!isDebuggingTemplateCache()) && (isTemplateCached($template))) { // Evaluate the cache eval(readTemplateCache($template)); } elseif (!isset($GLOBALS['template_eval'][$template])) { @@ -279,7 +281,7 @@ function loadTemplate ($template, $return = false, $content = array()) { // Base directory $basePath = sprintf("%stemplates/%s/html/", getPath(), getLanguage()); - $extraPath = detectExtraTemplatePath($template);; + $extraPath = detectExtraTemplatePath($template); // Generate FQFN $FQFN = $basePath . $extraPath . $template . '.tpl'; @@ -307,18 +309,18 @@ function loadTemplate ($template, $return = false, $content = array()) { $ret = '' . $GLOBALS['tpl_content'][$template] . ''; // Prepare eval() command - $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret)) . '";'; + $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret), false, true, true, $compileCode) . '";'; } elseif (substr($template, 0, 3) == 'js_') { // JavaScripts don't like entities and timings - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template]), false, true, true, $compileCode) . '");'; } else { // Prepare eval() command, other output doesn't like entities, maybe - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template]), false, true, true, $compileCode) . '");'; } } else { // Add surrounding HTML comments to help finding bugs faster $ret = '' . $GLOBALS['tpl_content'][$template] . ''; - $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret)) . '";'; + $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret), false, true, true, $compileCode) . '";'; } // END - if } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) { // Only admins shall see this warning or when installation mode is active @@ -329,7 +331,7 @@ function loadTemplate ($template, $return = false, $content = array()) { (' . $template . ')
- {--TEMPLATE_CONTENT--} + {--TEMPLATE_CONTENT--}:
' . print_r($content, true) . '
'; } else { @@ -415,7 +417,7 @@ function detectExtraTemplatePath ($template) { } // Loads an email template and compiles it -function loadEmailTemplate ($template, $content = array(), $userid = '0') { +function loadEmailTemplate ($template, $content = array(), $userid = '0', $loadUserData = true) { global $DATA; // Make sure all template names are lowercase! @@ -452,7 +454,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { // Merge data if valid //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "content()=".count($content)." - PRE
"); - if (isUserDataValid()) { + if ((isUserDataValid()) && ($loadUserData === true)) { $content = merge_array($content, getUserDataArray()); } // END - if //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "content()=".count($content)." - AFTER
"); @@ -483,14 +485,14 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { $GLOBALS['tpl_content'][$template] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; eval($GLOBALS['tpl_content'][$template]); } elseif (!empty($template)) { - // Template file not found! + // Template file not found $newContent = '
{--TEMPLATE_404--}: ' . $template . '
- {--TEMPLATE_CONTENT--} + {--TEMPLATE_CONTENT--}:
' . print_r($content, true) . '
- {--TEMPLATE_DATA--} + {--TEMPLATE_DATA--}:
' . print_r($DATA, true) . '
'; @@ -546,9 +548,9 @@ function generateCaptchaCode ($code, $type, $DATA, $userid) { } // Compiles the given HTML/mail code -function compileCode ($code, $simple = false, $constants = true, $full = true) { - // Is the code a string? - if (!is_string($code)) { +function compileCode ($code, $simple = false, $constants = true, $full = true, $compileCode = true) { + // Is the code a string or should we not compile? + if ((!is_string($code)) || ($compileCode === false)) { // Silently return it return $code; } // END - if @@ -574,9 +576,9 @@ function compileCode ($code, $simple = false, $constants = true, $full = true) { // Compiles the code (use compileCode() only for HTML because of the comments) // @TODO $simple/$constants are deprecated -function compileRawCode ($code, $simple = false, $constants = true, $full = true) { - // Is the code a string? - if (!is_string($code)) { +function compileRawCode ($code, $simple = false, $constants = true, $full = true, $compileCode = true) { + // Is the code a string or shall we not compile? + if ((!is_string($code)) || ($compileCode === false)) { // Silently return it return $code; } // END - if @@ -585,7 +587,9 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true $secChars = $GLOBALS['url_chars']; // Select full set of chars to replace when we e.g. want to compile URLs - if ($full === true) $secChars = $GLOBALS['security_chars']; + if ($full === true) { + $secChars = $GLOBALS['security_chars']; + } // END - if // Compile more through a filter $code = runFilterChain('compile_code', $code); @@ -594,10 +598,7 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true $code = str_replace('{--', '{%message,', str_replace('--}', '%}', $code)); // Compile QUOT and other non-HTML codes - foreach ($secChars['to'] as $k => $to) { - // Do the reversed thing as in inc/libs/security_functions.php - $code = str_replace($to, $secChars['from'][$k], $code); - } // END - foreach + $code = str_replace($secChars['to'], $secChars['from'], $code); // Find $content[bla][blub] entries // @TODO Do only use $content and deprecate $GLOBALS and $DATA in templates @@ -619,7 +620,7 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true // Does this entry exist? //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "found={$found},match={$match},set={$set}
"); if ($test == $match) { - // Match found! + // Match found //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "fuzzyFound!
"); $fuzzyFound = true; break; @@ -840,7 +841,9 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = $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 = getOneDay(); + if ((floor($TEST) == $TEST) && ($M1 == '02') && ($M2 > '02')) { + $SWITCH = getOneDay(); + } // END - switch // First of all years... $Y = abs(floor($timestamp / (31536000 + $SWITCH))); @@ -1238,6 +1241,27 @@ function handleCodeMessage () { } // END - if } +// Generates a 'extension foo out-dated' message +function generateExtensionOutdatedMessage ($ext_name, $ext_ver) { + // Is the extension empty? + if (empty($ext_name)) { + // This should not happen + debug_report_bug(__FUNCTION__, __LINE__, 'Parameter ext is empty. This should not happen.'); + } // END - if + + // Default message + $message = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_OUTDATED', $ext_name); + + // Is an admin logged in? + if (isAdmin()) { + // Then output admin message + $message = sprintf(getMessage('ADMIN_EXTENSION_PROBLEM_EXTENSION_INACTIVE'), $ext_name, $ext_name, $ext_ver); + } // END - if + + // Return prepared message + return $message; +} + // Generates a 'extension foo inactive' message function generateExtensionInactiveMessage ($ext_name) { // Is the extension empty? @@ -1312,7 +1336,7 @@ function linenumberCode ($code) { $count_lines = count($codeE); $r = 'Line | Code:
'; - foreach($codeE as $line => $c) { + foreach ($codeE as $line => $c) { $r .= '
'; if ($count_lines == 1) { $r .= 1; @@ -1373,7 +1397,7 @@ function determinePageTitle () { // Installation mode $pageTitle = '{--INSTALLER_OF_MAILER--}'; } else { - // Configuration not found! + // Configuration not found $pageTitle = '{--NO_CONFIG_FOUND_TITLE--}'; // Do not add the fatal message in installation mode @@ -1440,7 +1464,7 @@ function escapeQuotes ($str, $single = false) { $str = addslashes($str); } else { // Remove escaping of single quotes - $str = str_replace("\'", "'", $str); + $str = str_replace("\\'", "'", $str); // Escape only double-quotes but prevent double-quoting $str = str_replace("\\\\", "\\", str_replace('"', "\\\"", $str)); @@ -1564,7 +1588,7 @@ function sendModeMails ($mod, $modes) { } // Load template - loadTemplate('admin_settings_saved', false, $content['message']); + displayMessage($content['message']); } // Generates a 'selection box' from given array @@ -1681,6 +1705,12 @@ function translatePoolType ($type) { return sprintf("{--POOL_TYPE_%s--}", strtoupper($type)); } +// Displays given message in admin_settings_saved template +function displayMessage ($message, $return = false) { + // Load the template + return loadTemplate('admin_settings_saved', $return, $message); +} + //----------------------------------------------------------------------------- // Template helper functions for EL //----------------------------------------------------------------------------- @@ -1706,18 +1736,30 @@ function doTemplateColorSwitch ($template, $clear = false, $return = true) { // Helper function for extension registration link function doTemplateExtensionRegistrationLink ($template, $dummy, $ext_name) { - // Default is all productive - $OUT = '{--ADMIN_REGISTER_EXTENSION--}'; + // Default is all non-productive + $OUT = '{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}'; // Is the given extension non-productive? - if (!isExtensionProductive($ext_name)) { - // Non-productive code - $OUT = '{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}'; + if (isExtensionProductive($ext_name)) { + // Productive code + $OUT = '{--ADMIN_REGISTER_EXTENSION--}'; } // END - if // Return code return $OUT; } +// Helper function to create bonus mail admin links +function doTemplateAdminBonusMailLinks ($template, $bonusId) { + // Call the inner function + return generateAdminMailLinks('bid', $bonusId); +} + +// Helper function to create member mail admin links +function doTemplateAdminMemberMailLinks ($template, $mailId) { + // Call the inner function + return generateAdminMailLinks('mid', $mailId); +} + // [EOF] ?>