* $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 *
- * 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 *
} // 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?
return $return;
}
+// Getter for message string as a mask
+function getMaskedMessage ($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 = getConfig('DEFAULT_LANG');
-
- // Is the variable set
- if (isGetRequestElementSet('mx_lang')) {
- // Accept only first 2 chars
- $ret = substr(getRequestElement('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');
- }
+ // 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: */ print __FUNCTION__.':'.$ext_name.'='.$languageInclude.'='.intval(isIncludeReadable($languageInclude)).'<br />';
+ //* DEBUG: */ debugOutput(__FUNCTION__ . ':' . $ext_name . '=' . $languageInclude . '=' . intval(isIncludeReadable($languageInclude)));
} // END - if
// Return it
// 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);
} // 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');
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,
// 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__ . ': 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__ . ': 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__ . ': 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 whether the given message is masked
+function isMessageMasked ($messageId, $strict = TRUE) {
+ // Is the message id valid?
+ if (($strict === TRUE) && (!isMessageIdValid($messageId))) {
+ // No, then abort here
+ reportBug(__FUNCTION__, __LINE__, 'Invalid message id ' . $messageId . ' detected.');
+ } // END - if
+
+ // Now simply check it
+ $isMasked = isInString('%', getMessage($messageId));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'messageId=' . $messageId . ',isMasked=' . intval($isMasked));
+
+ // Return result
+ return $isMasked;
+}
+
// [EOF]
?>