Source for file Common.php
Documentation is available at Common.php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
* Copyright (c) 2003-2009 KUBO Atsuhiro <kubo@iteman.jp>,
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* @package Net_UserAgent_Mobile
* @author KUBO Atsuhiro <kubo@iteman.jp>
* @copyright 2003-2009 KUBO Atsuhiro <kubo@iteman.jp>
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version CVS: $Id: Common.php,v 1.1 2009/05/26 08:48:16 kuboa Exp $
* @since File available since Release 0.1
require_once 'Net/UserAgent/Mobile/Error.php';
// {{{ Net_UserAgent_Mobile_Common
* Base class that is extended by each user agents implementor
* Net_UserAgent_Mobile_Common is a class for mobile user agent
* abstraction layer on Net_UserAgent_Mobile.
* @package Net_UserAgent_Mobile
* @author KUBO Atsuhiro <kubo@iteman.jp>
* @copyright 2003-2009 KUBO Atsuhiro <kubo@iteman.jp>
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version Release: 1.0.0
* @since Class available since Release 0.1
* User-Agent name like 'DoCoMo'
* User-Agent version number like '1.0'
* {@link Net_UserAgent_Mobile_Display} object
* @var object {@link Net_UserAgent_Mobile_Display}
* {@link Net_UserAgent_Mobile_Error} object for error handling in the constructor
* @since Property available since Release 0.31.0
* The model name of the user agent.
* @since Property available since Release 0.31.0
* The raw model name of the user agent.
* @since Property available since Release 0.31.0
* @param string $userAgent User-Agent string
$this->_userAgent = $userAgent;
$result = $this->parse($userAgent);
if (PEAR ::isError ($result)) {
$this->_error = &$result;
* Gets a Net_UserAgent_Mobile_Error object.
* @param object {@link Net_UserAgent_Mobile_Error} object when setting an error
* @return Net_UserAgent_Mobile_Error
* @since Method available since Release 1.0.0RC2
* returns User-Agent string
return $this->_userAgent;
* returns a specified HTTP header
return @$_SERVER[ 'HTTP_' . str_replace('-', '_', $header) ];
* returns User-Agent name like 'DoCoMo'
* returns {@link Net_UserAgent_Mobile_Disply} object
* @return Net_UserAgent_Mobile_Display
* returns User-Agent version number like '1.0'
* generates a warning message for new variants
* @throws Net_UserAgent_Mobile_Error
return PEAR ::raiseError ($this->getUserAgent() . ': might be new variants. Please contact the author of Net_UserAgent_Mobile!',
'Net_UserAgent_Mobile_Error'
* Parses HTTP_USER_AGENT string.
* @param string $userAgent User-Agent string
function parse($userAgent) {}
* create a new Net_UserAgent_Mobile_Display class instance (should be
* implemented in subclasses)
* @return Net_UserAgent_Mobile_Display
* returns true if the agent is DoCoMo
* returns true if the agent is J-PHONE
* returns true if the agent is Vodafone
* returns true if the agent is EZweb
* returns true if the agent is AirH"PHONE
* returns true if the agent is NonMobile
* returns true if the agent is TU-Ka
* returns true if the agent can speak WAP1 protocol
* returns true if the agent can speak WAP2 protocol
return $this->isEZweb() && $this->isXHTMLCompliant ();
// {{{ getCarrierShortName()
* returns the short name of the carrier
// {{{ getCarrierLongName()
* returns the long name of the carrier
* Returns whether the agent is SoftBank or not.
* @since Method available since Release 0.31.0
* Returns whether the agent is Willcom or not.
* @since Method available since Release 0.31.0
* Returns the model name of the user agent.
* @since Method available since Release 0.31.0
* Returns the raw model name of the user agent.
* @since Method available since Release 0.31.0
* Gets the UID of a subscriber.
* @since Method available since Release 1.0.0RC1
* c-hanging-comment-ender-p: nil
Documentation generated on Tue, 23 Jun 2009 10:00:03 +0000 by phpDocumentor 1.4.2. PEAR Logo Copyright © PHP Group 2004.
|