global $HTTP_SERVER_VARS;
/* If the client has sent an Accept-Language: header, see if
- * it contains a language we support.
- */
- if (isset($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'])) {
- $accepted = split(',[[:space:]]*', $HTTP_ACCEPT_LANGUAGE);
- for ($i = 0; $i < count($accepted); $i++) {
- if (eregi('^([a-z]+);[[:space:]]*q=([0-9\.]+)', $accepted[$i], &$arr)) {
- $q = (double)$arr[2];
- $l = $arr[1];
- } else {
- $q = 42;
- $l = $accepted[$i];
- }
-
- if (!empty($supported[$l]) && ($q > 0.0)) {
- if ($q == 42) {
- return $l;
- }
- $candidates[$l] = $q;
- }
- }
- if (isset($candidates)) {
- arsort($candidates);
- reset($candidates);
- return key($candidates);
- }
- }
+ * it contains a language we support.
+ */
+ if (isset($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'])) {
+ $accepted = split(',[[:space:]]*', $HTTP_ACCEPT_LANGUAGE);
+ for ($i = 0; $i < count($accepted); $i++) {
+ if (eregi('^([a-z]+);[[:space:]]*q=([0-9\.]+)', $accepted[$i], &$arr)) {
+ $q = (double)$arr[2];
+ $l = $arr[1];
+ } else {
+ $q = 42;
+ $l = $accepted[$i];
+ }
- /* Check for a valid language code in the top-level domain of
- * the client's host address.
- */
- if (ereg("\.[^\.]+$", $HTTP_SERVER_VARS['REMOTE_HOST'], &$arr)) {
- $lang = strtolower($arr[1]);
- if (!empty($supported[$lang])) {
- return $lang;
- }
- }
+ if (!empty($supported[$l]) && ($q > 0.0)) {
+ if ($q == 42) {
+ return $l;
+ }
+ $candidates[$l] = $q;
+ }
+ }
+ if (isset($candidates)) {
+ arsort($candidates);
+ reset($candidates);
+ return key($candidates);
+ }
+ }
+
+ /* Check for a valid language code in the top-level domain of
+ * the client's host address.
+ */
+ if (ereg("\.[^\.]+$", $HTTP_SERVER_VARS['REMOTE_HOST'], &$arr)) {
+ $lang = strtolower($arr[1]);
+ if (!empty($supported[$lang])) {
+ return $lang;
+ }
+ }
- return $default;
+ return $default;
}
}
-?>
+?>
\ No newline at end of file