File indexing completed on 2024-12-22 05:36:47

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  * Feed 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_Feed extends Zend_Http_UserAgent_AbstractDevice
0034 {
0035     /**
0036      * User Agent Signatures
0037      *
0038      * @var array
0039      */
0040     protected static $_uaSignatures = array(
0041         'bloglines',
0042         'everyfeed',
0043         'feedfetcher',
0044         'gregarius',
0045     );
0046 
0047     /**
0048      * Comparison of the UserAgent chain and User Agent signatures
0049      *
0050      * @param  string $userAgent User Agent chain
0051      * @param  array $server $_SERVER like param
0052      * @return bool
0053      */
0054     public static function match($userAgent, $server)
0055     {
0056         return self::_matchAgentAgainstSignatures($userAgent, self::$_uaSignatures);
0057     }
0058 
0059     /**
0060      * Gives the current browser type
0061      *
0062      * @return string
0063      */
0064     public function getType()
0065     {
0066         return 'feed';
0067     }
0068 
0069     /**
0070      * Look for features
0071      *
0072      * @return string
0073      */
0074     protected function _defineFeatures()
0075     {
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 }