212 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|     <?php
 | |
| defined('BASEPATH') OR exit('No direct script access allowed');
 | |
| 
 | |
| /*
 | |
| | -------------------------------------------------------------------
 | |
| | USER AGENT TYPES
 | |
| | -------------------------------------------------------------------
 | |
| | This file contains four arrays of user agent data. It is used by the
 | |
| | User Agent Class to help identify browser, platform, robot, and
 | |
| | mobile device data. The array keys are used to identify the device
 | |
| | and the array values are used to set the actual name of the item.
 | |
| */
 | |
| $platforms = array(
 | |
| 	'windows nt 10.0'	=> 'Windows 10',
 | |
| 	'windows nt 6.3'	=> 'Windows 8.1',
 | |
| 	'windows nt 6.2'	=> 'Windows 8',
 | |
| 	'windows nt 6.1'	=> 'Windows 7',
 | |
| 	'windows nt 6.0'	=> 'Windows Vista',
 | |
| 	'windows nt 5.2'	=> 'Windows 2003',
 | |
| 	'windows nt 5.1'	=> 'Windows XP',
 | |
| 	'windows nt 5.0'	=> 'Windows 2000',
 | |
| 	'windows nt 4.0'	=> 'Windows NT 4.0',
 | |
| 	'winnt4.0'			=> 'Windows NT 4.0',
 | |
| 	'winnt 4.0'			=> 'Windows NT',
 | |
| 	'winnt'				=> 'Windows NT',
 | |
| 	'windows 98'		=> 'Windows 98',
 | |
| 	'win98'				=> 'Windows 98',
 | |
| 	'windows 95'		=> 'Windows 95',
 | |
| 	'win95'				=> 'Windows 95',
 | |
| 	'windows phone'			=> 'Windows Phone',
 | |
| 	'windows'			=> 'Unknown Windows OS',
 | |
| 	'android'			=> 'Android',
 | |
| 	'blackberry'		=> 'BlackBerry',
 | |
| 	'iphone'			=> 'iOS',
 | |
| 	'ipad'				=> 'iOS',
 | |
| 	'ipod'				=> 'iOS',
 | |
| 	'os x'				=> 'Mac OS X',
 | |
| 	'ppc mac'			=> 'Power PC Mac',
 | |
| 	'freebsd'			=> 'FreeBSD',
 | |
| 	'ppc'				=> 'Macintosh',
 | |
| 	'linux'				=> 'Linux',
 | |
| 	'debian'			=> 'Debian',
 | |
| 	'sunos'				=> 'Sun Solaris',
 | |
| 	'beos'				=> 'BeOS',
 | |
| 	'apachebench'		=> 'ApacheBench',
 | |
| 	'aix'				=> 'AIX',
 | |
| 	'irix'				=> 'Irix',
 | |
| 	'osf'				=> 'DEC OSF',
 | |
| 	'hp-ux'				=> 'HP-UX',
 | |
| 	'netbsd'			=> 'NetBSD',
 | |
| 	'bsdi'				=> 'BSDi',
 | |
| 	'openbsd'			=> 'OpenBSD',
 | |
| 	'gnu'				=> 'GNU/Linux',
 | |
| 	'unix'				=> 'Unknown Unix OS',
 | |
| 	'symbian' 			=> 'Symbian OS'
 | |
| );
 | |
| 
 | |
| 
 | |
| // The order of this array should NOT be changed. Many browsers return
 | |
| // multiple browser types so we want to identify the sub-type first.
 | |
