From 7d64d97ed2cf13b142fb093a7b29989ecb11cda6 Mon Sep 17 00:00:00 2001
From: sgiehl <stefan@piwik.org>
Date: Wed, 19 Feb 2014 09:38:09 +0100
Subject: [PATCH] added detection for RISC OS and it's Oregano browser

---
 .../UserAgentParserEnhanced.php               |   3 +
 .../regexes/browsers.yml                      |   7 +-
 .../UserAgentParserEnhanced/regexes/oss.yml   |  10 +-
 plugins/UserSettings/images/browsers/OR.gif   | Bin 0 -> 1024 bytes
 plugins/UserSettings/images/os/ROS.gif        | Bin 0 -> 956 bytes
 .../userAgentParserEnhancedFixtures.yml       | 100 +++++++++++++++++-
 6 files changed, 115 insertions(+), 5 deletions(-)
 create mode 100644 plugins/UserSettings/images/browsers/OR.gif
 create mode 100644 plugins/UserSettings/images/os/ROS.gif

diff --git a/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php b/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php
index ceb938a095..636efb82ea 100644
--- a/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php
+++ b/plugins/DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php
@@ -220,6 +220,7 @@ class UserAgentParserEnhanced
         'Presto'               => 'PRS',
         'Puppy'                => 'PPY',
         'Red Hat'              => 'RHT',
+        'RISC OS'              => 'ROS',
         'SUSE'                 => 'SSE',
         'Sailfish OS'          => 'SAF',
         'Slackware'            => 'SLW',
@@ -273,6 +274,7 @@ class UserAgentParserEnhanced
         'Google TV'             => array('GTV'),
         'IBM'                   => array('OS2'),
         'iOS'                   => array('IOS'),
+        'RISC OS'               => array('ROS'),
         'Linux'                 => array('LIN', 'ARL', 'DEB', 'KNO', 'MIN', 'UBT', 'KBT', 'XBT', 'LBT', 'FED', 'RHT', 'MDR', 'GNT', 'SLW', 'SSE', 'PPY', 'CES', 'BTR', 'YNS', 'PRS', 'SAF'),
         'Mac'                   => array('MAC'),
         'Mobile Gaming Console' => array('PSP', 'NDS', 'XBX'),
@@ -374,6 +376,7 @@ class UserAgentParserEnhanced
         'OM' => 'Opera Mobile',
         'OP' => 'Opera',
         'ON' => 'Opera Next',
+        'OR' => 'Oregano',
         'OV' => 'Openwave Mobile Browser',
         'OW' => 'OmniWeb',
         'PL' => 'Palm Blazer',
diff --git a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml
index 86dcbb8d4e..506b2c1ec8 100644
--- a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml
+++ b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml
@@ -485,7 +485,12 @@
 - regex: 'Obigo|Teleca'
   name: 'Obigo'
   version: ''
-  
+
+#Oregano
+- regex: 'Oregano(?:[ /](\d+\.\d+))?'
+  name: 'Oregano'
+  version: '$1'
+
 #Polaris
 - regex: '(?:Polaris|Embider)(?:/(\d+\.\d+))?'
   name: 'Polaris'
diff --git a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml
index 346eae7ce4..d4c63aca9e 100644
--- a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml
+++ b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml
@@ -323,8 +323,14 @@
 - regex: '(?:Mobile|Tablet);.+Firefox/\d+\.\d+'
   name: 'Firefox OS'
   version: ''
-  
-  
+
+
+##########
+# RISC OS
+##########
+- regex: 'RISC OS(?:[ /](\d+\.\d+))?'
+  name: 'RISC OS'
+  version: '$1'
   
 ##########
 # Bada
