215 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			215 lines
		
	
	
		
			6.0 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', | ||
|  | 	'ia_archiver'		=> 'Alexa Crawler', | ||
|  | 	'MJ12bot'		=> 'Majestic-12', | ||
|  | 	'Uptimebot'		=> 'Uptimebot' | ||
|  | ); |