index a108cc21c044f5968e87f32f042dde8ec372efc5..adb5c1d3018939ffed7347513c0bd3003273393f 100644 (file)
function al2gt($gettextlangs, $mime)
{
-
- /* 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);
$alscores[$noct[0]] = "";
}
+ if(!isset($acscores[$gtcs])){
+ $acscores[$gtcs] = "";
+ }
$testvals=array(
array($alscores[$allang], $acscores[$gtcs]),
array($alscores[$noct[0]], $acscores[$gtcs]),
/* 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");
-
+ if(isset($gtparts[1])){
+ $charset=$gtparts[1];
+ header("Content-Type: $mime; charset=$charset");
+ }
return $curgtlang;
}