X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Ftemplate-functions.php;h=b675c6b6dc522617cd22de76010508efe72eed31;hp=fad3dc2df35d68961d078876cebc6f263f70b6f9;hb=e8ca54fe91872ab95a6ffdc4f1268bf18889021d;hpb=4f089d36fcc801992932f3a1f47ab139b573a38d diff --git a/inc/template-functions.php b/inc/template-functions.php index fad3dc2df3..b675c6b6dc 100644 --- a/inc/template-functions.php +++ b/inc/template-functions.php @@ -14,8 +14,6 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * * Copyright (c) 2009, 2010 by Mailer Developer Team * @@ -56,7 +54,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 +80,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 +105,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 +134,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 +154,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,14 +178,16 @@ 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 // Compress it? + /** + * @TODO On some pages this is buggy if (!empty($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos('gzip', $_SERVER['HTTP_ACCEPT_ENCODING']) !== null)) { // Compress it for HTTP gzip - $GLOBALS['output'] = gzencode($GLOBALS['output'], 9, true); + $GLOBALS['output'] = gzencode($GLOBALS['output'], 9); // Add header sendHeader('Content-Encoding: gzip'); @@ -217,6 +198,7 @@ function compileFinalOutput () { // Add header sendHeader('Content-Encoding: deflate'); } + */ // Add final length sendHeader('Content-Length: ' . strlen($GLOBALS['output'])); @@ -226,24 +208,25 @@ 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); // 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 = ''; // Compile it - //* DEBUG: */ debugOutput('
'.encodeEntities($code).'
'); - $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code))) . '";'; - //* DEBUG: */ if (!$insertComments) print('
'.linenumberCode($eval).'
'); + //* DEBUG: */ debugOutput('
'.linenumberCode($code).'
'); + $eval = '$newContent = "' . str_replace('{DQUOTE}', '"', compileCode(escapeQuotes($code), false, true, $enableCodes)) . '";'; + //* DEBUG: */ if (!$insertComments) print('EVAL=
'.linenumberCode($eval).'
'); eval($eval); + //* DEBUG: */ if (!$insertComments) print('NEW=
'.linenumberCode($newContent).'
'); //* DEBUG: */ die('
'.encodeEntities($newContent).'
'); // Was that eval okay? @@ -256,7 +239,7 @@ function doFinalCompilation ($code, $insertComments = true) { $code = $newContent; // Count round - $cnt++; + $count++; } // END - while // Return the compiled code @@ -293,15 +276,12 @@ function loadTemplate ($template, $return = false, $content = array()) { // Init some data $ret = ''; - 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? @@ -316,34 +296,34 @@ function loadTemplate ($template, $return = false, $content = array()) { incrementConfigEntry('num_templates'); // The local file does exists so we load it. :) - $GLOBALS['tpl_content'] = readFromFile($FQFN); + $GLOBALS['tpl_content'][$template] = readFromFile($FQFN); // Do we have to compile the code? $ret = ''; - if ((strpos($GLOBALS['tpl_content'], '$') !== false) || (strpos($GLOBALS['tpl_content'], '{--') !== false) || (strpos($GLOBALS['tpl_content'], '{?') !== false) || (strpos($GLOBALS['tpl_content'], '{%') !== false)) { + if ((strpos($GLOBALS['tpl_content'][$template], '$') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{--') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{?') !== false) || (strpos($GLOBALS['tpl_content'][$template], '{%') !== false)) { // Normal HTML output? - if (getOutputMode() == '0') { + if (isHtmlOutputMode()) { // Add surrounding HTML comments to help finding bugs faster - $ret = '' . $GLOBALS['tpl_content'] . ''; + $ret = '' . $GLOBALS['tpl_content'][$template] . ''; // Prepare eval() command $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileCode(escapeQuotes($ret)) . '";'; } elseif (substr($template, 0, 3) == 'js_') { // JavaScripts don't like entities and timings - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeJavaScriptQuotes($GLOBALS['tpl_content'][$template])) . '");'; } else { // Prepare eval() command, other output doesn't like entities, maybe - $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'])) . '");'; + $GLOBALS['template_eval'][$template] = '$ret = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; } } else { // Add surrounding HTML comments to help finding bugs faster - $ret = '' . $GLOBALS['tpl_content'] . ''; + $ret = '' . $GLOBALS['tpl_content'][$template] . ''; $GLOBALS['template_eval'][$template] = '$ret = "' . getColorSwitchCode($template) . compileRawCode(escapeQuotes($ret)) . '";'; } // END - if } elseif ((isAdmin()) || ((isInstalling()) && (!isInstalled()))) { // Only admins shall see this warning or when installation mode is active $ret = '
- {--TEMPLATE_404--} + {--TEMPLATE_404--}
(' . $template . ') @@ -435,7 +415,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! @@ -444,12 +424,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'] = '{%pipe,getAutoPurge,createFancyTime%}'; } else { // Missing entry $content['expiration'] = '{--MAIL_NO_CONFIG_AUTO_PURGE--}'; @@ -458,7 +438,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!
"); @@ -472,14 +452,14 @@ 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
"); } // 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); @@ -497,11 +477,11 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { $newContent = ''; if (isFileReadable($FQFN)) { // The local file does exists so we load it. :) - $GLOBALS['tpl_content'] = readFromFile($FQFN); + $GLOBALS['tpl_content'][$template] = readFromFile($FQFN); // Run code - $GLOBALS['tpl_content'] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'])) . '");'; - eval($GLOBALS['tpl_content']); + $GLOBALS['tpl_content'][$template] = '$newContent = decodeEntities("' . compileRawCode(escapeQuotes($GLOBALS['tpl_content'][$template])) . '");'; + eval($GLOBALS['tpl_content'][$template]); } elseif (!empty($template)) { // Template file not found! $newContent = '
@@ -515,7 +495,10 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') {
'; // Debug mode not active? Then remove the HTML tags - if (!isDebugModeEnabled()) $newContent = secureString($newContent); + if (!isDebugModeEnabled()) { + // Remove HTML tags + $newContent = secureString($newContent); + } // END - if } else { // No template name supplied! $newContent = '{--NO_TEMPLATE_SUPPLIED--}'; @@ -524,7 +507,7 @@ function loadEmailTemplate ($template, $content = array(), $userid = '0') { // Is there some content? if (empty($newContent)) { // Compiling failed - $newContent = "Compiler error for template " . $template . " !\nUncompiled content:\n" . $GLOBALS['tpl_content']; + $newContent = "Compiler error for template " . $template . " !\nUncompiled content:\n" . $GLOBALS['tpl_content'][$template]; // Add last error if the required function exists if (function_exists('error_get_last')) $newContent .= "\n--------------------------------------\nDebug:\n".print_r(error_get_last(), true)."--------------------------------------\nPlease don't alter these informations!\nThanx."; @@ -668,7 +651,7 @@ function compileRawCode ($code, $simple = false, $constants = true, $full = true } // -function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'register_select') { +function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 'form_select') { $OUT = ''; if ($type == 'yn') { @@ -783,9 +766,9 @@ function addSelectionBox ($type, $default, $prefix = '', $id = '0', $class = 're // Insert the code in $img_code into jpeg or PNG image function generateImageOrCode ($img_code, $headerSent = true) { // Is the code size oversized or shouldn't we display it? - if ((strlen($img_code) > 6) || (empty($img_code)) || (getConfig('code_length') == '0')) { + if ((strlen($img_code) > 6) || (empty($img_code)) || (getCodeLength() == '0')) { // Stop execution of function here because of over-sized code length - debug_report_bug(__FUNCTION__, __LINE__, 'img_code ' . $img_code .' has invalid length. img_code()=' . strlen($img_code) . ' code_length=' . getConfig('code_length')); + debug_report_bug(__FUNCTION__, __LINE__, 'img_code ' . $img_code .' has invalid length. img_code()=' . strlen($img_code) . ' code_length=' . getCodeLength()); } elseif ($headerSent === false) { // Return an HTML code here return 'Image'; @@ -793,28 +776,26 @@ function generateImageOrCode ($img_code, $headerSent = true) { // Load image $img = sprintf("%s/theme/%s/images/code_bg.%s", - getConfig('PATH'), + getPath(), getCurrentTheme(), - getConfig('img_type') + getImgType() ); // Is it readable? if (isFileReadable($img)) { // Switch image type - switch (getConfig('img_type')) { - case 'jpg': - // Okay, load image and hide all errors + switch (getImgType()) { + case 'jpg': // Okay, load image and hide all errors $image = imagecreatefromjpeg($img); break; - case 'png': - // Okay, load image and hide all errors + case 'png': // Okay, load image and hide all errors $image = imagecreatefrompng($img); break; } // END - switch } else { - // Exit function here - logDebugMessage(__FUNCTION__, __LINE__, sprintf("File for image type %s not found.", getConfig('img_type'))); + // Silently log the error + logDebugMessage(__FUNCTION__, __LINE__, sprintf("File for image-type %s in theme %s not found.", getImgType(), getCurrentTheme())); return; } @@ -825,10 +806,10 @@ function generateImageOrCode ($img_code, $headerSent = true) { imagestring($image, 5, 14, 2, $img_code, $text_color); // Return to browser - sendHeader('Content-Type: image/' . getConfig('img_type')); + setContentType('image/' . getImgType()); // Output image with matching image factory - switch (getConfig('img_type')) { + switch (getImgType()) { case 'jpg': imagejpeg($image); break; case 'png': imagepng($image); break; } // END - switch @@ -859,7 +840,7 @@ 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 = getConfig('ONE_DAY'); + if ((floor($TEST) == $TEST) && ($M1 == '02') && ($M2 > '02')) $SWITCH = getOneDay(); // First of all years... $Y = abs(floor($timestamp / (31536000 + $SWITCH))); @@ -868,19 +849,19 @@ function createTimeSelections ($timestamp, $prefix = '', $display = '', $align = $M = abs(floor($timestamp / 2628000 - $Y * 12)); //* DEBUG: */ debugOutput('M=' . $M); // Next weeks - $W = abs(floor($timestamp / 604800 - $Y * ((365 + $SWITCH / getConfig('ONE_DAY')) / 7) - ($M / 12 * (365 + $SWITCH / getConfig('ONE_DAY')) / 7))); + $W = abs(floor($timestamp / 604800 - $Y * ((365 + $SWITCH / getOneDay()) / 7) - ($M / 12 * (365 + $SWITCH / getOneDay()) / 7))); //* DEBUG: */ debugOutput('W=' . $W); // Next days... - $D = abs(floor($timestamp / 86400 - $Y * (365 + $SWITCH / getConfig('ONE_DAY')) - ($M / 12 * (365 + $SWITCH / getConfig('ONE_DAY'))) - $W * 7)); + $D = abs(floor($timestamp / 86400 - $Y * (365 + $SWITCH / getOneDay()) - ($M / 12 * (365 + $SWITCH / getOneDay())) - $W * 7)); //* DEBUG: */ debugOutput('D=' . $D); // Next hours... - $h = abs(floor($timestamp / 3600 - $Y * (365 + $SWITCH / getConfig('ONE_DAY')) * 24 - ($M / 12 * (365 + $SWITCH / getConfig('ONE_DAY')) * 24) - $W * 7 * 24 - $D * 24)); + $h = abs(floor($timestamp / 3600 - $Y * (365 + $SWITCH / getOneDay()) * 24 - ($M / 12 * (365 + $SWITCH / getOneDay()) * 24) - $W * 7 * 24 - $D * 24)); //* DEBUG: */ debugOutput('h=' . $h); // Next minutes.. - $m = abs(floor($timestamp / 60 - $Y * (365 + $SWITCH / getConfig('ONE_DAY')) * 24 * 60 - ($M / 12 * (365 + $SWITCH / getConfig('ONE_DAY')) * 24 * 60) - $W * 7 * 24 * 60 - $D * 24 * 60 - $h * 60)); + $m = abs(floor($timestamp / 60 - $Y * (365 + $SWITCH / getOneDay()) * 24 * 60 - ($M / 12 * (365 + $SWITCH / getOneDay()) * 24 * 60) - $W * 7 * 24 * 60 - $D * 24 * 60 - $h * 60)); //* DEBUG: */ debugOutput('m=' . $m); // And at last seconds... - $s = abs(floor($timestamp - $Y * (365 + $SWITCH / getConfig('ONE_DAY')) * 24 * 3600 - ($M / 12 * (365 + $SWITCH / getConfig('ONE_DAY')) * 24 * 3600) - $W * 7 * 24 * 3600 - $D * 24 * 3600 - $h * 3600 - $m * 60)); + $s = abs(floor($timestamp - $Y * (365 + $SWITCH / getOneDay()) * 24 * 3600 - ($M / 12 * (365 + $SWITCH / getOneDay()) * 24 * 3600) - $W * 7 * 24 * 3600 - $D * 24 * 3600 - $h * 3600 - $m * 60)); //* DEBUG: */ debugOutput('s=' . $s); // Is seconds zero and time is < 60 seconds? @@ -1054,19 +1035,25 @@ function generateMemberAdminActionLinks ($userid) { $OUT = '['; foreach ($targetArray as $tar) { - $OUT .= '{--ADMIN_'; + $OUT .= '_TITLE--}">{--ADMIN_USER_ACTION_LINK_'; if (($tar == 'lock_user') && ($status == 'LOCKED')) { // Locked accounts shall be unlocked $OUT .= 'UNLOCK_USER'; + } elseif ($tar == 'del_user') { + // @TODO Deprecate this thing + $OUT .= 'DELETE_USER'; } else { // All other status is fine $OUT .= strtoupper($tar); @@ -1092,10 +1079,10 @@ function generateEmailLink ($email, $table = 'admins') { $EMAIL = generateAdminEmailLink($email); } elseif ((isExtensionInstalledAndNewer('user', '0.3.3')) && ($table == 'user_data')) { // Create email link for contacting a member within admin area (or later in other areas, too?) - $EMAIL = generateUserEmailLink($email, 'admin'); + $EMAIL = generateUserEmailLink($email); } elseif ((isExtensionActive('sponsor')) && ($table == 'sponsor_data')) { // Create email link to contact sponsor within admin area (or like the link above?) - $EMAIL = generateSponsorEmailLink($email, 'sponsor_data'); + $EMAIL = generateSponsorEmailLink($email); } // Shall I close the link when there is no admin? @@ -1108,28 +1095,28 @@ function generateEmailLink ($email, $table = 'admins') { // Output error messages in a fasioned way and die... function app_die ($F, $L, $message) { // Check if Script is already dieing and not let it kill itself another 1000 times - if (!isset($GLOBALS['app_died'])) { - // Make sure, that the script realy realy diese here and now - $GLOBALS['app_died'] = true; + if (isset($GLOBALS['app_died'])) { + // Script tried to kill itself twice + die('[' . __FUNCTION__ . ':' . __LINE__ . ']: Script wanted to kill itself more than once! Raw message=' . $message . ', file/function=' . $F . ', line=' . $L); + } // END - if - // Set content type as text/html - setContentType('text/html'); + // Make sure, that the script realy realy diese here and now + $GLOBALS['app_died'] = true; - // Load header - loadIncludeOnce('inc/header.php'); + // Set content type as text/html + setContentType('text/html'); - // Rewrite message for output - $message = sprintf(getMessage('MAILER_HAS_DIED'), basename($F), $L, $message); + // Load header + loadIncludeOnce('inc/header.php'); - // Load the message template - loadTemplate('app_die_message', false, $message); + // Rewrite message for output + $message = sprintf(getMessage('MAILER_HAS_DIED'), basename($F), $L, $message); - // Load footer - loadIncludeOnce('inc/footer.php'); - } else { - // Script tried to kill itself twice - die('['.__FUNCTION__.':'.__LINE__.']: Script wanted to kill itself more than once! Raw message=' . $message . ', file/function=' . $F . ', line=' . $L); - } + // Load the message template + loadTemplate('app_die_message', false, $message); + + // Load footer + loadIncludeOnce('inc/footer.php'); } // Display parsing time and number of SQL queries in footer @@ -1147,7 +1134,9 @@ function displayParsingTime () { $start = explode(' ', $GLOBALS['startTime']); $end = explode(' ', $endTime); $runTime = $end[0] - $start[0]; - if ($runTime < 0) $runTime = '0'; + if ($runTime < 0) { + $runTime = '0'; + } // END - if // Prepare output // @TODO This can be easily moved out after the merge from EL branch to this is complete @@ -1165,7 +1154,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 @@ -1188,11 +1177,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())) { @@ -1258,12 +1247,12 @@ function generateExtensionInactiveMessage ($ext_name) { } // END - if // Default message - $message = getMaskedMessage('EXTENSION_PROBLEM_EXT_INACTIVE', $ext_name); + $message = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name); // Is an admin logged in? if (isAdmin()) { // Then output admin message - $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXT_INACTIVE', $ext_name); + $message = getMaskedMessage('ADMIN_EXTENSION_PROBLEM_EXTENSION_INACTIVE', $ext_name); } // END - if // Return prepared message @@ -1334,7 +1323,7 @@ function linenumberCode ($code) { // Add code $r .= '' . encodeEntities($c) . '
'; - } + } // END - foreach return '
' . $r . '
'; } @@ -1347,7 +1336,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()) { @@ -1356,33 +1345,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--}'; @@ -1473,6 +1462,9 @@ function escapeJavaScriptQuotes ($str) { // Send out mails depending on the 'mod/modes' combination // @TODO Lame description for this function function sendModeMails ($mod, $modes) { + // Init user data + $content = array (); + // Load hash if (fetchUserData(getMemberId())) { // Extract salt from cookie @@ -1500,7 +1492,7 @@ function sendModeMails ($mod, $modes) { $content['message'] = '{--MEMBER_CHANGED_EMAIL--}' . ': ' . postRequestParameter('old_email') . "\n"; break; - case 'pass': // Password was changed + case 'password': // Password was changed $content['message'] = '{--MEMBER_CHANGED_PASS--}' . "\n"; break; @@ -1522,7 +1514,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--}'; @@ -1536,61 +1528,59 @@ function sendModeMails ($mod, $modes) { $sub_mem = '{--MEMBER_CHANGED_DATA--}'; // Output success message - $content = '{--MYDATA_MAIL_SENT--}'; + $content['message'] = '{--MEMBER_MYDATA_MAIL_SENT--}'; break; default: // Unsupported module! logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unsupported module %s detected.", $mod)); - $content = '{--UNKNOWN_MODULE--}'; + $content['message'] = '{--UNKNOWN_MODULE--}'; break; } // END - switch } else { // Passwords mismatch - $content = '{--MEMBER_PASSWORD_ERROR--}'; + $content['message'] = '{--MEMBER_PASSWORD_ERROR--}'; } } else { // Could not load profile - $content = '{--MEMBER_CANNOT_LOAD_PROFILE--}'; + $content['message'] = '{--MEMBER_CANNOT_LOAD_PROFILE--}'; } // Send email to user if required - if ((!empty($sub_mem)) && (!empty($message))) { + if ((!empty($sub_mem)) && (!empty($message)) && (!empty($content['email']))) { // Send member mail sendEmail($content['email'], $sub_mem, $message); } // END - if // Send only if no other error has occured - if (empty($content)) { - if ((!empty($sub_adm)) && (!empty($message_admin))) { - // Send admin mail - sendAdminNotification($sub_adm, $message_admin, $content, getMemberId()); - } elseif (getConfig('admin_notify') == 'Y') { - // Cannot send mails to admin! - $content = '{--CANNOT_SEND_ADMIN_MAILS--}'; - } else { - // No mail to admin - $content = '{--MYDATA_MAIL_SENT--}'; - } - } // END - if + if ((!empty($sub_adm)) && (!empty($message_admin)) && (isAdminNotificationEnabled())) { + // Send admin mail + sendAdminNotification($sub_adm, $message_admin, $content, getMemberId()); + } elseif (isAdminNotificationEnabled()) { + // Cannot send mails to admin! + $content['message'] = '{--CANNOT_SEND_ADMIN_MAILS--}'; + } else { + // No mail to admin + $content['message'] = '{--MEMBER_MYDATA_MAIL_SENT--}'; + } // Load template - loadTemplate('admin_settings_saved', false, $content); + loadTemplate('admin_settings_saved', false, $content['message']); } // Generates a 'selection box' from given array function generateSelectionBoxFromArray ($options, $name, $optionValue, $optionContent = '', $extraName = '') { // Start the output - $OUT = ' '; // Walk through all options foreach ($options as $option) { - // Add the '; } } // END - foreach @@ -1660,7 +1650,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 ); @@ -1685,5 +1675,49 @@ function fixNullEmptyToDashes ($str, $num) { return $return; } +// Translates the "pool type" into human-readable +function translatePoolType ($type) { + // Return "translation" + return sprintf("{--POOL_TYPE_%s--}", strtoupper($type)); +} + +//----------------------------------------------------------------------------- +// Template helper functions for EL +//----------------------------------------------------------------------------- + +// 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]; + } + + // 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] ?>