File indexing completed on 2024-06-16 05:30:09

0001 <?php
0002 /**
0003  * Zend Framework
0004  *
0005  * LICENSE
0006  *
0007  * This source file is subject to the new BSD license that is bundled
0008  * with this package in the file LICENSE.txt.
0009  * It is also available through the world-wide-web at this URL:
0010  * http://framework.zend.com/license/new-bsd
0011  * If you did not receive a copy of the license and are unable to
0012  * obtain it through the world-wide-web, please send an email
0013  * to license@zend.com so we can send you a copy immediately.
0014  *
0015  * @category   Zend
0016  * @package    Zend_Http
0017  * @subpackage UserAgent
0018  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0019  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0020  */
0021 
0022 // require_once 'Zend/Http/UserAgent/AbstractDevice.php';
0023 
0024 /**
0025  * Probe browser type matcher
0026  *
0027  * @category   Zend
0028  * @package    Zend_Http
0029  * @subpackage UserAgent
0030  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0031  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0032  */
0033 class Zend_Http_UserAgent_Probe extends Zend_Http_UserAgent_AbstractDevice
0034 {
0035     /**
0036      * User Agent Signatures
0037      *
0038      * @var array
0039      */
0040     protected static $_uaSignatures = array(
0041         'witbe',
0042         'netvigie',
0043     );
0044 
0045     /**
0046      * Comparison of the UserAgent chain and User Agent signatures
0047      *
0048      * @param string $userAgent User Agent chain
0049      * @param  array $server $_SERVER like param
0050      * @return bool
0051      */
0052     public static function match($userAgent, $server)
0053     {
0054         return self::_matchAgentAgainstSignatures($userAgent, self::$_uaSignatures);
0055     }
0056 
0057 
0058     /**
0059      * Gives the current browser type
0060      *
0061      * @return string
0062      */
0063     public function getType()
0064     {
0065         return 'probe';
0066     }
0067 
0068     /**
0069      * Look for features
0070      *
0071      * @return string
0072      */
0073     protected function _defineFeatures()
0074     {
0075         $this->setFeature('images', false, 'product_capability');
0076         $this->setFeature('iframes', false, 'product_capability');
0077         $this->setFeature('frames', false, 'product_capability');
0078         $this->setFeature('javascript', false, 'product_capability');
0079         return parent::_defineFeatures();
0080     }
0081 }