<?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' 
);
