Fixes for broken extension loader and language error. Resolves #87/#88
[mailer.git] / inc / language.php
index f39d09b5679ba104f66a2dcab5a0b0cefe417118..6814974eb49ef92a7b62e20d9999d7f456b04a83 100644 (file)
  ************************************************************************/
 
 // Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
 }
 
-// Set default language
-if (empty($mx_lang)) $mx_lang = 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 = constant('PATH') . $INC;
 
 // Look for file
-$file = sprintf(PATH."inc/language/%s.php", $mx_lang);
-if ((!file_exists($file)) || (!is_readable($file))) {
+if (!FILE_READABLE($FQFN)) {
        // Switch to default (DO NOT CHANGE!!!)
-       set_session("mx_lang", "de");
-       $mx_lang = "de";
-       $file = sprintf(PATH."inc/language/%s.php", $mx_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
-require($file);
-unset($file);
+LOAD_INC($INC);
 
 // Check for installation mode
 if (isBooleanConstantAndTrue('mxchange_installing')) {
        // Load matching language file
-       require(PATH."inc/language/install_".$mx_lang.".php");
+       LOAD_INC("inc/language/install_".$mx_lang.".php");
 }
 
+// Remove no more needed variables
+unset($mx_lang);
+unset($INC);
+
 //
 ?>