| $browsers = array(
 | |
| 	'OPR'			=> 'Opera',
 | |
| 	'Flock'			=> 'Flock',
 | |
| 	'Edge'			=> 'Spartan',
 | |
| 	'Chrome'		=> 'Chrome',
 | |
| 	// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
 | |
| 	'Opera.*?Version'	=> 'Opera',
 | |
| 	'Opera'			=> 'Opera',
 | |
| 	'MSIE'			=> 'Internet Explorer',
 | |
| 	'Internet Explorer'	=> 'Internet Explorer',
 | |
| 	'Trident.* rv'	=> 'Internet Explorer',
 | |
| 	'Shiira'		=> 'Shiira',
 | |
| 	'Firefox'		=> 'Firefox',
 | |
| 	'Chimera'		=> 'Chimera',
 | |
| 	'Phoenix'		=> 'Phoenix',
 | |
| 	'Firebird'		=> 'Firebird',
 | |
| 	'Camino'		=> 'Camino',
 | |
| 	'Netscape'		=> 'Netscape',
 | |
| 	'OmniWeb'		=> 'OmniWeb',
 | |
| 	'Safari'		=> 'Safari',
 | |
| 	'Mozilla'		=> 'Mozilla',
 | |
| 	'Konqueror'		=> 'Konqueror',
 | |
| 	'icab'			=> 'iCab',
 | |
| 	'Lynx'			=> 'Lynx',
 | |
| 	'Links'			=> 'Links',
 | |
| 	'hotjava'		=> 'HotJava',
 | |
| 	'amaya'			=> 'Amaya',
 | |
| 	'IBrowse'		=> 'IBrowse',
 | |
| 	'Maxthon'		=> 'Maxthon',
 | |
| 	'Ubuntu'		=> 'Ubuntu Web Browser'
 | |
| );
 | |
| 
 | |