diff --git a/plugins/UserSettings/images/browsers/OR.gif b/plugins/UserSettings/images/browsers/OR.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5b18e6479811d09ab285a840a629a27a1083b8e6
GIT binary patch
literal 1024
zcmZ?wbhEHb6krfw_|Cvk7^P5_q*<S%TbpfEpJUjNtJj#P-;`(6TwvK&Y}H+2*Ii-L
zQ)S&(ZP!=f*jMS?TkX(S?LM*EVPcKb#5$)*b#7A|T&Fa<OlxwR+TuR7(PK)3_tX}T
znJu0(TfJwr_{?tipWWd(r^9P*x97Yr?>U`5^E&<KcKglk@}J-1H@h=nc2~%}&VU6y
z-V1vI7W4%z><M4g7q)n!=b{O|%O-^{pAx!ka?G+xaVsW=u9y<KYI@|Vsj;i4$E=zj
zw{k|<iW%W6W<;)@5xZ_q+{QTx8)jv0T2!=sY1!`OMY~p39$Hs=Xnom%wbchV6z^Kq
zuxo9{z71W+cXprK-+g?~{FA$9oZ3I@`iX_t&#%67dg1l6Tkc-kcK6EWr`Oj!zP9Dj
z^*v8-?|F7>@AF&xU)<mS^1=Q`Hx9hGd+PO*%WocCef#p}=Qr0ry}SG6!`;ts9)5iD
z<m;ywKR!ME^X>WXpRa!XdjJ3LtN(xB{`~gg_s>tie}4J>3y8k{{`LLOuTOt|fBF0C
z>!07>{{H#;=g+r4f4=|u{o~J{pMU@S`uq3yzkk2}{`>v+&!4}4|Ni^;=ifgd2?YNc
zMgeU?KnG+jC@(N@JY|sNl=0ZG;Gk=ln4*ct3jrmkCKf%R3Xh3%ZJAgZUnO(+NgD>t
ztC+a>xPY5m6Whw0K~I@E1$8<uJecG<@qkOtGKH5Pm^}pKd@QaUFl@W%V&bXSqfzj<
zg`dYM=|sk%j0=nOol7DL6c;iz3kU~o*>Q;dypplIn1#ZG#6yf6az0Zu9<`lYWa`b6
z;bFkQ+RCmKcg7$n?ZRBwpeYIg8<Y=p$tmQx%v8ScO4`6Lfun<A!NE3}Oo^L5OJ4ZT
yF^*a@Vc{iK?-@3wIp1DxP7hev(&+X(Qsu-lr`Gl+{Z$<&7JO_JW@lqzum%8t^?3*Y

literal 0
HcmV?d00001

diff --git a/plugins/UserSettings/images/os/ROS.gif b/plugins/UserSettings/images/os/ROS.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a445b6618244f7f57aec72c069a6ecdb86120c3c
GIT binary patch
literal 956
zcmZ?wbhEHb6krfw_|5<VoF$wL9SjUz47@G8oZXzf-MkDF85pK8FwA6Nn8zT~B*U<f
zfnhlV!%7B*RScYKIC(el@^0rf?=$B-!YOl1#{8VQV~?XlpM&Ej$BI=Im76LZt~xl}
zaB#foSb4v);(5iay|ZS$p9QvRlo$<x!4(3EKUo+V82&TpfSd)&6AT<P8UAz1{OD(5
zY2pyna+pw%z|N`kuhC;d!eM(sAsc}y6B-;_*+ry75+)pAa1>M#=9ppN$Z(WdQ6S8t
zp)sM2g<GJhLP23+Gow69P=G_BlM}ays7OP@f){~Z984T{E-X-YVrMcr;WMF8fqf1~
zU{FcI!KUWvhU{)01qlZkx|qadJRBMxure9i2V9YAI?&q2B+ld);gEHxfx#L8=>}M-

literal 0
HcmV?d00001

diff --git a/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml b/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml
index 99abee8617..865b2e26d5 100644
--- a/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml
+++ b/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml
@@ -17328,7 +17328,7 @@
   os_family: Android
   browser_family: Opera
 -
-  user_agent: Mozilla/5.0 (X11; U; Linux x86_64; fa-ir) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AP
+  user_agent: 'Mozilla/5.0 (X11; U; Linux x86_64; fa-ir) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10977AP'
   os:
     name: Linux
     short_name: LIN
@@ -17342,4 +17342,100 @@
     brand: 
     model: 
   os_family: Linux
-  browser_family: 
\ No newline at end of file
+  browser_family: Unknown
+-
+  user_agent: 'Mozilla/5.0 (Linux; U; Android 4.0.4; fa-ir) AppleWebKit/534.35 (KHTML, like Gecko)  Chrome/11.0.696.65 Safari/534.35 Puffin/2.10990AP Mobile'
+  os:
+    name: Android
+    short_name: AND
+    version: 4.0
+  browser:
+    name: Puffin
+    short_name: PU
+    version: 2.10990
+  device:
+    type: 
+    brand: 
+    model: 
+  os_family: Android
+  browser_family: Unknown
+-
+  user_agent: Mozilla 5.0 (Linux; U; Android 2.3.5; zh-cn; ZTE U793 Build MocorDroid2.3.5) UC AppleWebKit 534.31 (KHTML, like Gecko) Mobile Safari 534.31
+  os:
+    name: Android
+    short_name: AND
+    version: 2.3
+  browser:
+    name: Android Browser
+    short_name: AN
+    version: 
+  device:
+    type: smartphone
+    brand: ZT
+    model: U793
+  os_family: Android
+  browser_family: Android Browser
+-
+  user_agent: Mozilla 5.0 (Linux; U; Android 2.3.6; zh-cn; ZTE U790 Build GRK39F) UC AppleWebKit 534.31 (KHTML, like Gecko) Mobile Safari 534.31
+  os:
+    name: Android
+    short_name: AND
+    version: 2.3
+  browser:
+    name: Android Browser
+    short_name: AN
+    version: 
+  device:
+    type: smartphone
+    brand: ZT
+    model: U790
+  os_family: Android
+  browser_family: Android Browser
+-
+  user_agent: Mozilla 5.0 (Linux; U; Android 4.1.2; en-us; HUAWEI G610-C00 Build HuaweiG610-C00) UC AppleWebKit 534.31 (KHTML, like Gecko) Mobile Safari 534.31
+  os:
+    name: Android
+    short_name: AND
+    version: 4.1
+  browser:
+    name: Android Browser
+    short_name: AN
+    version: 
+  device:
+    type: smartphone
+    brand: HU
+    model: G610
+  os_family: Android
+  browser_family: Android Browser
+-
+  user_agent: Mozilla 5.0 (Linux; U; Android 4.1.2; zh-cn; SCH-I829 Build JZO54K) UC AppleWebKit 534.31 (KHTML, like Gecko) Mobile Safari 534.31
+  os:
+    name: Android
+    short_name: AND
+    version: 4.1
+  browser:
+    name: Android Browser
+    short_name: AN
+    version: 
+  device:
+    type: smartphone
+    brand: SA
+    model: SCH-I829
+  os_family: Android
+  browser_family: Android Browser
+-
+  user_agent: 'Mozilla/1.10 [en] (Compatible; RISC OS 3.70; Oregano 1.10)'
+  os:
+    name: RISC OS
+    short_name: ROS
+    version: 3.70
+  browser:
+    name: Oregano
+    short_name: OR
+    version: 1.10
+  device:
+    type: 
+    brand: 
+    model: 
+  os_family: RISC OS
+  browser_family: Unknown
\ No newline at end of file
-- 
GitLab