summaryrefslogtreecommitdiff
path: root/browser.class
diff options
context:
space:
mode:
authorUrban Müller2007-07-26 13:02:24 +0000
committerUrban Müller2007-07-26 13:02:24 +0000
commit806a5297e7e99d455b97a4f0acaba2f40f470584 (patch)
treeb9fc43ef227da87d873cf3676c08c49fa0dc1240 /browser.class
parentc3cba034c8009b65c25dd4ef5f54b18d9c8ee7d4 (diff)
downloaditools-806a5297e7e99d455b97a4f0acaba2f40f470584.tar.gz
itools-806a5297e7e99d455b97a4f0acaba2f40f470584.tar.bz2
itools-806a5297e7e99d455b97a4f0acaba2f40f470584.zip
renamed files for autoloader
Diffstat (limited to 'browser.class')
-rw-r--r--browser.class178
1 files changed, 0 insertions, 178 deletions
diff --git a/browser.class b/browser.class
deleted file mode 100644
index e67b658..0000000
--- a/browser.class
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-/*
-** $Id$
-**
-** ITools - the Internet Tools Library
-**
-** Copyright (C) 1995-2003 by the ITools Authors.
-** This program is free software; you can redistribute it and/or
-** modify it under the terms of either the GNU General Public License
-** or the GNU Lesser General Public License, as published by the Free
-** Software Foundation. See http://www.gnu.org/licenses/ for details.
-**
-** Class it_Browser: Browser capability class
-** For a good list see http://www.msb.edu/dept/msbtc/waehner/browser/
-**
-** Inspired by browser.pinc,v 1.1.1.1 1999/03/23 14:51:39 bobak Exp
-*/
-
-/**
- * Browser capabilities class
- * var $Type string: Browser type, "Netscape", "MSIE", "Konqueror", "Opera", "Safari", "Gecko" etc.
- * var $Version float: Browser-Version x.y for all brands
- * var $Platform string: "Win95", "Macintosh", "Linux" ... may be wrong
- * var $Language string: Browser's language, "de", "en", ... or unset
- * var $HTMLVersion float: Suported HTML version x.y
- * var $JavaScript bool: Browser supports Javascript
- * var $CSS bool: Browser supports Style sheets
- * var $TextOnly bool: Browser supports only text, no graphics
- */
-class it_browser
-{
- /* Generic attributes */
- var $UserAgent; /* string: Unparsed HTTP_USER_AGENT */
- var $Type = ''; /* string: Browser type, "Netscape", "MSIE", etc. */
- var $Version; /* float: Browser-Version x.y for all brands */
- var $Platform; /* string: "Win95", "Macintosh", "Linux" ... may be wrong */
- var $Language; /* string: Browser's language, "de", "en", ... or unset */
- var $HTMLVersion=0; /* float: Suported HTML version x.y */
- var $JavaScript=0; /* bool: Browser supports Javascript */
- var $CSS=1; /* int: Style sheet level (0..3) */
- var $CSSFilter=0; /* bool: Is MSIE and supports CSS filter: property */
- var $TextOnly=0; /* bool: Browser supports only text, no graphics */
- var $VML=0; /* bool: Browser support VectorMarkupLanguage */
- var $Canvas=0; /* bool: Supports Canvas */
- var $XMLHTTP=0; /* bool: Browser supports XMLHTTP requests */
-
- /* Browser specific stuff (DEPRECATED, use generic attributes above) */
- var $MSIE; /* float: Microsoft Internet Explorer Version or 0 */
- var $NS; /* float: Netscape Navigator Version or 0 */
-
-/**
- * Constructor: Initializes public fields with browser capabilities
- */
-function it_browser()
-{
- $this->UserAgent = $_SERVER['HTTP_USER_AGENT'];
- /* $this->UserAgent = "Mozilla/4.0 [de] (compatible; MSIE 5.0; Bill Gates 1.0; Windows 95)"; */
-
- /* Find "Mozilla/4.0" */
- if (ereg("([^/]*)/([^ ]*)", $this->UserAgent, $regs))
- {
- $this->Type = $regs[1];
- $this->Version = (double)$regs[2];
- }
-
- /* Find optional "(compatible; MSIE 3.0; Win95)" */
- if (preg_match("/\((.+)\)/U", $this->UserAgent, $regs))
- {
- $optattr = preg_split("/;\s+/", $regs[1]);
- if ($optattr[0] == "compatible")
- {
- if (ereg("([^/]*)[/ ]([^/]*)", $optattr[1], $regs))
- {
- $this->Type = $regs[1];
- $this->Version = (double)$regs[2];
- }
- else
- $this->Type = $optattr[1];
-
- $this->Platform = $optattr[count($optattr)-1];
- }
- else
- $this->Platform = $optattr[0];
-
- for ($i=1; $i < count($optattr); $i++)
- {
- if (preg_match("/^([a-z]{2})(\-[a-z]{2})?$/i", $optattr[$i], $regs))
- $this->Language = $regs[1];
- if (preg_match("/^rv:([0-9\.]+)/", $optattr[$i], $regs))
- $this->Version = floatval($regs[1]);
- if (strstr($optattr[$i], "Linux") || $optattr[$i] == "X11")
- $this->Platform = "Linux";
- }
- }
-
- /* Find optional "[de]" */
- if (!$this->Language && ereg("\[(.*)\]", $this->UserAgent, $regs))
- $this->Language = $regs[1];
-
- /* Check for Safari/KHTML */
- if (preg_match("/(Safari|AppleWebKit)\/([0-9\.]+)/", $this->UserAgent, $regs))
- {
- $this->Type = "Safari";
- $this->Version = floatval($regs[2]);
- }
-
- /* Check for Gecko based browser */
- if ($this->Type == "Mozilla" && preg_match("/[^a-z]Gecko[^a-z]/", $this->UserAgent))
- $this->Type = "Gecko";
- else if ($this->Type == "Mozilla" && $this->Version < 5)
- $this->Type = "Netscape";
-
-
- /* And now for the browser capabilities ... */
- if ($this->Type == "MSIE")
- {
- $this->MSIE = $this->Version;
- $this->HTMLVersion = 4.0;
- $this->JavaScript = true;
- $this->VML = ($this->Version >= 5.5);
- $this->XMLHTTP = ($this->Version >= 5);
- $this->CSS = $this->Version >= 4.0 ? 2 : 1;
- $this->CSSFilter = ($this->Version >= 5.0);
- }
- else if ($this->Type == "Opera")
- {
- $this->Opera = $this->Version;
- if ($this->Version >= 3.5)
- {
- $this->HTMLVersion = 4.0;
- $this->CSS = 2;
- }
- else
- {
- $this->HTMLVersion = 3.2;
- $this->CSS = 1;
- }
- $this->JavaScript = true;
- $this->XMLHTTP = ($this->Version >= 8);
- }
- else if ($this->Type == "Konqueror")
- {
- $this->HTMLVersion = 4.0;
- $this->CSS = 2;
- $this->JavaScript = true;
- $this->XMLHTTP = ($this->Version >= 3);
- }
- else if ($this->Type == "Netscape")
- {
- $this->NS = $this->Version;
- $this->HTMLVersion = 4.0;
- $this->JavaScript = true;
-
- if ($this->Version >= 5.0)
- $this->CSS = 2;
- }
- else if ($this->Type == "Gecko")
- {
- $this->HTMLVersion = 4.0;
- $this->CSS = 2;
- $this->JavaScript = true;
- $this->XMLHTTP = true;
- $this->Canvas = ($this->Version >= 1.8);
- }
- else if ($this->Type == "Safari")
- {
- $this->HTMLVersion = 4.0;
- $this->JavaScript = true;
- $this->CSS = 2;
- $this->XMLHTTP = true;
- $this->Canvas = ($this->Version >= 418);
- }
- else if ($this->Type == "Lynx")
- $this->TextOnly = 1;
-}
-
-} /* End Class it_Browser */
-?>