cvs: pear /Net_UserAgent Detect.php /Net_UserAgent/tests example.php

From: Date: Mon, 18 Apr 2005 18:02:15 +0000
Subject: cvs: pear /Net_UserAgent Detect.php /Net_UserAgent/tests example.php
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-31287@lists.php.net to get a copy of this message
jrust Mon Apr 18 14:02:15 2005 EDT Modified files: /pear/Net_UserAgent Detect.php /pear/Net_UserAgent/tests example.php Log: * Adding the ability to override the static data by setting the 're-evaluate' option so multiple browsers can be detected in a single page (#2025). NOTE that setting this indiscriminately will slow down the package's speed. http://cvs.php.net/diff.php/pear/Net_UserAgent/Detect.php?r1=1.16&r2=1.17&ty=u Index: pear/Net_UserAgent/Detect.php diff -u pear/Net_UserAgent/Detect.php:1.16 pear/Net_UserAgent/Detect.php:1.17 --- pear/Net_UserAgent/Detect.php:1.16 Mon Apr 18 13:16:20 2005 +++ pear/Net_UserAgent/Detect.php Mon Apr 18 14:02:13 2005 @@ -18,7 +18,7 @@ // | Jason Rust <jrust@php.net> | // +----------------------------------------------------------------------+ -// $Id: Detect.php,v 1.16 2005/04/18 17:16:20 jrust Exp $ +// $Id: Detect.php,v 1.17 2005/04/18 18:02:13 jrust Exp $ // }}} // {{{ constants @@ -105,14 +105,14 @@ function detect($in_userAgent = null, $in_detect = null) { static $hasRun; - if (!empty($hasRun)) { + $options = &Net_UserAgent_Detect::_getStaticProperty('options'); + if (!empty($hasRun) && empty($options['re-evaluate'])) { return; } $hasRun = true; // {{{ set up static properties - $options = &Net_UserAgent_Detect::_getStaticProperty('options'); $in_userAgent = isset($options['userAgent']) && is_null($in_userAgent) ? $options['userAgent'] : null; $in_detect = isset($options['detectOptions']) && is_null($in_detect) ? $options['detectOptions'] : null; http://cvs.php.net/diff.php/pear/Net_UserAgent/tests/example.php?r1=1.6&r2=1.7&ty=u Index: pear/Net_UserAgent/tests/example.php diff -u pear/Net_UserAgent/tests/example.php:1.6 pear/Net_UserAgent/tests/example.php:1.7 --- pear/Net_UserAgent/tests/example.php:1.6 Mon Apr 18 13:01:25 2005 +++ pear/Net_UserAgent/tests/example.php Mon Apr 18 14:02:15 2005 @@ -23,18 +23,31 @@ // }}} if (in_array(php_sapi_name(), array('cli', 'cgi')) && empty($_SERVER['REMOTE_ADDR'])) { - $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr;'; - Net_UserAgent_Detect::setOption('userAgent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc1) Gecko/20020417'); + Net_UserAgent_Detect::setOption('re-evaluate', true); + foreach (array('en' => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc1) Gecko/20020417', + 'fr' => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)') as $lang => $brwsr) { + putenv("HTTP_ACCEPT_LANGUAGE=$lang"); + Net_UserAgent_Detect::setOption('userAgent', $brwsr); + print_info(); + println('----------------------------'); + } } +else { + print_info(); +} + -$browserSearch = array('ie6up', 'ie5', 'ie4', 'gecko', 'ns6up', 'ns4', 'nav', 'safari'); -println('User Agent String: ' . Net_UserAgent_Detect::getUserAgent()); -println('Browser String: ' . Net_UserAgent_Detect::getBrowserString()); -println('OS String: ' . Net_UserAgent_Detect::getOSString()); -println('Browser flag: ' . Net_UserAgent_Detect::getBrowser($browserSearch)); -println('Has "popups disabled" quirk: ' . (Net_UserAgent_Detect::hasQuirk('popups_disabled') ? 'Yes' : 'No')); -println('Has "dom" feature: ' . (Net_UserAgent_Detect::hasFeature('dom') ? 'Yes' : 'No')); -println('Javascript version: ' . Net_UserAgent_Detect::getFeature('javascript')); -$languages = array('fr', 'de', 'en'); -println('Accept Language: ' . Net_UserAgent_Detect::getAcceptType($languages, 'language')); +function print_info() +{ + $browserSearch = array('ie6up', 'ie5', 'ie4', 'gecko', 'ns6up', 'ns4', 'nav', 'safari'); + println('User Agent String: ' . Net_UserAgent_Detect::getUserAgent()); + println('Browser String: ' . Net_UserAgent_Detect::getBrowserString()); + println('OS String: ' . Net_UserAgent_Detect::getOSString()); + println('Browser flag: ' . Net_UserAgent_Detect::getBrowser($browserSearch)); + println('Has "popups disabled" quirk: ' . (Net_UserAgent_Detect::hasQuirk('popups_disabled') ? 'Yes' : 'No')); + println('Has "dom" feature: ' . (Net_UserAgent_Detect::hasFeature('dom') ? 'Yes' : 'No')); + println('Javascript version: ' . Net_UserAgent_Detect::getFeature('javascript')); + $languages = array('fr', 'de', 'en'); + println('Accept Language: ' . Net_UserAgent_Detect::getAcceptType($languages, 'language')); +} ?>

« previous php.pear.cvs (#31287) next »