Fixes for broken extension loader and language error. Resolves #87/#88
[mailer.git] / inc / language.php
index 6399eca..6814974 100644 (file)
@@ -37,18 +37,24 @@ if (!defined('__SECURITY')) {
        require($INC);
 }
 
-// Set default language
-if (empty($mx_lang)) $mx_lang = constant('DEFAULT_LANG');
+// Try to get language from session
+$mx_lang = get_session('mx_lang');
+
+// Set default language if it is not (yet) set
+if (is_null($mx_lang)) $mx_lang = constant('DEFAULT_LANG');
+
+// Generate filename
+$INC = sprintf("inc/language/%s.php", SQL_ESCAPE($mx_lang));
 
 // Generate FQFN
-$FQFN = sprintf("%sinc/language/%s.php", constant('PATH'), $mx_lang);
+$FQFN = constant('PATH') . $INC;
 
 // Look for file
 if (!FILE_READABLE($FQFN)) {
        // Switch to default (DO NOT CHANGE!!!)
-       set_session('mx_lang', constant('DEFAULT_LANG'));
-       $mx_lang = "de";
-       $INC = sprintf("inc/language/%s.php", constant('DEFAULT_LANG'));
+       $mx_lang = constant('DEFAULT_LANG');
+       set_session('mx_lang', $mx_lang);
+       $INC = sprintf("inc/language/%s.php", $mx_lang);
 } // END - if
 
 // Load language file
@@ -60,5 +66,9 @@ if (isBooleanConstantAndTrue('mxchange_installing')) {
        LOAD_INC("inc/language/install_".$mx_lang.".php");
 }
 
+// Remove no more needed variables
+unset($mx_lang);
+unset($INC);
+
 //
 ?>