X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=73e88c6ce05cef02ac10234a892621d043043ae8;hp=0c364ef457151a047c4b87d5dbedb00f3ad9c8b7;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=63df9c12fbba3f9bb621843329cd5ad38ca070b2 diff --git a/inc/template-functions.php b/inc/template-functions.php index 0c364ef457..73e88c6ce0 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 * @@ -70,11 +70,8 @@ function debugOutput ($message) { // "Fixes" an empty string into three dashes (use for templates) function fixEmptyContentToDashes ($str) { - // Trim the string - $str = trim($str); - - // Is the string empty? - if (empty($str)) $str = '---'; + // Call inner function + $str = fixNullEmptyToDashes($str, 3); // Return string return $str; @@ -213,10 +210,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 < 7)) { // Init common variables $content = array(); $newContent = ''; @@ -238,10 +235,22 @@ function doFinalCompilation ($code, $insertComments = true, $enableCodes = true) // Use it again $code = $newContent; + // Compile the final code if insertComments is true + if ($insertComments == true) { + // ... because SQL queries shall keep OPEN_CONFIG and such in + $code = compileRawCode($code); + } // END - if + // Count round - $cnt++; + $count++; } // END - while + // Add debugging data in HTML code, if mode is enabled + if ((isDebugModeEnabled()) && ($insertComments === true)) { + // Add loop count + $code .= ''; + } // END - if + // Return the compiled code return $code; } @@ -259,15 +268,20 @@ 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()) { - // @TODO Remove this sanity-check if all is fine - if (!is_bool($return)) debug_report_bug(__FUNCTION__, __LINE__, 'return is not bool (' . gettype($return) . ')'); +function loadTemplate ($template, $return = false, $content = array(), $compileCode = true) { + if (!is_bool($return)) { + // @TODO Remove this sanity-check if all is fine + 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) . ')'); + } // Set current template $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 +293,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 +321,21 @@ 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 { + } elseif (isHtmlOutputMode()) { // 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) . '";'; + } else { + // JavaScript again + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template]), false, true, true, $compileCode) . '");'; } // END - if } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) { // Only admins shall see this warning or when installation mode is active @@ -329,7 +346,7 @@ function loadTemplate ($template, $return = false, $content = array()) { (' . $template . ')
- {--TEMPLATE_CONTENT--} + {--TEMPLATE_CONTENT--}:
' . print_r($content, true) . '
'; } else { @@ -415,7 +432,8 @@ function detectExtraTemplatePath ($template) { } // Loads an email template and compiles it -function loadEmailTemplate ($template, $content = array(), $userid = '0') { +function loadEmailTemplate ($template, $content = array(), $userid = NULL, $loadUserData = true) { + // @TODO $DATA is deprecated and should be avoided and replaced with $content global $DATA; // Make sure all template names are lowercase! @@ -429,7 +447,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { $content['expiration'] = '{--MAIL_WILL_NEVER_EXPIRE--}'; } elseif (isConfigEntrySet('auto_purge')) { // Create nice date string - $content['expiration'] = '{%pipe,getAutoPurge,createFancyTime%}'; + $content['expiration'] = '{%config,createFancyTime=auto_purge%}'; } else { // Missing entry $content['expiration'] = '{--MAIL_NO_CONFIG_AUTO_PURGE--}'; @@ -437,25 +455,33 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { } // END - if // Load user's data - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "UID={$userid},template={$template},content[]=".gettype($content)); + //* 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 if ((isExtensionActive('nickname')) && (isNicknameUsed($userid))) { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "NICKNAME!
"); // Load by nickname + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - NICKNAME!'); fetchUserData($userid, 'nickname'); + } elseif (isNicknameUsed($userid)) { + // Non-number characters entered but no ext-nickname found + debug_report_bug(__FUNCTION__, __LINE__, 'userid=' . $userid . ': is no id number and ext-nickname is gone.'); } else { - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "NO-NICK!
"); - /// Load by userid + // Load by userid + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ' - USERID!'); fetchUserData($userid); } // Merge data if valid - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "content()=".count($content)." - PRE
"); - if (isUserDataValid()) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'content()=' . count($content) . ' - PRE!'); + if ((isUserDataValid()) && ($loadUserData === true)) { + // It is valid $content = merge_array($content, getUserDataArray()); + + // But we don't like hashed passwords be mailed + unset($content['password']); } // END - if - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "content()=".count($content)." - AFTER
"); + + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'content()=' . count($content) . ' - AFTER!'); } // END - if // Base directory @@ -483,14 +509,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) . '
'; @@ -541,14 +567,14 @@ function getMenuCssClasses ($data) { } // Generate XHTML code for the CAPTCHA -function generateCaptchaCode ($code, $type, $DATA, $userid) { - return 'Code ' . $code . ''; +function generateCaptchaCode ($code, $type, $type, $userid) { + return 'Code ' . $code . ''; } // 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 +600,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 +611,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,14 +622,11 @@ 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 - preg_match_all('/\$(content|GLOBALS|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches); + // @TODO Do only use $content and deprecate $DATA in templates + preg_match_all('/\$(content|DATA)((\[([a-zA-Z0-9-_]+)\])*)/', $code, $matches); // Are some matches found? if ((count($matches) > 0) && (count($matches[0]) > 0)) { @@ -617,31 +642,36 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true $test = substr($found, 0, strlen($match)); // Does this entry exist? - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "found={$found},match={$match},set={$set}
"); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'found=' . $found . ',match=' . $match . ',set=' . $set); if ($test == $match) { - // Match found! - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "fuzzyFound!
"); + // Match found + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'fuzzyFound!'); $fuzzyFound = true; break; } // END - if } // END - foreach // Skip this entry? - if ($fuzzyFound === true) continue; + if ($fuzzyFound === true) { + continue; + } // END - if // Take all string elements if ((is_string($matches[4][$key])) && (!isset($matchesFound[$match])) && (!isset($matchesFound[$key.'_' . $matches[4][$key]]))) { // Replace it in the code - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "key={$key},match={$match}
"); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',match=' . $match); $newMatch = str_replace('[', "['", str_replace(']', "']", $match)); $code = str_replace($match, '".' . $newMatch . '."', $code); $matchesFound[$key . '_' . $matches[4][$key]] = 1; - $matchesFound[$match] = 1; + $matchesFound[$match] = true; } elseif (!isset($matchesFound[$match])) { // Not yet replaced! - //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "match={$match}
"); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match); $code = str_replace($match, '".' . $match . '."', $code); $matchesFound[$match] = 1; + } else { + // Everthing else should be a least logged + logDebugMessage(__FUNCTION__, __LINE__, 'match=' . $match . ',key=' . $key); } } // END - foreach } // END - if @@ -688,7 +718,7 @@ function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'fo $year = getYear(); // Use configured min age or fixed? - if (isExtensionInstalledAndNewer('order', '0.2.1')) { + if (isExtensionInstalledAndNewer('other', '0.2.1')) { // Configured $startYear = $year - getConfig('min_age'); } else { @@ -715,7 +745,7 @@ function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'fo // Get current year and subtract the configured minimum age $OUT .= ''; // Calculate earliest year depending on extension version - if (isExtensionInstalledAndNewer('order', '0.2.1')) { + if (isExtensionInstalledAndNewer('other', '0.2.1')) { // Use configured minimum age $year = getYear() - getConfig('min_age'); } else { @@ -817,16 +847,13 @@ function generateImageOrCode ($img_code, $headerSent = true) { // Remove image from memory imagedestroy($image); } + // Create selection box or array of splitted timestamp -function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = 'center', $return_array=false) { +function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = 'center', $asArray = false) { // Do not continue if ONE_DAY is absend if (!isConfigEntrySet('ONE_DAY')) { - // And return the timestamp itself or empty array - if ($return_array === true) { - return array(); - } else { - return $timestamp; - } + // Abort here + debug_report_bug(__FUNCTION__, __LINE__, 'Configuration entry ONE_DAY is absend. timestamp=' . $timestamp . ',prefix=' . $prefix . ',align=' . $align . ',asArray=' . intval($asArray)); } // END - if // Calculate 2-seconds timestamp @@ -840,7 +867,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))); @@ -873,7 +902,7 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = // // Now we convert them in seconds... // - if ($return_array) { + if ($asArray === true) { // Just put all data in an array for later use $OUT = array( 'YEARS' => $Y, @@ -1023,7 +1052,9 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = // Generate a list of administrative links to a given userid function generateMemberAdminActionLinks ($userid) { // Make sure userid is a number - if ($userid != bigintval($userid)) debug_report_bug(__FUNCTION__, __LINE__, 'userid is not a number!'); + if ($userid != bigintval($userid)) { + debug_report_bug(__FUNCTION__, __LINE__, 'userid is not a number!'); + } // END - if // Define all main targets $targetArray = array('del_user', 'edit_user', 'lock_user', 'add_points', 'sub_points'); @@ -1061,6 +1092,12 @@ function generateMemberAdminActionLinks ($userid) { $OUT .= '--}|'; } // END - foreach + // Add special link, in case of the account is unconfirmed + if ($status == 'UNCONFIRMED') { + // Add it + $OUT .= '{--ADMIN_USER_ACTION_LINK_CONFIRM_ACCOUNT--}|'; + } // END - if + // Finish navigation link $OUT = substr($OUT, 0, -1) . ']'; @@ -1085,9 +1122,6 @@ function generateEmailLink ($email, $table = 'admins') { $EMAIL = generateSponsorEmailLink($email); } - // Shall I close the link when there is no admin? - if ((!isAdmin()) && ($EMAIL == $email)) $EMAIL = '#'; // Closed! - // Return email link return $EMAIL; } @@ -1228,7 +1262,9 @@ function handleCodeMessage () { $ext = 'unknown'; // Is extension given? - if (isGetRequestParameterSet('ext')) $ext = getRequestParameter('ext'); + if (isGetRequestParameterSet('ext')) { + $ext = getRequestParameter('ext'); + } // END - if // Convert the 'code' parameter from URL to a human-readable message $message = getMessageFromErrorCode(getRequestParameter('code')); @@ -1238,6 +1274,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 = '{%message,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? @@ -1247,12 +1304,12 @@ function generateExtensionInactiveMessage ($ext_name) { } // END - if // Default message - $message = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name); + $message = '{%message,EXTENSION_PROBLEM_EXTENSION_INACTIVE=' . $ext_name . '%}'; // Is an admin logged in? if (isAdmin()) { // Then output admin message - $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name); + $message = '{%message,ADMIN_EXTENSION_PROBLEM_EXTENSION_INACTIVE=' . $ext_name . '%}'; } // END - if // Return prepared message @@ -1268,12 +1325,12 @@ function generateExtensionNotInstalledMessage ($ext_name) { } // END - if // Default message - $message = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED', $ext_name); + $message = '{%message,EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED=' . $ext_name . '%}'; // Is an admin logged in? if (isAdmin()) { // Then output admin message - $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED', $ext_name); + $message = '{%message,ADMIN_EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED=' . $ext_name . '%}'; } // END - if // Return prepared message @@ -1312,12 +1369,12 @@ 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; } else { - $r .= ($line == ($count_lines - 1)) ? '' : ($line+1); + $r .= ($line == ($count_lines - 1)) ? '' : ($line+1); } $r .= '|'; @@ -1330,42 +1387,54 @@ function linenumberCode ($code) { // Determines the right page title function determinePageTitle () { + // Init page title + $pageTitle = ''; + // Config and database connection valid? if ((isConfigLocalLoaded()) && (isConfigurationLoaded()) && (SQL_IS_LINK_UP()) && (isExtensionInstalledAndNewer('sql_patches', '0.1.6'))) { - // Init title - $TITLE = ''; - // Title decoration enabled? - if ((isTitleDecorationEnabled()) && (getConfig('title_left') != '')) $TITLE .= trim(getConfig('title_left')) . ' '; + if ((isTitleDecorationEnabled()) && (getConfig('title_left') != '')) { + $pageTitle .= '{%config,trim=title_left%} '; + } // END - if // Do we have some extra title? if (isExtraTitleSet()) { - // Then prepent it - $TITLE .= getExtraTitle() . ' by '; + // Then prepend it + $pageTitle .= '{%pipe,getExtraTitle%} by '; } // END - if // Add main title - $TITLE .= getMainTitle(); + $pageTitle .= '{?MAIN_TITLE?}'; // Add title of module? (middle decoration will also be added!) if ((isModuleTitleEnabled()) || ((!isWhatSet()) && (!isActionSet())) || (getModule() == 'admin')) { - $TITLE .= ' ' . trim(getConfig('title_middle')) . ' {DQUOTE} . getModuleTitle(getModule()) . {DQUOTE}'; + $pageTitle .= ' {%config,trim=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)) && (isWhatTitleEnabled())) $TITLE .= ' ' . trim(getConfig('title_middle')) . ' ' . getTitleFromMenu($mode, getWhat()); + if (getModule() == 'login') { + $mode = 'member'; + } elseif (getModule() == 'index') { + $mode = 'guest'; + } elseif (getModule() == 'admin') { + $mode = 'admin'; + } elseif (getModule() == 'sponsor') { + $mode = 'sponsor'; + } - // Add title decorations? (right) - if ((isTitleDecorationEnabled()) && (getConfig('title_right') != '')) $TITLE .= ' ' . trim(getConfig('title_right')); + // Add middle part (always in admin area!) + if ((!empty($mode)) && ((isWhatTitleEnabled()) || ($mode == 'admin'))) { + $pageTitle .= ' {%config,trim=title_middle%} ' . getTitleFromMenu($mode, getWhat()); + } // END - if - // Remember title in constant for the template - $pageTitle = $TITLE; + // Add title decorations? (right) + if ((isTitleDecorationEnabled()) && (getConfig('title_right') != '')) { + $pageTitle .= ' {%config,trim=title_right%}'; + } // END - if } elseif ((isInstalled()) && (isAdminRegistered())) { // Installed, admin registered but no ext-sql_patches - $pageTitle = '[-- ' . getMainTitle() . ' - ' . getModuleTitle(getModule()) . ' --]'; + $pageTitle = '[-- {?MAIN_TITLE?} - {%pipe,getModule,getModuleTitle%} --]'; } elseif ((isInstalled()) && (!isAdminRegistered())) { // Installed but no admin registered $pageTitle = '{--INSTALLER_OF_MAILER_NO_ADMIN--}'; @@ -1373,11 +1442,14 @@ 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 - if ((!isInstalling()) && (!isConfigurationLoaded())) addFatalMessage(__FUNCTION__, __LINE__, '{--NO_CONFIG_FOUND--}'); + if ((!isInstalling()) && (!isConfigurationLoaded())) { + // Please report this + debug_report_bug(__FUNCTION__, __LINE__, 'No configuration data found!'); + } // END - if } // Return title @@ -1440,7 +1512,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)); @@ -1546,9 +1618,9 @@ function sendModeMails ($mod, $modes) { } // Send email to user if required - if ((!empty($sub_mem)) && (!empty($message)) && (!empty($content['email']))) { + if ((!empty($sub_mem)) && (!empty($message)) && (!empty($content['userid']))) { // Send member mail - sendEmail($content['email'], $sub_mem, $message); + sendEmail($content['userid'], $sub_mem, $message); } // END - if // Send only if no other error has occured @@ -1564,7 +1636,7 @@ function sendModeMails ($mod, $modes) { } // Load template - loadTemplate('admin_settings_saved', false, $content['message']); + displayMessage($content['message']); } // Generates a 'selection box' from given array @@ -1639,8 +1711,8 @@ function generateMetaDescriptionCode () { $GLOBALS['page_header'] .= ''; } // END - if - // Remove depth - unset($GLOBALS['ref_level']); + // Initialize referal system + initReferalSystem(); } // Generates an FQFN for template cache from the given template name @@ -1681,8 +1753,29 @@ 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); +} + +// Generates a selection box for (maybe) given gender +function generateGenderSelectionBox ($selectedGender = '') { + // Start the HTML code + $out = ''; + + // Return the code + return $out; +} + //----------------------------------------------------------------------------- -// Template helper functions for EL +// Template helper functions for EL code //----------------------------------------------------------------------------- // Color-switch helper function @@ -1705,19 +1798,70 @@ 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--}'; +function doTemplateExtensionRegistrationLink ($template, $clear, $ext_name) { + // 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, $clear, $bonusId) { + // Call the inner function + return generateAdminMailLinks('bid', $bonusId); +} + +// Helper function to create member mail admin links +function doTemplateAdminMemberMailLinks ($template, $clear, $mailId) { + // Call the inner function + return generateAdminMailLinks('mid', $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 . '!'; + + // Generate the HTML code + if (isConfigEntrySet($configEntry)) { + // Configuration entry is found + $OUT = ''; + } // END - if + + // Return it + return $OUT; +} + +// Helper function to create a selection box for YES/NO form fields +function doTemplateYesNoSelectionBox ($template, $clear, $formField) { + // Generate the HTML code + $OUT = ''; + + // Return it + return $OUT; +} + +// Helper function to create a selection box for YES/NO form fields, by NO is default +function doTemplateNoYesSelectionBox ($template, $clear, $formField) { + // Generate the HTML code + $OUT = ''; + + // Return it + return $OUT; +} + // [EOF] ?>