forked from extern/egroupware
seems not to be used (anymore)
This commit is contained in:
parent
8052da02bc
commit
8a0ca7a6be
@ -1,410 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare API - Client browser detection *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This is not part of eGroupWare, but is used by eGroupWare. *
|
||||
* http://www.egroupware.org/ *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This program 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 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/******************************************
|
||||
** Description : PHPClientSniffer
|
||||
** Version : 1.0.0
|
||||
** File Name : PHPClientSniffer.php3
|
||||
** Author : Roger Raymond for PHyX8 studios
|
||||
** Author Email : roger.raymond@asphyxia.com
|
||||
** Created : Wednesday, August 23, 2000
|
||||
** Last Modified :
|
||||
** Modified By :
|
||||
*'
|
||||
INFO:
|
||||
Returns client information based on HTTP_USER_AGENT
|
||||
|
||||
BASED ON WORKS AND IDEAS BY:
|
||||
Tim Perdue of PHPBuilder.com
|
||||
http://www.phpbuilder.com/columns/tim20000821.php3
|
||||
|
||||
The Ultimate JavaScript Client Sniffer by Netscape.
|
||||
http://developer.netscape.com/docs/examples/javascript/NAME_type.html
|
||||
|
||||
========================================================================
|
||||
USAGE:
|
||||
========================================================================
|
||||
include("PHPClientSniffer.php3");
|
||||
$is = new sniffer;
|
||||
========================================================================
|
||||
VARIABLE NAMES VALUES
|
||||
========================================================================
|
||||
$is->UA The HTTP USER AGENT String
|
||||
$is->NAME Browser Name (Netscape, IE, Opera, iCab, Unknown)
|
||||
$is->VERSION Browser Full Version
|
||||
$is->MAJORVER Browser Major Version
|
||||
$is->MINORVER Browser Minor Version
|
||||
$is->AOL True/False
|
||||
$is->WEBTV True/False
|
||||
$is->JS Assumed JavaScript Version Supported by Browser
|
||||
$is->PLATFORM System Platform (Win16,Win32,Mac,OS2,Unix)
|
||||
$is->OS System OS (Win98,OS2,Mac68k,linux,bsd,etc...) see code
|
||||
$is->IP REMOTE_ADDR
|
||||
|
||||
========================================================================
|
||||
|
||||
'****************************************/
|
||||
|
||||
/* $Id$ */
|
||||
class clientsniffer
|
||||
{
|
||||
var $UA = '';
|
||||
var $NAME = 'Unknown';
|
||||
var $VERSION = 0;
|
||||
var $MAJORVER = 0;
|
||||
var $MINORVER = 0;
|
||||
var $AOL = false;
|
||||
var $WEBTV = false;
|
||||
var $JS = 0.0;
|
||||
var $PLATFORM = 'Unknown';
|
||||
var $OS = 'Unknown';
|
||||
var $IP = 'Unknown';
|
||||
|
||||
/* START CONSTRUCTOR */
|
||||
function clientsniffer()
|
||||
{
|
||||
$this->UA = getenv(HTTP_USER_AGENT);
|
||||
|
||||
// Determine NAME Name and Version
|
||||
if ( eregi( 'MSIE ([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) ||
|
||||
eregi( 'Microsoft Internet Explorer ([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) )
|
||||
{
|
||||
$this->VERSION = $info[1];
|
||||
$this->NAME = 'IE';
|
||||
}
|
||||
elseif ( eregi( 'Opera ([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) ||
|
||||
eregi( 'Opera/([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) )
|
||||
{
|
||||
$this->VERSION = $info[1];
|
||||
$this->NAME = 'Opera';
|
||||
}
|
||||
elseif ( eregi( 'iCab ([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) ||
|
||||
eregi( 'iCab/([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) )
|
||||
{
|
||||
$this->VERSION = $info[1];
|
||||
$this->NAME = 'iCab';
|
||||
}
|
||||
elseif ( eregi( 'Netscape6/([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) )
|
||||
{
|
||||
$this->VERSION = $info[1];
|
||||
$this->NAME = 'Netscape';
|
||||
}
|
||||
elseif ( eregi( 'Mozilla/([0-9].[0-9a-zA-Z]{1,4})',$this->UA,$info) )
|
||||
{
|
||||
$this->VERSION = $info[1];
|
||||
$this->NAME = 'Netscape';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->VERSION = 0;
|
||||
$this->NAME = 'Unknown';
|
||||
}
|
||||
|
||||
// Determine if AOL or WEBTV
|
||||
if( eregi( 'aol',$this->UA,$info))
|
||||
{
|
||||
$this->AOL = true;
|
||||
}
|
||||
elseif( eregi( 'webtv',$this->UA,$info))
|
||||
{
|
||||
$this->WEBTV = true;
|
||||
}
|
||||
|
||||
// Determine Major and Minor Version
|
||||
if($this->VERSION > 0)
|
||||
{
|
||||
$pos = strpos($this->VERSION,'.');
|
||||
if ($pos > 0)
|
||||
{
|
||||
$this->MAJORVER = substr($this->VERSION,0,$pos);
|
||||
$this->MINORVER = substr($this->VERSION,$pos,strlen($this->VERSION));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->MAJORVER = $this->VERSION;
|
||||
}
|
||||
}
|
||||
|
||||
// Determine Platform and OS
|
||||
|
||||
// Check for Windows 16-bit
|
||||
if( eregi('Win16',$this->UA) ||
|
||||
eregi('windows 3.1',$this->UA) ||
|
||||
eregi('windows 16-bit',$this->UA) ||
|
||||
eregi('16bit',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Win16';
|
||||
$this->OS = 'Win31';
|
||||
}
|
||||
|
||||
// Check for Windows 32-bit
|
||||
if(eregi('Win95',$this->UA) || eregi('windows 95',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Win32';
|
||||
$this->OS = 'Win95';
|
||||
}
|
||||
elseif(eregi('Win98',$this->UA) || eregi('windows 98',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Win32';
|
||||
$this->OS = 'Win98';
|
||||
}
|
||||
elseif(eregi('WinNT',$this->UA) || eregi('windows NT',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Win32';
|
||||
$this->OS = 'WinNT';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->PLATFORM = 'Win32';
|
||||
$this->OS = 'Win9xNT';
|
||||
}
|
||||
|
||||
// Check for OS/2
|
||||
if( eregi('os/2',$this->UA) || eregi('ibm-webexplorer',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'OS2';
|
||||
$this->OS = 'OS2';
|
||||
}
|
||||
|
||||
// Check for Mac 68000
|
||||
if( eregi('68k',$this->UA) || eregi('68000',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Mac';
|
||||
$this->OS = 'Mac68k';
|
||||
}
|
||||
|
||||
//Check for Mac PowerPC
|
||||
if( eregi('ppc',$this->UA) || eregi('powerpc',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Mac';
|
||||
$this->OS = 'MacPPC';
|
||||
}
|
||||
|
||||
// Check for Unix Flavor
|
||||
|
||||
//SunOS
|
||||
if(eregi('sunos',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'sun';
|
||||
}
|
||||
if(eregi('sunos 4',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'sun4';
|
||||
}
|
||||
elseif(eregi('sunos 5',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'sun5';
|
||||
}
|
||||
elseif(eregi('i86',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'suni86';
|
||||
}
|
||||
|
||||
// Irix
|
||||
if(eregi('irix',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'irix';
|
||||
}
|
||||
if(eregi('irix 6',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'irix6';
|
||||
}
|
||||
elseif(eregi('irix 5',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'irix5';
|
||||
}
|
||||
|
||||
//HP-UX
|
||||
if(eregi('hp-ux',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'hpux';
|
||||
}
|
||||
if(eregi('hp-ux',$this->UA) && ereg('10.',$this-UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'hpux10';
|
||||
}
|
||||
elseif(eregi('hp-ux',$this->UA) && ereg('09.',$this-UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'hpux9';
|
||||
}
|
||||
|
||||
//AIX
|
||||
if(eregi('aix',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'aix';
|
||||
}
|
||||
if(eregi('aix1',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'aix1';
|
||||
}
|
||||
elseif(eregi('aix2',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'aix2';
|
||||
}
|
||||
elseif(eregi('aix3',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'aix3';
|
||||
}
|
||||
elseif(eregi('aix4',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'aix4';
|
||||
}
|
||||
|
||||
// Linux
|
||||
if(eregi('inux',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'linux';
|
||||
}
|
||||
|
||||
//Unixware
|
||||
if(eregi('unix_system_v',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'unixware';
|
||||
}
|
||||
|
||||
//mpras
|
||||
if(eregi('ncr',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'mpras';
|
||||
}
|
||||
|
||||
//Reliant
|
||||
if(eregi('reliantunix',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'reliant';
|
||||
}
|
||||
|
||||
// DEC
|
||||
if(eregi('dec',$this->UA) ||
|
||||
eregi('osfl',$this->UA) ||
|
||||
eregi('alphaserver',$this->UA) ||
|
||||
eregi('ultrix',$this->UA) ||
|
||||
eregi('alphastation',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'dec';
|
||||
}
|
||||
|
||||
// Sinix
|
||||
if(eregi('sinix',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'sinix';
|
||||
}
|
||||
|
||||
// FreeBSD
|
||||
if(eregi('freebsd',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'freebsd';
|
||||
}
|
||||
|
||||
// BSD
|
||||
if(eregi('bsd',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'bsd';
|
||||
}
|
||||
|
||||
// VMS
|
||||
if(eregi('vax',$this->UA) || eregi('openvms',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'vms';
|
||||
}
|
||||
|
||||
// SCO
|
||||
if(eregi('sco',$this->UA) || eregi('unix_sv',$this->UA))
|
||||
{
|
||||
$this->PLATFORM = 'Unix';
|
||||
$this->OS = 'sco';
|
||||
}
|
||||
|
||||
// Assume JavaScript Version
|
||||
|
||||
// make the code a bit easier to read
|
||||
$ie = eregi('ie',$this->NAME);
|
||||
$ie5 = ( eregi('ie',$this->NAME) && ($this->MAJORVER >= 5) );
|
||||
$ie4 = ( eregi('ie',$this->NAME) && ($this->MAJORVER >= 4) );
|
||||
$ie3 = ( eregi('ie',$this->NAME) && ($this->MAJORVER >= 3) );
|
||||
|
||||
$nav = eregi('netscape',$this->NAME);
|
||||
$nav5 = ( eregi('netscape',$this->NAME) && ($this->MAJORVER >= 5) );
|
||||
$nav4 = ( eregi('netscape',$this->NAME) && ($this->MAJORVER >= 4) );
|
||||
$nav3 = ( eregi('netscape',$this->NAME) && ($this->MAJORVER >= 3) );
|
||||
$nav2 = ( eregi('netscape',$this->NAME) && ($this->MAJORVER >= 2) );
|
||||
|
||||
$opera = eregi('opera',$this->NAME);
|
||||
|
||||
// do the assumption
|
||||
// update as new versions are released
|
||||
|
||||
// Provide upward compatibilty
|
||||
if($nav && ($this->MAJORVER > 5))
|
||||
{
|
||||
$this->JS = 1.4;
|
||||
}
|
||||
elseif($ie && ($this->MAJORVER > 5))
|
||||
{
|
||||
$this->JS = 1.3;
|
||||
}
|
||||
// check existing versions
|
||||
elseif($nav5)
|
||||
{
|
||||
$this->JS = 1.4;
|
||||
}
|
||||
elseif(($nav4 && ($this->VERSION > 4.05)) || $ie4)
|
||||
{
|
||||
$this->JS = 1.3;
|
||||
}
|
||||
elseif(($nav4 && ($this->VERSION <= 4.05)) || $ie4)
|
||||
{
|
||||
$this->JS = 1.2;
|
||||
}
|
||||
elseif($nav3 || $opera)
|
||||
{
|
||||
$this->JS = 1.1;
|
||||
}
|
||||
elseif(($nav && ($this->MAJORVER >= 2)) || ($ie && ($this->MAJORVER >=3)))
|
||||
{
|
||||
$this->JS = 1.0;
|
||||
}
|
||||
//no idea
|
||||
else
|
||||
{
|
||||
$this->JS = 0.0;
|
||||
}
|
||||
|
||||
// Grab IP Address
|
||||
$this->IP = getenv('REMOTE_ADDR');
|
||||
}
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare API - Utilies loader *
|
||||
* This file written by Dan Kuykendall <seek3r@phpgroupware.org> *
|
||||
* This simply loads up additional utility libraries *
|
||||
* Copyright (C) 2000, 2001 Dan Kuykendall *
|
||||
* -------------------------------------------------------------------------*
|
||||
* This library is part of the eGroupWare API *
|
||||
* http://www.egroupware.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 *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
$d1 = strtolower(substr(PHPGW_API_INC,0,3));
|
||||
if($d1 == 'htt' || $d1 == 'ftp')
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>' . "\n";
|
||||
exit;
|
||||
}
|
||||
unset($d1);
|
||||
|
||||
class utilities
|
||||
{
|
||||
var $rssparser;
|
||||
var $clientsniffer;
|
||||
var $http;
|
||||
var $matrixview;
|
||||
var $menutree;
|
||||
var $sbox;
|
||||
|
||||
function utilities_()
|
||||
{
|
||||
// $GLOBALS['phpgw']->rssparser = CreateObject("phpgwapi.rssparser");
|
||||
// $GLOBALS['phpgw']->clientsniffer = CreateObject("phpgwapi.clientsniffer");
|
||||
// $GLOBALS['phpgw']->http = CreateObject("phpgwapi.http");
|
||||
// $GLOBALS['phpgw']->matrixview = CreateObject("phpgwapi.matrixview");
|
||||
// $GLOBALS['phpgw']->menutree = CreateObject("phpgwapi.menutree");
|
||||
$GLOBALS['phpgw']->sbox = CreateObject('phpgwapi.portalbox');
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user