From: Robert Kaiser Date: Thu, 26 Sep 2013 01:24:15 +0000 (+0200) Subject: detect possible FxOS tablet UA X-Git-Url: https://git-public.kairo.at/?a=commitdiff_plain;h=52e23932d7b7146ce5cd84d611ad83c4b9441969;p=php-utility-classes.git detect possible FxOS tablet UA --- diff --git a/include/classes/useragent.php-class b/include/classes/useragent.php-class index 98be8dd..dffa0c8 100755 --- a/include/classes/useragent.php-class +++ b/include/classes/useragent.php-class @@ -1177,11 +1177,11 @@ class userAgent { $this->uadata['eng_version'] = $regs[3]; $this->mobile = ($regs[2] == 'Mobile'); } - elseif (preg_match('|Mozilla/5.0 \(Mobile; [^;]+; rv:([^\);]+)\)|', $this->uastring, $regs)) { + elseif (preg_match('#Mozilla/5.0 \((Mobile|Tablet); [^;]+; rv:([^\);]+)\)#', $this->uastring, $regs)) { $this->uadata['os'] = 'Firefox OS'; $this->uadata['lang'] = null; - $this->uadata['eng_version'] = $regs[1]; - $this->mobile = true; + $this->uadata['eng_version'] = $regs[2]; + $this->mobile = ($regs[1] == 'Mobile'); } elseif (preg_match('|Mozilla/5.0 \(([^;]+); ([^;]+); rv:([^\);]+)\)|', $this->uastring, $regs)) { if ((strpos($regs[2], 'Linux') !== false) && ($regs[1] != 'X11')) { @@ -1198,11 +1198,11 @@ class userAgent { $this->uadata['lang'] = null; $this->uadata['eng_version'] = null; } - elseif (preg_match('|Mozilla/5.0 \(Mobile; rv:([^\);]+)\)|', $this->uastring, $regs)) { + elseif (preg_match('#Mozilla/5.0 \((Mobile|Tablet); rv:([^\);]+)\)#', $this->uastring, $regs)) { $this->uadata['os'] = 'Firefox OS'; $this->uadata['lang'] = null; - $this->uadata['eng_version'] = $regs[1]; - $this->mobile = true; + $this->uadata['eng_version'] = $regs[2]; + $this->mobile = ($regs[1] == 'Mobile'); } elseif (preg_match('|Mozilla/5.0 \(([^;]+); rv:([^\);]+)\)|', $this->uastring, $regs)) { $this->uadata['os'] = $regs[1]; diff --git a/testbed/ua_list_raw.txt b/testbed/ua_list_raw.txt index 5116e00..7715f1f 100755 --- a/testbed/ua_list_raw.txt +++ b/testbed/ua_list_raw.txt @@ -77,6 +77,8 @@ Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3pre) Gecko/20100403 Lo Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a9pre) Gecko/2007110108 prism/0.8 Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0 Mozilla/5.0 (Mobile; LG-D300; rv:18.1) Gecko/18.1 Firefox/18.1 +Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0 +Mozilla/5.0 (Tablet; Saga G1; rv:26.0) Gecko/26.0 Firefox/26.0 Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.4pre) Gecko/20090928 Lightning/1.0pre Shredder/3.0pre Mozilla/5.0 (Windows; U; Windows NT 6.1; WOW64; en-US; rv:1.9.3a5pre) Gecko/20100514 Lanikai/3.1b1 Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.19) Gecko/20081209 Thunderbird/2.0.0.19 Mnenhy/0.7.5.0