Пример #1
0
function browser_detect()
{
    $agent = "@" . strtolower($_SERVER["HTTP_USER_AGENT"]);
    $version = array();
    sys::$browser = $agent;
    if (strpos($agent, "firefox") and preg_match("|(firefox)/([0-9]+\\.[0-9])|", $agent, $version) or strpos($agent, "opera") and preg_match("|(opera).?([0-9]+\\.[0-9])|", $agent, $version) or strpos($agent, "msie") and preg_match("|(msie) ([0-9]+\\.[0-9])|", $agent, $version) or strpos($agent, "chrome") and preg_match("|(chrome)/([0-9]+)|", $agent, $version) or strpos($agent, "applewebkit") and preg_match("|(applewebkit)/([0-9]+)|", $agent, $version) or strpos($agent, "konqueror") and preg_match("|(konqueror).?([0-9]\\.[0-9])|", $agent, $version) or strpos($agent, "thunderbird") and preg_match("|(thunderbird)/([0-9]+\\.[0-9])|", $agent, $version) or strpos($agent, "miniredir") and preg_match("|(miniredir)/([0-9]\\.[0-9])|", $agent, $version) or strpos($agent, "httpclient") and preg_match("|(httpclient)/([0-9]\\.[0-9])|", $agent, $version) or strpos($agent, "curl") and preg_match("|(curl)/([0-9]+\\.[0-9])|", $agent, $version) or strpos($agent, "apachebench") and preg_match("|(apachebench)/([0-9]\\.[0-9])|", $agent, $version)) {
        sys::$browser = $version[1] . " " . $version[2];
    } else {
        if (strpos($agent, "mozilla") and preg_match("|rv:([0-9]\\.[0-9]).*?gecko|", $agent, $version)) {
            sys::$browser = "mozilla " . $version[1];
        } else {
            if (preg_match("/googlebot|msnbot|yahoo|baidu|teoma/", $agent)) {
                sys::$browser = "search-engine";
            }
        }
    }
    if (strpos($agent, "thunderbird")) {
        $_REQUEST["iframe"] = 1;
    }
    if (strpos($agent, "windows ce")) {
        sys::$browser .= " wince";
    } else {
        if (strpos($agent, "windows")) {
            sys::$browser .= " win";
        } else {
            if (strpos($agent, "macintosh")) {
                sys::$browser .= " mac";
            } else {
                if (strpos($agent, "linux")) {
                    sys::$browser .= "linux";
                }
            }
        }
    }
    if (preg_match("/iphone|nokia/", $agent)) {
        $_REQUEST["tree"] = "minimize";
    }
    if (preg_match("/iphone|nokia|ipad|android/", $agent)) {
        sys::$is_mobile = true;
    }
}