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  * Text 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_Text extends Zend_Http_UserAgent_AbstractDevice
0034 {
0035     /**
0036      * User Agent Signatures
0037      *
0038      * @var array
0039      */
0040     protected static $_uaSignatures = array(
0041         'lynx',
0042         'retawq',
0043         'w3m',
0044     );
0045 
0046     /**
0047      * Comparison of the UserAgent chain and User Agent signatures
0048      *
0049      * @param string $userAgent User Agent chain
0050      * @param  array $server $_SERVER like param
0051      * @return bool
0052      */
0053     public static function match($userAgent, $server)
0054     {
0055         return self::_matchAgentAgainstSignatures($userAgent, self::$_uaSignatures);
0056     }
0057 
0058     /**
0059      * Gives the current browser type
0060      *
0061      * @return string
0062      */
0063     public function getType()
0064     {
0065         return 'text';
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 
0082     /**
0083      * Determine supported image formats
0084      *
0085      * @return null
0086      */
0087     public function getImageFormatSupport()
0088     {
0089         return null;
0090     }
0091 
0092     /**
0093      * Get preferred markup format
0094      *
0095      * @return string
0096      */
0097     public function getPreferredMarkup()
0098     {
0099         return 'xhtml';
0100     }
0101 
0102     /**
0103      * Get supported X/HTML markup level
0104      *
0105      * @return int
0106      */
0107     public function getXhtmlSupportLevel()
0108     {
0109         return 1;
0110     }
0111 
0112     /**
0113      * Does the device support Flash?
0114      *
0115      * @return bool
0116      */
0117     public function hasFlashSupport()
0118     {
0119 
0120         return false;
0121     }
0122 
0123     /**
0124      * Does the device support PDF?
0125      *
0126      * @return bool
0127      */
0128     public function hasPdfSupport()
0129     {
0130         return false;
0131     }
0132 }