X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flanguage-functions.php;h=6d5735476904f0c8aaf10e7145e3d8e542958f75;hb=be39a7fb887473487fd2c5f8d550aa03b720cb73;hp=f8e9d6162288b29089a2ba92f94bc9da481dc2ad;hpb=09f5758c42a33a56bdd461c946ffe759a59c54aa;p=mailer.git diff --git a/inc/language-functions.php b/inc/language-functions.php index f8e9d61622..6d57354769 100644 --- a/inc/language-functions.php +++ b/inc/language-functions.php @@ -14,11 +14,9 @@ * $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 * + * 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 * @@ -45,7 +43,7 @@ if (!defined('__SECURITY')) { // "Getter" for language strings // @TODO Rewrite all language constants to this function. function getMessage ($messageId) { - // Default is not found! + // Default is not found $return = '!' . $messageId . '!'; // Is the language string found? @@ -63,27 +61,38 @@ function getMessage ($messageId) { // Getter for message string as a mask function getMaskedMessage ($messageId, $data) { - return sprintf(getMessage($messageId), $data); + // Construct message + $message = sprintf(getMessage($messageId), $data); + + // Return it + return $message; } // Init messages function initMessages () { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLanguage()=' . getLanguage()); $GLOBALS['messages'][getLanguage()] = array(); } // Add messages function addMessages ($messages) { + // Cache current language + $currentLanguage = getCurrentLanguage(); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentLanguage=' . $currentLanguage); + // Merge both - $GLOBALS['messages'][getCurrentLanguage()] = merge_array($GLOBALS['messages'][getCurrentLanguage()], $messages); + $GLOBALS['messages'][$currentLanguage] = merge_array($GLOBALS['messages'][$currentLanguage], $messages); // Don't count them if we don't want it - if (isset($GLOBALS['count'])) return; + if (isset($GLOBALS['count'])) { + return; + } // END - if // And count them - if (isset($GLOBALS['msg_count'][getCurrentLanguage()])) { - $GLOBALS['msg_count'][getCurrentLanguage()] += count($messages); + if (isset($GLOBALS['msg_count'][$currentLanguage])) { + $GLOBALS['msg_count'][$currentLanguage] += count($messages); } else { - $GLOBALS['msg_count'][getCurrentLanguage()] = count($messages); + $GLOBALS['msg_count'][$currentLanguage] = count($messages); } } @@ -104,32 +113,39 @@ function setCurrentLanguage ($language) { // "Getter" for language function getLanguage () { - // Default is 'de'. DO NOT CHANGE THIS!!! - $ret = 'de'; - - // Set default return value to default language from config - if (isConfigEntrySet('DEFAULT_LANG')) $ret = getConfig('DEFAULT_LANG'); - - // Is the variable set - if (isGetRequestParameterSet('mx_lang')) { - // Accept only first 2 chars - $ret = substr(getRequestParameter('mx_lang'), 0, 2); - } elseif (isset($GLOBALS['language'])) { - // Use cached - $ret = getCurrentLanguage(); - } elseif (isSessionVariableSet('mx_lang')) { - // Return stored value from cookie - $ret = getSession('mx_lang'); - - // Fixes a warning before the session has the mx_lang constant - if (empty($ret)) $ret = getConfig('DEFAULT_LANG'); - } + // Do we have cache? + if (!isset($GLOBALS['language'])) { + // Default is 'de'. DO NOT CHANGE THIS!!! + $ret = 'de'; + + // Set default return value to default language from config + if (isConfigEntrySet('DEFAULT_LANG')) { + $ret = getDefaultLanguage(); + } // END - if + + // Is the variable set + if (isGetRequestParameterSet('mx_lang')) { + // Accept only first 2 chars + $ret = substr(getRequestParameter('mx_lang'), 0, 2); + } elseif (isset($GLOBALS['language'])) { + // Use cached + $ret = getCurrentLanguage(); + } elseif (isSessionVariableSet('mx_lang')) { + // Return stored value from cookie + $ret = getSession('mx_lang'); + + // Fixes a warning before the session has the mx_lang constant + if (empty($ret)) { + $ret = getDefaultLanguage(); + } // END - if + } - // Cache entry - setCurrentLanguage($ret); + // Cache entry + setCurrentLanguage($ret); + } // END - if - // Return value - return $ret; + // Return cached value + return getCurrentLanguage(); } // "Setter" for language @@ -156,7 +172,7 @@ function isLanguageIncludeReadable ($ext_name = 'none') { // Look for file if no extension name is provided $GLOBALS['lang_inc'][$ext_name] = isIncludeReadable($languageInclude); - //* DEBUG: */ print __FUNCTION__.':'.$ext_name.'='.$languageInclude.'='.intval(isIncludeReadable($languageInclude)).'
'; + //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=' . $languageInclude . '=' . intval(isIncludeReadable($languageInclude))); } // END - if // Return it @@ -173,7 +189,7 @@ function loadLanguageFile ($ext_name = 'none') { // Set default language if it is not (yet) set if (is_null($currLanguage)) { // Get it from config - $currLanguage = getConfig('DEFAULT_LANG'); + $currLanguage = getDefaultLanguage(); // And save it in session setLanguage($currLanguage); @@ -192,7 +208,7 @@ function loadLanguageFile ($ext_name = 'none') { if (isLanguageIncludeReadable($ext_name)) { // Load language file loadLanguageInclude($ext_name); - } elseif ((isDebugModeEnabled()) && (getOutputMode() == '0') && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) { + } elseif ((isDebugModeEnabled()) && (isHtmlOutputMode()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) { // No language file is not so good... logDebugMessage(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no language file or we cannot read from it. lang=%s, mode=%s", $ext_name, @@ -257,13 +273,13 @@ function ifLanguageFilesCompares ($source, $target, $targetLanguage) { // Is one not readable? if (!isIncludeReadable($source)) { // Please report this bug! - debug_report_bug(__FUNCTION__ . ': Source file ' . $source . ' is not readable.'); + debug_report_bug(__FUNCTION__, __LINE__, 'Source file ' . $source . ' is not readable.'); } elseif (!isIncludeReadable($target)) { // Please report this bug! - debug_report_bug(__FUNCTION__ . ': Target file ' . $target . ' is not readable.'); + debug_report_bug(__FUNCTION__, __LINE__, 'Target file ' . $target . ' is not readable.'); } elseif ($targetLanguage == getCurrentLanguage()) { // Must be different - debug_report_bug(__FUNCTION__ . ': Target language ' . $targetLanguage . ' is same as current.'); + debug_report_bug(__FUNCTION__, __LINE__, 'Target language ' . $targetLanguage . ' is same as current.'); } // Backup current messages/language @@ -324,5 +340,20 @@ function getLanguageComparisonDifference ($target) { return $GLOBALS['lang_diff_count'][$target]; } +// Checks wether the given message is masked +function isMessageMasked ($messageId) { + // Is the message id valid? + if (!isMessageIdValid($messageId)) { + // No, then abort here + debug_report_bug(__FUNCTION__, __LINE__, 'Invalid message id ' . $messageId . ' detected.'); + } // END - if + + // Now simply check it + $masked = (strpos($GLOBALS['messages'][getCurrentLanguage()][$messageId], '%') !== false); + + // Return result + return $masked; +} + // [EOF] ?>