diff options
author | wei <> | 2007-01-24 06:20:33 +0000 |
---|---|---|
committer | wei <> | 2007-01-24 06:20:33 +0000 |
commit | d4d2da50c846c8b60f9b141d9f712d54f287e44b (patch) | |
tree | c21fafb34622db16f40904fd827ef03b1ecb1ab9 /framework/I18N/core/HTTPNegotiator.php | |
parent | 69e7bf1c66b645a99f1b4dd73863244d28b9c5b8 (diff) |
Fixed #505, #508
Diffstat (limited to 'framework/I18N/core/HTTPNegotiator.php')
-rw-r--r-- | framework/I18N/core/HTTPNegotiator.php | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/framework/I18N/core/HTTPNegotiator.php b/framework/I18N/core/HTTPNegotiator.php index f5eb876c..d4c80b50 100644 --- a/framework/I18N/core/HTTPNegotiator.php +++ b/framework/I18N/core/HTTPNegotiator.php @@ -24,7 +24,7 @@ require_once(dirname(__FILE__).'/CultureInfo.php'); /**
* HTTPNegotiator class.
- *
+ *
* Get the language and charset information from the client browser.
*
* @author Xiang Wei Zhuo <weizhuo[at]gmail[dot]com>
@@ -35,19 +35,19 @@ class HTTPNegotiator {
/**
* A list of languages accepted by the browser.
- * @var array
+ * @var array
*/
protected $languages;
/**
* A list of charsets accepted by the browser
- * @var array
+ * @var array
*/
protected $charsets;
/**
* Get a list of languages acceptable by the client browser
- * @return array languages ordered in the user browser preferences.
+ * @return array languages ordered in the user browser preferences.
*/
function getLanguages()
{
@@ -61,14 +61,15 @@ class HTTPNegotiator //$basedir = CultureInfo::dataDir();
//$ext = CultureInfo::fileExt();
+ $info = new CultureInfo();
- foreach(explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $lang)
+ foreach(explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $lang)
{
// Cut off any q-value that might come after a semi-colon
if ($pos = strpos($lang, ';'))
$lang = trim(substr($lang, 0, $pos));
- if (strstr($lang, '-'))
+ if (strstr($lang, '-'))
{
$codes = explode('-',$lang);
if($codes[0] == 'i')
@@ -91,16 +92,16 @@ class HTTPNegotiator }
}
- if(CultureInfo::validCulture($lang))
+ if($info->validCulture($lang))
$this->languages[] = $lang;
}
-
+
return $this->languages;
}
/**
* Get a list of charsets acceptable by the client browser.
- * @return array list of charsets in preferable order.
+ * @return array list of charsets in preferable order.
*/
function getCharsets()
{
@@ -112,9 +113,9 @@ class HTTPNegotiator if (!isset($_SERVER['HTTP_ACCEPT_CHARSET']))
return $this->charsets;
- foreach (explode(',', $_SERVER['HTTP_ACCEPT_CHARSET']) as $charset)
+ foreach (explode(',', $_SERVER['HTTP_ACCEPT_CHARSET']) as $charset)
{
- if (!empty($charset))
+ if (!empty($charset))
$this->charsets[] = preg_replace('/;.*/', '', $charset);
}
|