| $mobiles = array(
 | |
| 	// legacy array, old values commented out
 | |
| 	'mobileexplorer'	=> 'Mobile Explorer',
 | |
| //  'openwave'			=> 'Open Wave',
 | |
| //	'opera mini'		=> 'Opera Mini',
 | |
| //	'operamini'			=> 'Opera Mini',
 | |
| //	'elaine'			=> 'Palm',
 | |
| 	'palmsource'		=> 'Palm',
 | |
| //	'digital paths'		=> 'Palm',
 | |
| //	'avantgo'			=> 'Avantgo',
 | |
| //	'xiino'				=> 'Xiino',
 | |
| 	'palmscape'			=> 'Palmscape',
 | |
| //	'nokia'				=> 'Nokia',
 | |
| //	'ericsson'			=> 'Ericsson',
 | |
| //	'blackberry'		=> 'BlackBerry',
 | |
| //	'motorola'			=> 'Motorola'
 | |
| 
 | |
| 	// Phones and Manufacturers
 | |
| 	'motorola'		=> 'Motorola',
 | |
| 	'nokia'			=> 'Nokia',
 | |
| 	'palm'			=> 'Palm',
 | |
| 	'iphone'		=> 'Apple iPhone',
 | |
| 	'ipad'			=> 'iPad',
 | |
| 	'ipod'			=> 'Apple iPod Touch',
 | |
| 	'sony'			=> 'Sony Ericsson',
 | |
| 	'ericsson'		=> 'Sony Ericsson',
 | |
| 	'blackberry'	=> 'BlackBerry',
 | |
| 	'cocoon'		=> 'O2 Cocoon',
 | |
| 	'blazer'		=> 'Treo',
 | |
| 	'lg'			=> 'LG',
 | |
| 	'amoi'			=> 'Amoi',
 | |
| 	'xda'			=> 'XDA',
 | |
| 	'mda'			=> 'MDA',
 | |
| 	'vario'			=> 'Vario',
 | |
| 	'htc'			=> 'HTC',
 | |
| 	'samsung'		=> 'Samsung',
 | |
| 	'sharp'			=> 'Sharp',
 | |
| 	'sie-'			=> 'Siemens',
 | |
| 	'alcatel'		=> 'Alcatel',
 | |
| 	'benq'			=> 'BenQ',
 | |
| 	'ipaq'			=> 'HP iPaq',
 | |
| 	'mot-'			=> 'Motorola',
 | |
| 	'playstation portable'	=> 'PlayStation Portable',
 | |
| 	'playstation 3'		=> 'PlayStation 3',
 | |
| 	'playstation vita'  	=> 'PlayStation Vita',
 | |
| 	'hiptop'		=> 'Danger Hiptop',
 | |
| 	'nec-'			=> 'NEC',
 | |
| 	'panasonic'		=> 'Panasonic',
 | |
| 	'philips'		=> 'Philips',
 | |
| 	'sagem'			=> 'Sagem',
 | |
| 	'sanyo'			=> 'Sanyo',
 | |
| 	'spv'			=> 'SPV',
 | |
| 	'zte'			=> 'ZTE',
 | |
| 	'sendo'			=> 'Sendo',
 | |
| 	'nintendo dsi'	=> 'Nintendo DSi',
 | |
| 	'nintendo ds'	=> 'Nintendo DS',
 | |
| 	'nintendo 3ds'	=> 'Nintendo 3DS',
 | |
| 	'wii'			=> 'Nintendo Wii',
 | |
| 	'open web'		=> 'Open Web',
 | |
| 	'openweb'		=> 'OpenWeb',
 | |
| 
 | |
| 	// Operating Systems
 | |
| 	'android'		=> 'Android',
 | |
| 	'symbian'		=> 'Symbian',
 | |
| 	'SymbianOS'		=> 'SymbianOS',
 | |
| 	'elaine'		=> 'Palm',
 | |
| 	'series60'		=> 'Symbian S60',
 | |
| 	'windows ce'	=> 'Windows CE',
 | |
| 
 | |
| 	// Browsers
 | |
| 	'obigo'			=> 'Obigo',
 | |
| 	'netfront'		=> 'Netfront Browser',
 | |
| 	'openwave'		=> 'Openwave Browser',
 | |
| 	'mobilexplorer'	=> 'Mobile Explorer',
 | |
| 	'operamini'		=> 'Opera Mini',
 | |
| 	'opera mini'	=> 'Opera Mini',
 | |
| 	'opera mobi'	=> 'Opera Mobile',
 | |
| 	'fennec'		=> 'Firefox Mobile',
 | |
| 
 | |
| 	// Other
 | |
| 	'digital paths'	=> 'Digital Paths',
 | |
| 	'avantgo'		=> 'AvantGo',
 | |
| 	'xiino'			=> 'Xiino',
 | |
| 	'novarra'		=> 'Novarra Transcoder',
 | |
| 	'vodafone'		=> 'Vodafone',
 | |
| 	'docomo'		=> 'NTT DoCoMo',
 | |
| 	'o2'			=> 'O2',
 | |
| 
 | |
| 	// Fallback
 | |
| 	'mobile'		=> 'Generic Mobile',
 | |
| 	'wireless'		=> 'Generic Mobile',
 | |
| 	'j2me'			=> 'Generic Mobile',
 | |
| 	'midp'			=> 'Generic Mobile',
 | |
| 	'cldc'			=> 'Generic Mobile',
 | |
| 	'up.link'		=> 'Generic Mobile',
 | |
| 	'up.browser'	=> 'Generic Mobile',
 | |
| 	'smartphone'	=> 'Generic Mobile',
 | |
| 	'cellphone'		=> 'Generic Mobile'
 | |
| );
 | |
| 
 | |
| // There are hundreds of bots but these are the most common.
 | |
| $robots = array(
 | |
| 	'googlebot'		=> 'Googlebot',
 | |
| 	'msnbot'		=> 'MSNBot',
 | |
| 	'baiduspider'		=> 'Baiduspider',
 | |
| 	'bingbot'		=> 'Bing',
 | |
| 	'slurp'			=> 'Inktomi Slurp',
 | |
| 	'yahoo'			=> 'Yahoo',
 | |
| 	'ask jeeves'		=> 'Ask Jeeves',
 | |
| 	'fastcrawler'		=> 'FastCrawler',
 | |
| 	'infoseek'		=> 'InfoSeek Robot 1.0',
 | |
| 	'lycos'			=> 'Lycos',
 | |
| 	'yandex'		=> 'YandexBot',
 | |
| 	'mediapartners-google'	=> 'MediaPartners Google',
 | |
| 	'CRAZYWEBCRAWLER'	=> 'Crazy Webcrawler',
 | |
| 	'adsbot-google'		=> 'AdsBot Google',
 | |
| 	'feedfetcher-google'	=> 'Feedfetcher Google',
 | |
| 	'curious george'	=> 'Curious George'
 | |
| );
 |