]> git.mxchange.org Git - mailer.git/blobdiff - inc/language-functions.php
Should not be loadInclude() here, we need to rewrite EXT_LOAD_MODE and EXT_VER here
[mailer.git] / inc / language-functions.php
index b416d32dc07b60e39a2e7d6741f0efa2346e04e1..8aa635052922ac45c81be76e16e77ee7fa94d94e 100644 (file)
@@ -45,7 +45,7 @@ if (!defined('__SECURITY')) {
 // @TODO Rewrite all language constants to this function.
 function getMessage ($messageId) {
        // Default is not found!
-       $return = '!'.$messageId.'!';
+       $return = '!' . $messageId . '!';
 
        // Is the language string found?
        if (isset($GLOBALS['msg'][strtolower($messageId)])) {
@@ -83,7 +83,7 @@ function getLanguage () {
                $ret = $GLOBALS['cache_array']['language'];
        } elseif (!empty($lang)) {
                // Check if main language file does exist
-               if (isFileReadable(constant('PATH') . 'inc/language/'.$lang.'.php')) {
+               if (isIncludeReadable('inc/language/' . $lang . '.php')) {
                        // Okay found, so let's update cookies
                        setLanguage($lang);
                } // END - if
@@ -111,5 +111,52 @@ function setLanguage ($lang) {
        setSession('mx_lang', $lang);
 }
 
+// Load the current language file or fixes it to 'de'
+// If ext_name is empty, load general language support, else load extension's
+// language file.
+function loadLanguageFile ($ext_name = '') {
+       // Try to get language from session
+       $mx_lang = getSession('mx_lang');
+
+       // Set default language if it is not (yet) set
+       if (is_null($mx_lang)) $mx_lang = getConfig('DEFAULT_LANG');
+
+       // Generate filename
+       if (empty($ext_name)) {
+               // Generic
+               $languageInclude = sprintf("inc/language/%s.php", SQL_ESCAPE($mx_lang));
+       } else {
+               // Extension's language file
+               $languageInclude = sprintf("inc/language/%s_%s.php", $ext_name, getLanguage());
+       }
+
+       // Look for file if no extension name is provided
+       if ((empty($ext_name)) && (isIncludeReadable($languageInclude) === false)) {
+               // Switch to default (DO NOT CHANGE!!!)
+               setLanguage('de');
+               $languageInclude = 'inc/language/de.php';
+
+               // And set it temporarily
+               setConfigEntry('DEFAULT_LANG', 'de');
+       } // END - if
+
+       // Is the file there?
+       if (isIncludeReadable($languageInclude)) {
+               // Load language file
+               loadIncludeOnce($languageInclude);
+       } elseif ((isDebugModeEnabled()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) {
+               // No language file is not so good...
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("NOTICE: Extension %s has no language file or we cannot read from it. lang=%s",
+                       $ext_name, getLanguage()
+               ));
+       }
+
+       // Check for installation mode
+       if ((isInstalling()) || (!isInstalled()) || (!isAdminRegistered())) {
+               // Load matching language file
+               loadInclude('inc/language/install_' . getSession('mx_lang') . '.php');
+       } // END - if
+}
+
 // [EOF]
 ?>