/** * @return array detailing the browser */ public function determineBrowser() { $browser = new Browser(); // do we have a user agent at all to look at? if (!isset($_SERVER['HTTP_USER_AGENT'])) { $browser->setConsole(); return $browser; } // yes we do // work out what it is if (preg_match('|Firefox/([0-9.]+)|', $_SERVER['HTTP_USER_AGENT'], $matches)) { // Firefox, or something pretending to be Firefox $browser->setFirefox($preg_match[1]); return $browser; } // TODO: check for IE // TODO: check for Safari // TODO: provide a catchall for niche browsers // if we get here, then we do not know what we are looking // at ... assume it is a desktop browser $browser->setUnknownDesktop(); return $browser; }