diff options
-rw-r--r-- | it_browser.class | 187 | ||||
-rw-r--r-- | itools.lib | 2 |
2 files changed, 1 insertions, 188 deletions
diff --git a/it_browser.class b/it_browser.class deleted file mode 100644 index 22214e2..0000000 --- a/it_browser.class +++ /dev/null @@ -1,187 +0,0 @@ -<?php -/* -** Copyright (C) 1995-2021 by the ITools Authors. -** This file is part of ITools - the Internet Tools Library -** -** ITools is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 3 of the License, or -** (at your option) any later version. -** -** ITools is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program. If not, see <http://www.gnu.org/licenses/>. -** -** 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 __construct() -{ - $this->UserAgent = $_SERVER['HTTP_USER_AGENT']; - /* $this->UserAgent = "Mozilla/4.0 [de] (compatible; MSIE 5.0; Windows 95; .NET CRL 2.0.154)"; */ - - /* Find "Mozilla/4.0" */ - if (preg_match("#([^/]*)/([^ ]*)#", $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 (preg_match("#([^/]*)[/ ]([^/]*)#", $optattr[1], $regs)) - { - $this->Type = $regs[1]; - $this->Version = (double)$regs[2]; - } - else - $this->Type = $optattr[1]; - - $this->Platform = !empty($optattr[2]) ? $optattr[2] : $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 = (float)$regs[1]; - if (strstr($optattr[$i], "Linux") || $optattr[$i] == "X11") - $this->Platform = "Linux"; - } - } - - /* Find optional "[de]" */ - if (!$this->Language && preg_match("/\[(.*)\]/", $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"; - - /* Read language from Accept-Language header */ - if (!$this->Language && $_SERVER['HTTP_ACCEPT_LANGUAGE']) - { - $accept_langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); - $this->Language = substr($accept_langs[0], 0, 2); - } - - /* 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 */ -?> @@ -19,9 +19,9 @@ require_once 'itools/auto_prepend.php'; require_once 'itools/it.class'; -require_once 'itools/it_browser.class'; require_once 'itools/it_cache.class'; require_once 'itools/it_dbi.class'; +require_once 'itools/it_dbi_postgres.class'; require_once 'itools/it_debug.class'; require_once 'itools/it_html.class'; require_once 'itools/itjs.class'; |