* $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 *
- * 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 *
// "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?
// 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);
}
}
-// Checks wether given message id is valid
+// Checks whether given message id is valid
function isMessageIdValid ($messageId) {
return (isset($GLOBALS['messages'][getCurrentLanguage()][$messageId]));
}
$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
$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') {
// 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
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');
// 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
$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']);
// 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();
// 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) {
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);
+ $masked = isInString('%', getMessage($messageId));
// Return result
return $masked;