From 9a168c19d7a9b0378ad8c7a49d62851661e05542 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Sat, 7 Apr 2001 13:53:47 +0000 Subject: [PATCH] Browser detection functions - this may be incorporated to common or functions.inc --- phpgwapi/inc/browser.inc.php | 156 +++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 phpgwapi/inc/browser.inc.php diff --git a/phpgwapi/inc/browser.inc.php b/phpgwapi/inc/browser.inc.php new file mode 100644 index 0000000000..c62eef8569 --- /dev/null +++ b/phpgwapi/inc/browser.inc.php @@ -0,0 +1,156 @@ + * + * Majority of code borrowed from Sourceforge 2.5 * + * Copyright 1999-2000 (c) The SourceForge Crew - http://sourceforge.net * + * Browser detection functions for phpGroupWare developers * + * -------------------------------------------------------------------------* + * This library is part of the phpGroupWare API * + * http://www.phpgroupware.org/api * + * ------------------------------------------------------------------------ * + * This library is free software; you can redistribute it and/or modify it * + * under the terms of the GNU Lesser General Public License as published by * + * the Free Software Foundation; either version 2.1 of the License, * + * or any later version. * + * This library 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 Lesser General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public License * + * along with this library; if not, write to the Free Software Foundation, * + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * + \**************************************************************************/ + + + // Where do we need to put this? - Milosch + + unset ($BROWSER_AGENT); + unset ($BROWSER_VER); + unset ($BROWSER_PLATFORM); + + function browser_get_agent () + { + global $BROWSER_AGENT; + return $BROWSER_AGENT; + } + + function browser_get_version() + { + global $BROWSER_VER; + return $BROWSER_VER; + } + + function browser_get_platform() + { + global $BROWSER_PLATFORM; + return $BROWSER_PLATFORM; + } + + function browser_is_mac() + { + if (browser_get_platform()=='Mac') + { + return true; + } + else + { + return false; + } + } + + function browser_is_windows() + { + if (browser_get_platform()=='Win') + { + return true; + } + else + { + return false; + } + } + + function browser_is_ie() + { + if (browser_get_agent()=='IE') + { + return true; + } + else + { + return false; + } + } + + function browser_is_netscape() + { + if (browser_get_agent()=='MOZILLA') + { + return true; + } + else + { + return false; + } + } + + + /* + Determine browser and version + */ + if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) + { + $BROWSER_VER=$log_version[1]; + $BROWSER_AGENT='IE'; + } + elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) + { + $BROWSER_VER=$log_version[1]; + $BROWSER_AGENT='OPERA'; + } + elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})',$HTTP_USER_AGENT,$log_version)) + { + $BROWSER_VER=$log_version[1]; + $BROWSER_AGENT='MOZILLA'; + } + else + { + $BROWSER_VER=0; + $BROWSER_AGENT='OTHER'; + } + + /* + Determine platform + */ + if (strstr($HTTP_USER_AGENT,'Win')) + { + $BROWSER_PLATFORM='Win'; + } + else if (strstr($HTTP_USER_AGENT,'Mac')) + { + $BROWSER_PLATFORM='Mac'; + } + else if (strstr($HTTP_USER_AGENT,'Linux')) + { + $BROWSER_PLATFORM='Linux'; + } + else if (strstr($HTTP_USER_AGENT,'Unix')) + { + $BROWSER_PLATFORM='Unix'; + } + else + { + $BROWSER_PLATFORM='Other'; + } + + /* + echo "\n\nAgent: $HTTP_USER_AGENT"; + echo "\nIE: ".browser_is_ie(); + echo "\nMac: ".browser_is_mac(); + echo "\nWindows: ".browser_is_windows(); + echo "\nPlatform: ".browser_get_platform(); + echo "\nVersion: ".browser_get_version(); + echo "\nAgent: ".browser_get_agent(); + */ +?>