wapDetection(); if (!$isMobile) $isMobile = $this->checkUserAgentPrefix(); if (!$isMobile) $isMobile = $this->checkUserAgentContains(); if (!$isMobile) $isMobile = $this->checkOperamini(); $this->isMobile = $isMobile; } public function isMobile() { return $this->isMobile; } /** * Looks for WAP related headers. */ private function wapDetection() { foreach($this->wapHeaders as $header) { if (isset($_SERVER[$header]) && strlen($_SERVER[$header])) { return true; } } if (isset($_SERVER["HTTP_ACCEPT"]) && strpos(strtolower($_SERVER["HTTP_ACCEPT"]), 'wap') !== false) { return true; } return false; } private function checkUserAgentPrefix() { if ( isset($_SERVER['HTTP_USER_AGENT']) ) { $userPrefix = substr(strtolower($_SERVER['HTTP_USER_AGENT']), 0, 4); if ( array_search($userPrefix, $this->uaPrefixes) ) return true; } return false; } private function checkUserAgentContains() { if ( isset($_SERVER['HTTP_USER_AGENT']) ) { foreach ($this->deviceSignatures as $signature) { if ( strpos(strtolower($_SERVER['HTTP_USER_AGENT']), $signature) !== false ) { return true; } } } return false; } private function checkOperamini() { if (isset($_SERVER['ALL_HTTP']) && strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false) { return true; } return false; } }