* $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 - 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 *
// "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);
}
}
$GLOBALS['language'] = (string) $language;
}
+// Checks wether 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');
- }
+ // Do we have 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 (isGetRequestParameterSet('mailer_lang')) {
+ // Accept only first 2 chars
+ $ret = substr(getRequestParameter('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
// 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);
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;
// 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
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]
?>