X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flanguage-functions.php;h=5a7b9dacd9217a73cbccbe2f41e9bb686abec8e0;hp=ce44f5849d69f3af7bc454936d8ec38eb4567ab9;hb=6c6f24bd5a3817573d1d49ed114700914ae8c920;hpb=21f7b63f7fa3e92ef44510a080ec05709fd41417 diff --git a/inc/language-functions.php b/inc/language-functions.php index ce44f5849d..5a7b9dacd9 100644 --- a/inc/language-functions.php +++ b/inc/language-functions.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -41,9 +41,8 @@ if (!defined('__SECURITY')) { } // END - if // "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? @@ -70,6 +69,7 @@ function getMaskedMessage ($messageId, $data) { // Init messages function initMessages () { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'getLanguage()=' . getLanguage()); $GLOBALS['messages'][getLanguage()] = array(); } @@ -77,6 +77,7 @@ function initMessages () { function addMessages ($messages) { // Cache current language $currentLanguage = getCurrentLanguage(); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'currentLanguage=' . $currentLanguage); // Merge both $GLOBALS['messages'][$currentLanguage] = merge_array($GLOBALS['messages'][$currentLanguage], $messages); @@ -94,7 +95,7 @@ function addMessages ($messages) { } } -// Checks wether given message id is valid +// Checks whether given message id is valid function isMessageIdValid ($messageId) { return (isset($GLOBALS['messages'][getCurrentLanguage()][$messageId])); } @@ -109,34 +110,46 @@ function setCurrentLanguage ($language) { $GLOBALS['language'] = (string) $language; } +// Checks whether current language is set +function isCurrentLanguageSet () { + return (isset($GLOBALS['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 = getDefaultLanguage(); - - // 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(); - } + // Is there cache? + if (!isCurrentLanguageSet()) { + // 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 (isGetRequestElementSet('mailer_lang')) { + // Accept only first 2 chars + $ret = substr(getRequestElement('mailer_lang'), 0, 2); + } elseif (isCurrentLanguageSet()) { + // Use cached + $ret = getCurrentLanguage(); + } elseif (isSessionVariableSet('mailer_lang')) { + // Return stored value from cookie + $ret = getSession('mailer_lang'); + + // Fixes a warning before the session has the mailer_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 @@ -145,12 +158,12 @@ function setLanguage ($lang) { $lang = substr(secureString($lang), 0, 2); // Set cookie - setSession('mx_lang', $lang); + setSession('mailer_lang', $lang); } -// Checks wether a language file is there for optional extension +// Checks whether a language file is there for optional extension function isLanguageIncludeReadable ($ext_name = 'none') { - // Do we have array element? + // Is there array element? if (!isset($GLOBALS['lang_inc'][$ext_name])) { // Generate filename if ($ext_name == 'none') { @@ -163,7 +176,7 @@ function isLanguageIncludeReadable ($ext_name = 'none') { // Look for file if no extension name is provided $GLOBALS['lang_inc'][$ext_name] = isIncludeReadable($languageInclude); - //* DEBUG: */ debugOutput(__FUNCTION__.':'.$ext_name.'='.$languageInclude.'='.intval(isIncludeReadable($languageInclude))); + //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=' . $languageInclude . '=' . intval(isIncludeReadable($languageInclude))); } // END - if // Return it @@ -186,7 +199,7 @@ function loadLanguageFile ($ext_name = 'none') { setLanguage($currLanguage); } // END - if - // Do we have the language file NOT? + // Is there the language file NOT? if (!isLanguageIncludeReadable($ext_name)) { // Switch to default (DO NOT CHANGE!!!) setLanguage('de'); @@ -256,21 +269,23 @@ function ifLanguageFilesCompares ($source, $target, $targetLanguage) { // Init differences $GLOBALS['lang_diff'][$target] = array(); $GLOBALS['lang_diff_count'][$target] = 0; - if (!isset($GLOBALS['lang_diff_count']['total'])) $GLOBALS['lang_diff_count']['total'] = 0; + if (!isset($GLOBALS['lang_diff_count']['total'])) { + $GLOBALS['lang_diff_count']['total'] = 0; + } // END - if // *Does* match by default - $matches = true; + $matches = TRUE; // Is one not readable? if (!isIncludeReadable($source)) { // Please report this bug! - debug_report_bug(__FUNCTION__, __LINE__, 'Source file ' . $source . ' is not readable.'); + reportBug(__FUNCTION__, __LINE__, 'Source file ' . $source . ' is not readable.'); } elseif (!isIncludeReadable($target)) { // Please report this bug! - debug_report_bug(__FUNCTION__, __LINE__, 'Target file ' . $target . ' is not readable.'); + reportBug(__FUNCTION__, __LINE__, 'Target file ' . $target . ' is not readable.'); } elseif ($targetLanguage == getCurrentLanguage()) { // Must be different - debug_report_bug(__FUNCTION__, __LINE__, 'Target language ' . $targetLanguage . ' is same as current.'); + reportBug(__FUNCTION__, __LINE__, 'Target language ' . $targetLanguage . ' is same as current.'); } // Backup current messages/language @@ -279,7 +294,7 @@ function ifLanguageFilesCompares ($source, $target, $targetLanguage) { $GLOBALS['messages'][$backupLang] = array(); // Both are readable so include current language file - $GLOBALS['count'] = false; + $GLOBALS['count'] = FALSE; loadInclude($source); $GLOBALS['msgs'][$source] = $GLOBALS['messages'][$backupLang]; unset($GLOBALS['count']); @@ -287,7 +302,7 @@ function ifLanguageFilesCompares ($source, $target, $targetLanguage) { // Set target language setCurrentLanguage($targetLanguage); - // Do we have an array? + // Is there an array? if (!isset($GLOBALS['messages'][$targetLanguage])) { // Then create it to avoid notice $GLOBALS['messages'][$targetLanguage] = array(); @@ -306,7 +321,7 @@ function ifLanguageFilesCompares ($source, $target, $targetLanguage) { // Do they mismatch? if ((count($GLOBALS['msgs'][$source])) != (count($GLOBALS['msgs'][$target]))) { // Does not match - $matches = false; + $matches = FALSE; // Check all differences foreach ($GLOBALS['msgs'][$source] as $key => $value) { @@ -331,19 +346,20 @@ function getLanguageComparisonDifference ($target) { return $GLOBALS['lang_diff_count'][$target]; } -// Checks wether the given message is masked -function isMessageMasked ($messageId) { +// Checks whether the given message is masked +function isMessageMasked ($messageId, $strict = TRUE) { // Is the message id valid? - if (!isMessageIdValid($messageId)) { + if (($strict === TRUE) && (!isMessageIdValid($messageId))) { // No, then abort here - debug_report_bug(__FUNCTION__, __LINE__, 'Invalid message id ' . $messageId . ' detected.'); + reportBug(__FUNCTION__, __LINE__, 'Invalid message id ' . $messageId . ' detected.'); } // END - if // Now simply check it - $masked = (strpos($GLOBALS['messages'][getCurrentLanguage()][$messageId], '%') !== false); + $isMasked = isInString('%', getMessage($messageId)); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'messageId=' . $messageId . ',isMasked=' . intval($isMasked)); // Return result - return $masked; + return $isMasked; } // [EOF]