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