Code

Added support for master-key encrypted passwords in gosa.conf
[gosa.git] / include / accept-to-gettext.inc
index 6bf1950e6a1d863becd917306d4ee0cfd7042da7..ff8e2425e3ac7cae29d47c7ed925f31d6de61906 100644 (file)
@@ -86,24 +86,25 @@ function find_match($curlscore,$curcscore,$curgtlang,$langval,$charval,
 
 function al2gt($gettextlangs, $mime) 
 {
-  error_reporting(0);
-
-  /* Try to use users primary language */
-  $ui= get_userinfo();
-  if ($ui != NULL){
-    if ($ui->language != ""){
-      return ($ui->language.".UTF-8");
-    }
+  /* Check if ACCEPT_LANGUAGE isset */
+  if(!isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])){
+    $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "";
+  }
+  if(!isset($_SERVER["HTTP_ACCEPT_CHARSET"])){
+    $_SERVER["HTTP_ACCEPT_CHARSET"] = "";
   }
 
   /* default to "everything is acceptable", as RFC2616 specifies */
   $acceptLang=(($_SERVER["HTTP_ACCEPT_LANGUAGE"] == '') ? '*' :
     $_SERVER["HTTP_ACCEPT_LANGUAGE"]);
-  $acceptChar=(($_SERVER["HTTP_ACCEPT_CHARSET"] == '') ? '*' :
+  /* Commented out due to problems with IE7, defaulting to the one below... */
+  #$acceptChar=(($_SERVER["HTTP_ACCEPT_CHARSET"] == '') ? '*' :
+  #  $_SERVER["HTTP_ACCEPT_CHARSET"]);
+  $acceptChar=(($_SERVER["HTTP_ACCEPT_CHARSET"] == '') ? 'ISO-8859-1,utf-8;q=0.7,*;q=0.7' :
     $_SERVER["HTTP_ACCEPT_CHARSET"]);
   $alparts=@preg_split("/,/",$acceptLang);
   $acparts=@preg_split("/,/",$acceptChar);
-  
+
   /* Parse the contents of the Accept-Language header.*/
   foreach($alparts as $part) {
     $part=trim($part);
@@ -158,6 +159,21 @@ function al2gt($gettextlangs, $mime)
     $gtcs=strtoupper($tmp2[1]);
     $noct=@preg_split("/-/",$allang);
 
+    if(!isset($alscores["*"])){
+      $alscores["*"] = "";
+    }
+
+    if(!isset($alscores[$allang])){
+      $alscores[$allang] = "";
+    }
+    
+    if(!isset($alscores[$noct[0]])){
+      $alscores[$noct[0]] = "";
+    }
+  
+    if(!isset($acscores[$gtcs])){
+      $acscores[$gtcs] = "";
+    }
     $testvals=array(
         array($alscores[$allang], $acscores[$gtcs]),
         array($alscores[$noct[0]], $acscores[$gtcs]),
@@ -181,16 +197,16 @@ function al2gt($gettextlangs, $mime)
 
   /* We must re-parse the gettext-string now, since we may have found it
    * through a "*" qualifier.*/
-  
   $gtparts=@preg_split("/\./",$curgtlang);
   $tmp=strtolower($gtparts[0]);
   $lang=preg_replace("/\_/", "-", $tmp);
-  $charset=$gtparts[1];
-
-  header("Content-Language: $lang");
-  header("Content-Type: $mime; charset=$charset");
-
-  error_reporting(E_ALL);
+  if (!headers_sent()){
+    header("Content-Language: $lang");
+    if(isset($gtparts[1])){
+      $charset=$gtparts[1];
+      header("Content-Type: $mime; charset=$charset");
+    }
+  }
   return $curgtlang;
 }