X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=fca55228928da38153439dff3963d80f4bde6dcc;hb=ccd86939ba30aba70497c73264333f2fe4d786e8;hp=3025bff9389b17c779dd76468800e65707632eda;hpb=0a37fc5afcd828646d4e62e68fea07c3d2c54a87;p=mailer.git diff --git a/inc/template-functions.php b/inc/template-functions.php index 3025bff938..fca5522892 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -110,23 +110,32 @@ function outputHtml ($htmlCode, $newLine = true) { outputRawCode($htmlCode); // That's why you don't need any \n at the end of your HTML code... :-) - if ($newLine === true) print("\n"); + if ($newLine === true) { + print("\n"); + } // END - if } else { // Render mode for old or lame servers... $GLOBALS['output'] .= $htmlCode; // That's why you don't need any \n at the end of your HTML code... :-) - if ($newLine === true) $GLOBALS['output'] .= "\n"; + if ($newLine === true) { + $GLOBALS['output'] .= "\n"; + } // END - if } break; case 'direct': // If we are switching from render to direct output rendered code - if ((!empty($GLOBALS['output'])) && (getPhpCaching() != 'on')) { outputRawCode($GLOBALS['output']); $GLOBALS['output'] = ''; } + if ((!empty($GLOBALS['output'])) && (getPhpCaching() != 'on')) { + outputRawCode($GLOBALS['output']); + $GLOBALS['output'] = ''; + } // END - if // The same as above... ^ outputRawCode($htmlCode); - if ($newLine === true) print("\n"); + if ($newLine === true) { + print("\n"); + } // END - if break; default: @@ -269,14 +278,18 @@ 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(), $compileCode = true) { + // @TODO Remove these sanity checks if all is fine if (!is_bool($return)) { - // @TODO Remove this sanity-check if all is fine + // $return has to be boolean debug_report_bug(__FUNCTION__, __LINE__, 'return[] is not bool (' . gettype($return) . ')'); } elseif (!is_string($template)) { // $template has to be string debug_report_bug(__FUNCTION__, __LINE__, 'template[] is not string (' . gettype($template) . ')'); } + // Init returned content + $ret = ''; + // Set current template $GLOBALS['current_template'] = $template; @@ -288,9 +301,6 @@ function loadTemplate ($template, $return = false, $content = array(), $compileC // Make all template names lowercase $template = strtolower($template); - // Init some data - $ret = ''; - // Base directory $basePath = sprintf("%stemplates/%s/html/", getPath(), getLanguage()); $extraPath = detectExtraTemplatePath($template); @@ -313,17 +323,16 @@ function loadTemplate ($template, $return = false, $content = array(), $compileC $GLOBALS['tpl_content'][$template] = readFromFile($FQFN); // Do we have to compile the code? - $ret = ''; if ((isInString('$', $GLOBALS['tpl_content'][$template])) || (isInString('{--', $GLOBALS['tpl_content'][$template])) || (isInString('{?', $GLOBALS['tpl_content'][$template])) || (isInString('{%', $GLOBALS['tpl_content'][$template]))) { // Normal HTML output? - if (isHtmlOutputMode()) { + if ((isHtmlOutputMode()) && (substr($template, 0, 3) != 'js_')) { // Add surrounding HTML comments to help finding bugs faster $ret = '' . $GLOBALS['tpl_content'][$template] . ''; // Prepare eval() command $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 + // JavaScripts don't like entities, dollar signs and timings $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 @@ -340,7 +349,7 @@ function loadTemplate ($template, $return = false, $content = array(), $compileC } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) { // Only admins shall see this warning or when installation mode is active $ret = '
- {--TEMPLATE_404--} + {--TEMPLATE_404--}
(' . $template . ') @@ -452,6 +461,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = NULL, $load } // END - if // Load user's data + // @DEPRECATED Loading the user data by given userid is deprecated because it is not related to template loading //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UID=' . $userid . ',template=' . $template . ',content[]=' . gettype($content)); if ((isValidUserId($userid)) && (is_array($content))) { // If nickname extension is installed, fetch nickname as well @@ -547,7 +557,9 @@ function getMenuCssClasses ($data) { $content = explode('|', $data); // Non-existent index 2 will happen in menu blocks - if (!isset($content[2])) $content[2] = ''; + if (!isset($content[2])) { + $content[2] = ''; + } // END - if // Re-construct the array: 0=visible,1=locked,2=prefix $content['visible'] = $content[0]; @@ -562,7 +574,7 @@ function getMenuCssClasses ($data) { // Generate XHTML code for the CAPTCHA function generateCaptchaCode ($code, $type, $type, $userid) { - return 'Code ' . $code . ''; + return 'Code ' . $code . ''; } // Compiles the given HTML/mail code @@ -898,13 +910,13 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = if ($asArray === true) { // Just put all data in an array for later use $OUT = array( - 'YEARS' => $Y, - 'MONTHS' => $M, - 'WEEKS' => $W, - 'DAYS' => $D, - 'HOURS' => $h, - 'MINUTES' => $m, - 'SECONDS' => $s + 'Y' => $Y, + 'M' => $M, + 'W' => $W, + 'D' => $D, + 'h' => $h, + 'm' => $m, + 's' => $s ); } else { // Generate table @@ -913,31 +925,31 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = $OUT .= ''; if (isInString('Y', $display) || (empty($display))) { - $OUT .= '
{--_YEARS--}'; + $OUT .= '
{--TIME_UNIT_YEAR--}'; } // END - if if (isInString('M', $display) || (empty($display))) { - $OUT .= '
{--_MONTHS--}'; + $OUT .= '
{--TIME_UNIT_MONTH--}'; } // END - if if (isInString('W', $display) || (empty($display))) { - $OUT .= '
{--_WEEKS--}'; + $OUT .= '
{--TIME_UNIT_WEEK--}'; } // END - if if (isInString('D', $display) || (empty($display))) { - $OUT .= '
{--_DAYS--}'; + $OUT .= '
{--TIME_UNIT_DAY--}'; } // END - if if (isInString('h', $display) || (empty($display))) { - $OUT .= '
{--_HOURS--}'; + $OUT .= '
{--TIME_UNIT_HOUR--}'; } // END - if if (isInString('m', $display) || (empty($display))) { - $OUT .= '
{--_MINUTES--}'; + $OUT .= '
{--TIME_UNIT_MINUTE--}'; } // END - if if (isInString('s', $display) || (empty($display))) { - $OUT .= '
{--_SECONDS--}'; + $OUT .= '
{--TIME_UNIT_SECOND--}'; } // END - if $OUT .= ''; @@ -1408,20 +1420,20 @@ function determinePageTitle () { } // END - if // Add title from what file - $mode = ''; + $menuMode = ''; if (getModule() == 'login') { - $mode = 'member'; + $menuMode = 'member'; } elseif (getModule() == 'index') { - $mode = 'guest'; + $menuMode = 'guest'; } elseif (getModule() == 'admin') { - $mode = 'admin'; + $menuMode = 'admin'; } elseif (getModule() == 'sponsor') { - $mode = 'sponsor'; + $menuMode = 'sponsor'; } // Add middle part (always in admin area!) - if ((!empty($mode)) && ((isWhatTitleEnabled()) || ($mode == 'admin'))) { - $pageTitle .= ' {%config,trim=title_middle%} ' . getTitleFromMenu($mode, getWhat()); + if ((!empty($menuMode)) && ((isWhatTitleEnabled()) || ($menuMode == 'admin'))) { + $pageTitle .= ' {%config,trim=title_middle%} ' . getTitleFromMenu($menuMode, getWhat()); } // END - if // Add title decorations? (right) @@ -1601,16 +1613,16 @@ function sendModeMails ($mod, $modes) { default: // Unsupported module! logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unsupported module %s detected.", $mod)); - $content['message'] = '{--UNKNOWN_MODULE--}'; + $content['message'] = '{--UNKNOWN_MODULE--}'; break; } // END - switch } else { // Passwords mismatch - $content['message'] = '{--MEMBER_PASSWORD_ERROR--}'; + $content['message'] = '{--MEMBER_PASSWORD_ERROR--}'; } } else { // Could not load profile - $content['message'] = '{--MEMBER_CANNOT_LOAD_PROFILE--}'; + $content['message'] = '{--MEMBER_CANNOT_LOAD_PROFILE--}'; } // Send email to user if required @@ -1636,7 +1648,7 @@ function sendModeMails ($mod, $modes) { } // Generates a 'selection box' from given array -function generateSelectionBoxFromArray ($options, $name, $optionValue, $optionContent = '', $extraName = '') { +function generateSelectionBoxFromArray ($options, $name, $optionValue, $optionContent = '', $extraName = '', $templateName = '') { // Start the output $OUT = ''; - // Add the options + // Add options $out .= generateOptionList('/ARRAY/', array('M', 'F', 'C'), array('{--GENDER_M--}', '{--GENDER_F--}', '{--GENDER_C--}'), $selectedGender); // Finish HTML code @@ -1770,6 +1838,67 @@ function generateGenderSelectionBox ($selectedGender = '') { return $out; } +// Generates a selection box for given default value +function generateTimeUnitSelectionBox ($defaultUnit, $fieldName, $unitArray) { + // Init variables + $messageIds = array(); + + // Generate message id array + foreach ($unitArray as $unit) { + // "Translate" it + $messageIds[] = translateTimeUnit($unit); + } // END - foreach + + // Start the HTML code + $out = ''; + + // Return the code + return $out; +} + +// Function to add style tag (wether display:none/block) +function addStyleMenuContent ($menuMode, $mainAction, $action) { + // Do we have foo_menu_javascript enabled? + if ((!isConfigEntrySet($menuMode . '_menu_javascript')) || (getConfig($menuMode . '_menu_javascript') == 'N')) { + // Silently abort here, not enabled + return ''; + } // END - if + + // Is action=mainAction? + if ($action == $mainAction) { + // Add "menu open" style + return ' style="display:block"'; + } else { + return ' style="display:none"'; + } +} + +// Function to add onclick attribute +function addJavaScriptMenuContent ($menuMode, $mainAction, $action, $what) { + // Do we have foo_menu_javascript enabled? + if ((!isConfigEntrySet($menuMode . '_menu_javascript')) || (getConfig($menuMode . '_menu_javascript') == 'N')) { + // Silently abort here, not enabled + return ''; + } // END - if + + // Prepare content + $content = array( + 'menu_mode' => $menuMode, + 'main_action' => $mainAction, + 'action' => $action, + 'what' => $what + ); + + // Return template + return loadTemplate('js_' . $menuMode . '_menu_onclick', true, $content); +} + //----------------------------------------------------------------------------- // Template helper functions for EL code //----------------------------------------------------------------------------- @@ -1796,7 +1925,7 @@ function doTemplateColorSwitch ($template, $clear = false, $return = true) { // Helper function for extension registration link function doTemplateExtensionRegistrationLink ($template, $clear, $ext_name) { // Default is all non-productive - $OUT = '{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}'; + $OUT = '
{--ADMIN_EXTENSION_IS_NON_PRODUCTIVE_LINK--}
'; // Is the given extension non-productive? if (isExtensionProductive($ext_name)) { @@ -1823,7 +1952,7 @@ function doTemplateAdminMemberMailLinks ($template, $clear, $mailId) { // Helper function to create a selection box for YES/NO configuration entries function doTemplateConfigurationYesNoSelectionBox ($template, $clear, $configEntry) { // Default is a "missing entry" warning - $OUT = '!' . $configEntry . '!'; + $OUT = '
!' . $configEntry . '!
'; // Generate the HTML code if (isConfigEntrySet($configEntry)) {