diff --git a/libs/UserAgentParser/UserAgentParser.php b/libs/UserAgentParser/UserAgentParser.php index d36608eb39c..07f59f709bb 100644 --- a/libs/UserAgentParser/UserAgentParser.php +++ b/libs/UserAgentParser/UserAgentParser.php @@ -5,7 +5,6 @@ * * @link http://dev.piwik.org/trac/browser/trunk/libs/UserAgentParser * @license http://www.opensource.org/licenses/bsd-license.php BSD License - * @version $Id$ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -114,6 +113,8 @@ class UserAgentParser 'icecat' => 'FF', 'firefox' => 'FF', + 'thunderbird' => 'TB', + 'flock' => 'FL', 'fluid' => 'FD', 'galeon' => 'GA', @@ -430,7 +431,7 @@ static public function getBrowser($userAgent) $userAgent = preg_replace('~^BlackBerry\d+/~', 'BlackBerry/', $userAgent); if (preg_match_all("/($browsersPattern)[\/\sa-z(]*([0-9]+)([\.0-9a-z]+)?/i", $userAgent, $results) - || (strpos($userAgent, 'Shiira') === false && preg_match_all("/(firefox|safari)[\/\sa-z(]*([0-9]+)([\.0-9a-z]+)?/i", $userAgent, $results)) + || (strpos($userAgent, 'Shiira') === false && preg_match_all("/(firefox|thunderbird|safari)[\/\sa-z(]*([0-9]+)([\.0-9a-z]+)?/i", $userAgent, $results)) || preg_match_all("/(applewebkit)[\/\sa-z(]*([0-9]+)([\.0-9a-z]+)?/i", $userAgent, $results) || preg_match_all("/^(mozilla)\/([0-9]+)([\.0-9a-z-]+)?(?: \[[a-z]{2}\])? (?:\([^)]*\))$/i", $userAgent, $results) || preg_match_all("/^(mozilla)\/[0-9]+(?:[\.0-9a-z-]+)?\s\(.* rv:([0-9]+)([.0-9a-z]+)\) gecko(\/[0-9]{8}|$)(?:.*)/i", $userAgent, $results) diff --git a/libs/UserAgentParser/UserAgentParser.test.php b/libs/UserAgentParser/UserAgentParser.test.php index 9429961b189..f5468c1b6b3 100644 --- a/libs/UserAgentParser/UserAgentParser.test.php +++ b/libs/UserAgentParser/UserAgentParser.test.php @@ -27,6 +27,7 @@ 'firefox 3.6 alpha on vista' => 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2a2pre) Gecko/20090826 Namoroka/3.6a2pre', 'firefox 3.5 alpha on win7' => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1b4pre) Gecko/20090420 Shiretoko/3.5b4pre (.NET CLR 3.5.30729)', 'firefox nightly build' => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:2.0a1pre) Gecko/2008060602 Minefield/4.0a1pre', + 'thunderbird 14.0 with lightning 1.6' => 'Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 Lightning/1.6', ); echo "Test with another user agent: "; foreach($testUserAgent as $name => $userAgent) { diff --git a/plugins/UserSettings/images/browsers/TB.gif b/plugins/UserSettings/images/browsers/TB.gif new file mode 100644 index 00000000000..d4dc60b25bc Binary files /dev/null and b/plugins/UserSettings/images/browsers/TB.gif differ