blob: 8f9880e53b2af4eca6043a26711bb700861ca5a0 [file] [log] [blame]
darwineld8bef8a2014-02-11 20:13:22 +01001<?php
Derek Jonesf4a4bd82011-10-20 12:18:42 -05002/**
3 * CodeIgniter
4 *
Phil Sturgeon07c1ac82012-03-09 17:03:37 +00005 * An open source application development framework for PHP 5.2.4 or newer
Derek Jonesf4a4bd82011-10-20 12:18:42 -05006 *
Andrey Andreevbdb96ca2014-10-28 00:13:31 +02007 * This content is released under the MIT License (MIT)
Eric Barnes46fcf0b2011-11-12 12:42:14 -05008 *
Andrey Andreevbdb96ca2014-10-28 00:13:31 +02009 * Copyright (c) 2014, British Columbia Institute of Technology
Eric Barnes46fcf0b2011-11-12 12:42:14 -050010 *
Andrey Andreevbdb96ca2014-10-28 00:13:31 +020011 * Permission is hereby granted, free of charge, to any person obtaining a copy
12 * of this software and associated documentation files (the "Software"), to deal
13 * in the Software without restriction, including without limitation the rights
14 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 * copies of the Software, and to permit persons to whom the Software is
16 * furnished to do so, subject to the following conditions:
Derek Jonesf4a4bd82011-10-20 12:18:42 -050017 *
Andrey Andreevbdb96ca2014-10-28 00:13:31 +020018 * The above copyright notice and this permission notice shall be included in
19 * all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27 * THE SOFTWARE.
28 *
29 * @package CodeIgniter
30 * @author EllisLab Dev Team
darwinel871754a2014-02-11 17:34:57 +010031 * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/)
Andrey Andreevbdb96ca2014-10-28 00:13:31 +020032 * @copyright Copyright (c) 2014, British Columbia Institute of Technology (http://bcit.ca/)
33 * @license http://opensource.org/licenses/MIT MIT License
34 * @link http://codeigniter.com
35 * @since Version 1.0.0
Derek Jonesf4a4bd82011-10-20 12:18:42 -050036 * @filesource
37 */
darwineld8bef8a2014-02-11 20:13:22 +010038defined('BASEPATH') OR exit('No direct script access allowed');
Derek Jonesf4a4bd82011-10-20 12:18:42 -050039
Derek Allard2067d1a2008-11-13 22:59:24 +000040/*
41| -------------------------------------------------------------------
42| USER AGENT TYPES
43| -------------------------------------------------------------------
Andrey Andreevd4901392012-06-06 14:54:15 +030044| This file contains four arrays of user agent data. It is used by the
Derek Allard2067d1a2008-11-13 22:59:24 +000045| User Agent Class to help identify browser, platform, robot, and
Andrey Andreevd4901392012-06-06 14:54:15 +030046| mobile device data. The array keys are used to identify the device
Derek Allard2067d1a2008-11-13 22:59:24 +000047| and the array values are used to set the actual name of the item.
Derek Allard2067d1a2008-11-13 22:59:24 +000048*/
49
Andrey Andreevca7d8222012-05-11 10:59:09 +030050$platforms = array(
Andre Gardiner303c7b22013-12-05 22:00:32 -050051 'windows nt 6.3' => 'Windows 8.1',
Debeet9defe902012-07-25 17:32:11 +030052 'windows nt 6.2' => 'Windows 8',
Eric Barnes46fcf0b2011-11-12 12:42:14 -050053 'windows nt 6.1' => 'Windows 7',
54 'windows nt 6.0' => 'Windows Vista',
55 'windows nt 5.2' => 'Windows 2003',
56 'windows nt 5.1' => 'Windows XP',
57 'windows nt 5.0' => 'Windows 2000',
58 'windows nt 4.0' => 'Windows NT 4.0',
59 'winnt4.0' => 'Windows NT 4.0',
60 'winnt 4.0' => 'Windows NT',
61 'winnt' => 'Windows NT',
62 'windows 98' => 'Windows 98',
63 'win98' => 'Windows 98',
64 'windows 95' => 'Windows 95',
65 'win95' => 'Windows 95',
msegers335fed92013-08-14 10:46:25 +020066 'windows phone' => 'Windows Phone',
Eric Barnes46fcf0b2011-11-12 12:42:14 -050067 'windows' => 'Unknown Windows OS',
Andrey Andreevca7d8222012-05-11 10:59:09 +030068 'android' => 'Android',
69 'blackberry' => 'BlackBerry',
70 'iphone' => 'iOS',
71 'ipad' => 'iOS',
72 'ipod' => 'iOS',
Eric Barnes46fcf0b2011-11-12 12:42:14 -050073 'os x' => 'Mac OS X',
74 'ppc mac' => 'Power PC Mac',
75 'freebsd' => 'FreeBSD',
76 'ppc' => 'Macintosh',
77 'linux' => 'Linux',
78 'debian' => 'Debian',
79 'sunos' => 'Sun Solaris',
80 'beos' => 'BeOS',
81 'apachebench' => 'ApacheBench',
82 'aix' => 'AIX',
83 'irix' => 'Irix',
84 'osf' => 'DEC OSF',
85 'hp-ux' => 'HP-UX',
86 'netbsd' => 'NetBSD',
87 'bsdi' => 'BSDi',
88 'openbsd' => 'OpenBSD',
89 'gnu' => 'GNU/Linux',
Adriano Rosa1799cbf2014-05-07 22:37:03 -030090 'unix' => 'Unknown Unix OS',
91 'symbian' => 'Symbian OS'
Eric Barnes46fcf0b2011-11-12 12:42:14 -050092);
Derek Allard2067d1a2008-11-13 22:59:24 +000093
94
95// The order of this array should NOT be changed. Many browsers return
96// multiple browser types so we want to identify the sub-type first.
97$browsers = array(
Jcchemin02410502013-10-08 18:18:54 +020098 'OPR' => 'Opera',
Eric Barnes46fcf0b2011-11-12 12:42:14 -050099 'Flock' => 'Flock',
100 'Chrome' => 'Chrome',
Andrey Andreev10925d22014-01-09 00:16:46 +0200101 // Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
102 'Opera.*?Version' => 'Opera',
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500103 'Opera' => 'Opera',
104 'MSIE' => 'Internet Explorer',
105 'Internet Explorer' => 'Internet Explorer',
Dionysis Arvanitis2cdd50e2014-01-15 16:24:15 +0200106 'Trident.* rv' => 'Internet Explorer',
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500107 'Shiira' => 'Shiira',
108 'Firefox' => 'Firefox',
109 'Chimera' => 'Chimera',
110 'Phoenix' => 'Phoenix',
111 'Firebird' => 'Firebird',
112 'Camino' => 'Camino',
113 'Netscape' => 'Netscape',
114 'OmniWeb' => 'OmniWeb',
115 'Safari' => 'Safari',
116 'Mozilla' => 'Mozilla',
117 'Konqueror' => 'Konqueror',
118 'icab' => 'iCab',
119 'Lynx' => 'Lynx',
120 'Links' => 'Links',
121 'hotjava' => 'HotJava',
122 'amaya' => 'Amaya',
Andrey Andreev3ffce982013-01-21 15:24:09 +0200123 'IBrowse' => 'IBrowse',
vkeranovfdd14612013-11-08 09:19:29 +0200124 'Maxthon' => 'Maxthon',
125 'Ubuntu' => 'Ubuntu Web Browser'
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500126);
Derek Allard2067d1a2008-11-13 22:59:24 +0000127
128$mobiles = array(
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500129 // legacy array, old values commented out
130 'mobileexplorer' => 'Mobile Explorer',
131// 'openwave' => 'Open Wave',
132// 'opera mini' => 'Opera Mini',
133// 'operamini' => 'Opera Mini',
134// 'elaine' => 'Palm',
135 'palmsource' => 'Palm',
136// 'digital paths' => 'Palm',
137// 'avantgo' => 'Avantgo',
138// 'xiino' => 'Xiino',
139 'palmscape' => 'Palmscape',
140// 'nokia' => 'Nokia',
141// 'ericsson' => 'Ericsson',
142// 'blackberry' => 'BlackBerry',
143// 'motorola' => 'Motorola'
Derek Allard2067d1a2008-11-13 22:59:24 +0000144
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500145 // Phones and Manufacturers
Andrey Andreevca7d8222012-05-11 10:59:09 +0300146 'motorola' => 'Motorola',
147 'nokia' => 'Nokia',
148 'palm' => 'Palm',
149 'iphone' => 'Apple iPhone',
150 'ipad' => 'iPad',
151 'ipod' => 'Apple iPod Touch',
152 'sony' => 'Sony Ericsson',
153 'ericsson' => 'Sony Ericsson',
154 'blackberry' => 'BlackBerry',
155 'cocoon' => 'O2 Cocoon',
156 'blazer' => 'Treo',
157 'lg' => 'LG',
158 'amoi' => 'Amoi',
159 'xda' => 'XDA',
160 'mda' => 'MDA',
161 'vario' => 'Vario',
162 'htc' => 'HTC',
163 'samsung' => 'Samsung',
164 'sharp' => 'Sharp',
165 'sie-' => 'Siemens',
166 'alcatel' => 'Alcatel',
167 'benq' => 'BenQ',
168 'ipaq' => 'HP iPaq',
169 'mot-' => 'Motorola',
170 'playstation portable' => 'PlayStation Portable',
Debeet9defe902012-07-25 17:32:11 +0300171 'playstation 3' => 'PlayStation 3',
TheDragonSlayer2e746812013-03-30 09:50:27 -0300172 'playstation vita' => 'PlayStation Vita',
Andrey Andreevca7d8222012-05-11 10:59:09 +0300173 'hiptop' => 'Danger Hiptop',
174 'nec-' => 'NEC',
175 'panasonic' => 'Panasonic',
176 'philips' => 'Philips',
177 'sagem' => 'Sagem',
178 'sanyo' => 'Sanyo',
179 'spv' => 'SPV',
180 'zte' => 'ZTE',
181 'sendo' => 'Sendo',
Eric Roberts19d0f562012-08-11 19:53:59 -0500182 'nintendo dsi' => 'Nintendo DSi',
183 'nintendo ds' => 'Nintendo DS',
184 'nintendo 3ds' => 'Nintendo 3DS',
Andrey Andreevca7d8222012-05-11 10:59:09 +0300185 'wii' => 'Nintendo Wii',
Andrey Andreevca7d8222012-05-11 10:59:09 +0300186 'open web' => 'Open Web',
187 'openweb' => 'OpenWeb',
Bo-Yi Wuf22f8522011-11-12 15:23:04 +0800188
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500189 // Operating Systems
Andrey Andreevca7d8222012-05-11 10:59:09 +0300190 'android' => 'Android',
191 'symbian' => 'Symbian',
192 'SymbianOS' => 'SymbianOS',
193 'elaine' => 'Palm',
Andrey Andreevca7d8222012-05-11 10:59:09 +0300194 'series60' => 'Symbian S60',
195 'windows ce' => 'Windows CE',
Derek Allard2067d1a2008-11-13 22:59:24 +0000196
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500197 // Browsers
Andrey Andreevca7d8222012-05-11 10:59:09 +0300198 'obigo' => 'Obigo',
199 'netfront' => 'Netfront Browser',
200 'openwave' => 'Openwave Browser',
201 'mobilexplorer' => 'Mobile Explorer',
202 'operamini' => 'Opera Mini',
203 'opera mini' => 'Opera Mini',
204 'opera mobi' => 'Opera Mobile',
vlakoffc941d852013-08-06 14:44:40 +0200205 'fennec' => 'Firefox Mobile',
Derek Allard2067d1a2008-11-13 22:59:24 +0000206
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500207 // Other
Andrey Andreevca7d8222012-05-11 10:59:09 +0300208 'digital paths' => 'Digital Paths',
209 'avantgo' => 'AvantGo',
210 'xiino' => 'Xiino',
211 'novarra' => 'Novarra Transcoder',
212 'vodafone' => 'Vodafone',
213 'docomo' => 'NTT DoCoMo',
214 'o2' => 'O2',
Derek Allard2067d1a2008-11-13 22:59:24 +0000215
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500216 // Fallback
Andrey Andreevca7d8222012-05-11 10:59:09 +0300217 'mobile' => 'Generic Mobile',
218 'wireless' => 'Generic Mobile',
219 'j2me' => 'Generic Mobile',
220 'midp' => 'Generic Mobile',
221 'cldc' => 'Generic Mobile',
222 'up.link' => 'Generic Mobile',
223 'up.browser' => 'Generic Mobile',
224 'smartphone' => 'Generic Mobile',
225 'cellphone' => 'Generic Mobile'
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500226);
Derek Allard2067d1a2008-11-13 22:59:24 +0000227
228// There are hundreds of bots but these are the most common.
229$robots = array(
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500230 'googlebot' => 'Googlebot',
231 'msnbot' => 'MSNBot',
Garth Kerr1bfc1152013-04-03 13:02:21 -0400232 'baiduspider' => 'Baiduspider',
Andrew Seymour00cfbd22011-11-12 21:18:07 +0000233 'bingbot' => 'Bing',
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500234 'slurp' => 'Inktomi Slurp',
235 'yahoo' => 'Yahoo',
236 'askjeeves' => 'AskJeeves',
237 'fastcrawler' => 'FastCrawler',
238 'infoseek' => 'InfoSeek Robot 1.0',
Garth Kerr1bfc1152013-04-03 13:02:21 -0400239 'lycos' => 'Lycos',
Jacques du Rand538d5342014-11-23 11:35:22 +0200240 'yandex' => 'YandexBot',
Jacques du Rand70ba13a2014-11-23 09:18:03 +0200241 'mediapartners-google' => 'MediaPartners Google',
242 'CRAZYWEBCRAWLER' => 'Crazy Webcrawler',
243 'adsbot-google' => 'AdsBot Google',
244 'feedfetcher-google' => 'Feedfetcher Google',
Jacques du Rand538d5342014-11-23 11:35:22 +0200245 'curious george' => 'Curious George'
Eric Barnes46fcf0b2011-11-12 12:42:14 -0500246);
Derek Allard2067d1a2008-11-13 22:59:24 +0000247
248/* End of file user_agents.php */
Jacques du Rand70ba13a2014-11-23 09:18:03 +0200249/* Location: ./application/config/user_agents.php */