| 755 |
lars |
1 |
<?php
|
|
|
2 |
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
3 |
|
|
|
4 |
/*
|
|
|
5 |
| -------------------------------------------------------------------
|
|
|
6 |
| USER AGENT TYPES
|
|
|
7 |
| -------------------------------------------------------------------
|
|
|
8 |
| This file contains four arrays of user agent data. It is used by the
|
|
|
9 |
| User Agent Class to help identify browser, platform, robot, and
|
|
|
10 |
| mobile device data. The array keys are used to identify the device
|
|
|
11 |
| and the array values are used to set the actual name of the item.
|
|
|
12 |
*/
|
|
|
13 |
$platforms = array(
|
|
|
14 |
'windows nt 10.0' => 'Windows 10',
|
|
|
15 |
'windows nt 6.3' => 'Windows 8.1',
|
|
|
16 |
'windows nt 6.2' => 'Windows 8',
|
|
|
17 |
'windows nt 6.1' => 'Windows 7',
|
|
|
18 |
'windows nt 6.0' => 'Windows Vista',
|
|
|
19 |
'windows nt 5.2' => 'Windows 2003',
|
|
|
20 |
'windows nt 5.1' => 'Windows XP',
|
|
|
21 |
'windows nt 5.0' => 'Windows 2000',
|
|
|
22 |
'windows nt 4.0' => 'Windows NT 4.0',
|
|
|
23 |
'winnt4.0' => 'Windows NT 4.0',
|
|
|
24 |
'winnt 4.0' => 'Windows NT',
|
|
|
25 |
'winnt' => 'Windows NT',
|
|
|
26 |
'windows 98' => 'Windows 98',
|
|
|
27 |
'win98' => 'Windows 98',
|
|
|
28 |
'windows 95' => 'Windows 95',
|
|
|
29 |
'win95' => 'Windows 95',
|
|
|
30 |
'windows phone' => 'Windows Phone',
|
|
|
31 |
'windows' => 'Unknown Windows OS',
|
|
|
32 |
'android' => 'Android',
|
|
|
33 |
'blackberry' => 'BlackBerry',
|
|
|
34 |
'iphone' => 'iOS',
|
|
|
35 |
'ipad' => 'iOS',
|
|
|
36 |
'ipod' => 'iOS',
|
|
|
37 |
'os x' => 'Mac OS X',
|
|
|
38 |
'ppc mac' => 'Power PC Mac',
|
|
|
39 |
'freebsd' => 'FreeBSD',
|
|
|
40 |
'ppc' => 'Macintosh',
|
|
|
41 |
'linux' => 'Linux',
|
|
|
42 |
'debian' => 'Debian',
|
|
|
43 |
'sunos' => 'Sun Solaris',
|
|
|
44 |
'beos' => 'BeOS',
|
|
|
45 |
'apachebench' => 'ApacheBench',
|
|
|
46 |
'aix' => 'AIX',
|
|
|
47 |
'irix' => 'Irix',
|
|
|
48 |
'osf' => 'DEC OSF',
|
|
|
49 |
'hp-ux' => 'HP-UX',
|
|
|
50 |
'netbsd' => 'NetBSD',
|
|
|
51 |
'bsdi' => 'BSDi',
|
|
|
52 |
'openbsd' => 'OpenBSD',
|
|
|
53 |
'gnu' => 'GNU/Linux',
|
|
|
54 |
'unix' => 'Unknown Unix OS',
|
|
|
55 |
'symbian' => 'Symbian OS'
|
|
|
56 |
);
|
|
|
57 |
|
|
|
58 |
|
|
|
59 |
// The order of this array should NOT be changed. Many browsers return
|
|
|
60 |
// multiple browser types so we want to identify the sub-type first.
|
|
|
61 |
$browsers = array(
|
|
|
62 |
'OPR' => 'Opera',
|
|
|
63 |
'Flock' => 'Flock',
|
|
|
64 |
'Edge' => 'Spartan',
|
|
|
65 |
'Chrome' => 'Chrome',
|
|
|
66 |
// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
|
|
|
67 |
'Opera.*?Version' => 'Opera',
|
|
|
68 |
'Opera' => 'Opera',
|
|
|
69 |
'MSIE' => 'Internet Explorer',
|
|
|
70 |
'Internet Explorer' => 'Internet Explorer',
|
|
|
71 |
'Trident.* rv' => 'Internet Explorer',
|
|
|
72 |
'Shiira' => 'Shiira',
|
|
|
73 |
'Firefox' => 'Firefox',
|
|
|
74 |
'Chimera' => 'Chimera',
|
|
|
75 |
'Phoenix' => 'Phoenix',
|
|
|
76 |
'Firebird' => 'Firebird',
|
|
|
77 |
'Camino' => 'Camino',
|
|
|
78 |
'Netscape' => 'Netscape',
|
|
|
79 |
'OmniWeb' => 'OmniWeb',
|
|
|
80 |
'Safari' => 'Safari',
|
|
|
81 |
'Mozilla' => 'Mozilla',
|
|
|
82 |
'Konqueror' => 'Konqueror',
|
|
|
83 |
'icab' => 'iCab',
|
|
|
84 |
'Lynx' => 'Lynx',
|
|
|
85 |
'Links' => 'Links',
|
|
|
86 |
'hotjava' => 'HotJava',
|
|
|
87 |
'amaya' => 'Amaya',
|
|
|
88 |
'IBrowse' => 'IBrowse',
|
|
|
89 |
'Maxthon' => 'Maxthon',
|
|
|
90 |
'Ubuntu' => 'Ubuntu Web Browser'
|
|
|
91 |
);
|
|
|
92 |
|
|
|
93 |
$mobiles = array(
|
|
|
94 |
// legacy array, old values commented out
|
|
|
95 |
'mobileexplorer' => 'Mobile Explorer',
|
|
|
96 |
// 'openwave' => 'Open Wave',
|
|
|
97 |
// 'opera mini' => 'Opera Mini',
|
|
|
98 |
// 'operamini' => 'Opera Mini',
|
|
|
99 |
// 'elaine' => 'Palm',
|
|
|
100 |
'palmsource' => 'Palm',
|
|
|
101 |
// 'digital paths' => 'Palm',
|
|
|
102 |
// 'avantgo' => 'Avantgo',
|
|
|
103 |
// 'xiino' => 'Xiino',
|
|
|
104 |
'palmscape' => 'Palmscape',
|
|
|
105 |
// 'nokia' => 'Nokia',
|
|
|
106 |
// 'ericsson' => 'Ericsson',
|
|
|
107 |
// 'blackberry' => 'BlackBerry',
|
|
|
108 |
// 'motorola' => 'Motorola'
|
|
|
109 |
|
|
|
110 |
// Phones and Manufacturers
|
|
|
111 |
'motorola' => 'Motorola',
|
|
|
112 |
'nokia' => 'Nokia',
|
|
|
113 |
'palm' => 'Palm',
|
|
|
114 |
'iphone' => 'Apple iPhone',
|
|
|
115 |
'ipad' => 'iPad',
|
|
|
116 |
'ipod' => 'Apple iPod Touch',
|
|
|
117 |
'sony' => 'Sony Ericsson',
|
|
|
118 |
'ericsson' => 'Sony Ericsson',
|
|
|
119 |
'blackberry' => 'BlackBerry',
|
|
|
120 |
'cocoon' => 'O2 Cocoon',
|
|
|
121 |
'blazer' => 'Treo',
|
|
|
122 |
'lg' => 'LG',
|
|
|
123 |
'amoi' => 'Amoi',
|
|
|
124 |
'xda' => 'XDA',
|
|
|
125 |
'mda' => 'MDA',
|
|
|
126 |
'vario' => 'Vario',
|
|
|
127 |
'htc' => 'HTC',
|
|
|
128 |
'samsung' => 'Samsung',
|
|
|
129 |
'sharp' => 'Sharp',
|
|
|
130 |
'sie-' => 'Siemens',
|
|
|
131 |
'alcatel' => 'Alcatel',
|
|
|
132 |
'benq' => 'BenQ',
|
|
|
133 |
'ipaq' => 'HP iPaq',
|
|
|
134 |
'mot-' => 'Motorola',
|
|
|
135 |
'playstation portable' => 'PlayStation Portable',
|
|
|
136 |
'playstation 3' => 'PlayStation 3',
|
|
|
137 |
'playstation vita' => 'PlayStation Vita',
|
|
|
138 |
'hiptop' => 'Danger Hiptop',
|
|
|
139 |
'nec-' => 'NEC',
|
|
|
140 |
'panasonic' => 'Panasonic',
|
|
|
141 |
'philips' => 'Philips',
|
|
|
142 |
'sagem' => 'Sagem',
|
|
|
143 |
'sanyo' => 'Sanyo',
|
|
|
144 |
'spv' => 'SPV',
|
|
|
145 |
'zte' => 'ZTE',
|
|
|
146 |
'sendo' => 'Sendo',
|
|
|
147 |
'nintendo dsi' => 'Nintendo DSi',
|
|
|
148 |
'nintendo ds' => 'Nintendo DS',
|
|
|
149 |
'nintendo 3ds' => 'Nintendo 3DS',
|
|
|
150 |
'wii' => 'Nintendo Wii',
|
|
|
151 |
'open web' => 'Open Web',
|
|
|
152 |
'openweb' => 'OpenWeb',
|
|
|
153 |
|
|
|
154 |
// Operating Systems
|
|
|
155 |
'android' => 'Android',
|
|
|
156 |
'symbian' => 'Symbian',
|
|
|
157 |
'SymbianOS' => 'SymbianOS',
|
|
|
158 |
'elaine' => 'Palm',
|
|
|
159 |
'series60' => 'Symbian S60',
|
|
|
160 |
'windows ce' => 'Windows CE',
|
|
|
161 |
|
|
|
162 |
// Browsers
|
|
|
163 |
'obigo' => 'Obigo',
|
|
|
164 |
'netfront' => 'Netfront Browser',
|
|
|
165 |
'openwave' => 'Openwave Browser',
|
|
|
166 |
'mobilexplorer' => 'Mobile Explorer',
|
|
|
167 |
'operamini' => 'Opera Mini',
|
|
|
168 |
'opera mini' => 'Opera Mini',
|
|
|
169 |
'opera mobi' => 'Opera Mobile',
|
|
|
170 |
'fennec' => 'Firefox Mobile',
|
|
|
171 |
|
|
|
172 |
// Other
|
|
|
173 |
'digital paths' => 'Digital Paths',
|
|
|
174 |
'avantgo' => 'AvantGo',
|
|
|
175 |
'xiino' => 'Xiino',
|
|
|
176 |
'novarra' => 'Novarra Transcoder',
|
|
|
177 |
'vodafone' => 'Vodafone',
|
|
|
178 |
'docomo' => 'NTT DoCoMo',
|
|
|
179 |
'o2' => 'O2',
|
|
|
180 |
|
|
|
181 |
// Fallback
|
|
|
182 |
'mobile' => 'Generic Mobile',
|
|
|
183 |
'wireless' => 'Generic Mobile',
|
|
|
184 |
'j2me' => 'Generic Mobile',
|
|
|
185 |
'midp' => 'Generic Mobile',
|
|
|
186 |
'cldc' => 'Generic Mobile',
|
|
|
187 |
'up.link' => 'Generic Mobile',
|
|
|
188 |
'up.browser' => 'Generic Mobile',
|
|
|
189 |
'smartphone' => 'Generic Mobile',
|
|
|
190 |
'cellphone' => 'Generic Mobile'
|
|
|
191 |
);
|
|
|
192 |
|
|
|
193 |
// There are hundreds of bots but these are the most common.
|
|
|
194 |
$robots = array(
|
|
|
195 |
'googlebot' => 'Googlebot',
|
|
|
196 |
'msnbot' => 'MSNBot',
|
|
|
197 |
'baiduspider' => 'Baiduspider',
|
|
|
198 |
'bingbot' => 'Bing',
|
|
|
199 |
'slurp' => 'Inktomi Slurp',
|
|
|
200 |
'yahoo' => 'Yahoo',
|
|
|
201 |
'ask jeeves' => 'Ask Jeeves',
|
|
|
202 |
'fastcrawler' => 'FastCrawler',
|
|
|
203 |
'infoseek' => 'InfoSeek Robot 1.0',
|
|
|
204 |
'lycos' => 'Lycos',
|
|
|
205 |
'yandex' => 'YandexBot',
|
|
|
206 |
'mediapartners-google' => 'MediaPartners Google',
|
|
|
207 |
'CRAZYWEBCRAWLER' => 'Crazy Webcrawler',
|
|
|
208 |
'adsbot-google' => 'AdsBot Google',
|
|
|
209 |
'feedfetcher-google' => 'Feedfetcher Google',
|
|
|
210 |
'curious george' => 'Curious George',
|
|
|
211 |
'ia_archiver' => 'Alexa Crawler',
|
|
|
212 |
'MJ12bot' => 'Majestic-12',
|
|
|
213 |
'Uptimebot' => 'Uptimebot'
|
|
|
214 |
);
|