extension/ezoe/ezxmltext/handlers/input/ezoexmlinput.php
public static function browserSupportsDHTMLType()
    {
        if ( self::$browserType === null )
        {
            self::$browserType = false;
            $userAgent = eZSys::serverVariable( 'HTTP_USER_AGENT' );
            // Opera 9.6+
            if ( strpos( $userAgent, 'Presto' ) !== false &&
                 preg_match('/Presto\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 2.1 )
                    self::$browserType = 'Presto';
            }
            // IE 8.0+
            else if ( strpos( $userAgent, 'Trident' ) !== false &&
                      preg_match('/Trident\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 4.0 )
                    self::$browserType = 'Trident';
            }
            // IE 6 & 7
            else if ( strpos( $userAgent, 'MSIE' ) !== false &&
                      preg_match('/MSIE[ \/]([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 6.0 )
                    self::$browserType = 'Trident';
            }
            // Firefox 3+
            else if ( strpos( $userAgent, 'Gecko' ) !== false &&
                      preg_match('/rv:([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 1.9 )
                    self::$browserType = 'Gecko';
            }
            // Safari 4+ (and Chrome)
            else if ( strpos( $userAgent, 'WebKit' ) !== false &&
                      strpos( $userAgent, 'Mobile' ) === false &&
                      strpos( $userAgent, 'Android' ) === false &&
                      strpos( $userAgent, 'iPad' ) === false &&
                      strpos( $userAgent, 'iPhone' ) === false &&
                      strpos( $userAgent, 'iPod' ) === false &&
                      preg_match('/WebKit\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 528.16 )
                    self::$browserType = 'WebKit';
            }
            // iOS 5+
            else if ( strpos( $userAgent, 'AppleWebKit' ) !== false &&
                      strpos( $userAgent, 'Mobile' ) !== false &&
                      preg_match('/AppleWebKit\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 534.46 )
                    self::$browserType = 'MobileWebKit';
            }
            if ( self::$browserType === false )
                eZDebug::writeNotice( 'Browser not supported: ' . $userAgent, __METHOD__ );
        }
        return self::$browserType;
    }
public static function browserSupportsDHTMLType()
    {
        if ( self::$browserType === null )
        {
            self::$browserType = false;
            $userAgent = eZSys::serverVariable( 'HTTP_USER_AGENT' );
            // Opera 9.6+
            if ( strpos( $userAgent, 'Presto' ) !== false &&
                 preg_match('/Presto\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 2.1 )
                    self::$browserType = 'Presto';
            }
            // IE 8.0+
            else if ( strpos( $userAgent, 'Trident' ) !== false &&
                      preg_match('/Trident\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 4.0 )
                    self::$browserType = 'Trident';
            }
            // IE 6 & 7
            else if ( strpos( $userAgent, 'MSIE' ) !== false &&
                      preg_match('/MSIE[ \/]([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 6.0 )
                    self::$browserType = 'Trident';
            }
            // Firefox 3+
            else if ( strpos( $userAgent, 'Gecko' ) !== false &&
                      preg_match('/rv:([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 1.9 )
                    self::$browserType = 'Gecko';
            }
            // Safari 4+ (and Chrome)
            else if ( strpos( $userAgent, 'WebKit' ) !== false &&
                      strpos( $userAgent, 'Mobile' ) === false &&
                      strpos( $userAgent, 'Android' ) === false &&
                      strpos( $userAgent, 'iPad' ) === false &&
                      strpos( $userAgent, 'iPhone' ) === false &&
                      strpos( $userAgent, 'iPod' ) === false &&
                      preg_match('/WebKit\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 528.16 )
                    self::$browserType = 'WebKit';
            }
            // iOS 5+
            else if ( strpos( $userAgent, 'AppleWebKit' ) !== false &&
                      strpos( $userAgent, 'Mobile' ) !== false &&
                      preg_match('/AppleWebKit\/([0-9\.]+)/i', $userAgent, $browserInfo ) )
            {
                if ( $browserInfo[1] >= 534.46 )
                    self::$browserType = 'MobileWebKit';
            }
            if ( self::$browserType === false )
                eZDebug::writeNotice( 'Browser not supported: ' . $userAgent, __METHOD__ );
        }
        return self::$browserType;
    }
public static function browserSupportsDHTMLType ( ) { if ( self :: $ browserType === null ) { self :: $ browserType = false ; $ userAgent = eZSys :: serverVariable ( 'HTTP_USER_AGENT' ) ; // Opera 9.6+ if ( strpos ( $ userAgent , 'Presto' ) !== false && preg_match ( '/Presto\/([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 2.1 ) self :: $ browserType = 'Presto' ; } // IE 8.0+ else if ( strpos ( $ userAgent , 'Trident' ) !== false && preg_match ( '/Trident\/([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 4.0 ) self :: $ browserType = 'Trident' ; } // IE 6 & 7 else if ( strpos ( $ userAgent , 'MSIE' ) !== false && preg_match ( '/MSIE[ \/]([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 6.0 ) self :: $ browserType = 'Trident' ; } // Firefox 3+ else if ( strpos ( $ userAgent , 'Gecko' ) !== false && preg_match ( '/rv:([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 1.9 ) self :: $ browserType = 'Gecko' ; } // Safari 4+ (and Chrome) else if ( strpos ( $ userAgent , 'WebKit' ) !== false && strpos ( $ userAgent , 'Mobile' ) === false && strpos ( $ userAgent , 'Android' ) === false && strpos ( $ userAgent , 'iPad' ) === false && strpos ( $ userAgent , 'iPhone' ) === false && strpos ( $ userAgent , 'iPod' ) === false && preg_match ( '/WebKit\/([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 528.16 ) self :: $ browserType = 'WebKit' ; } // iOS 5+ else if ( strpos ( $ userAgent , 'AppleWebKit' ) !== false && strpos ( $ userAgent , 'Mobile' ) !== false && preg_match ( '/AppleWebKit\/([0-9\.]+)/i' , $ userAgent , $ browserInfo ) ) { if ( $ browserInfo [ 1 ] >= 534.46 ) self :: $ browserType = 'MobileWebKit' ; } if ( self :: $ browserType === false ) eZDebug :: writeNotice ( 'Browser not supported: ' . $ userAgent , __METHOD__ ) ; } return self :: $ browserType ; }
browserSupportsDHTMLType
Identify supported browser by layout engine using user agent string.

@static
@return string|false Name of supported layout engine or false
browserSupportsDHTMLType Identify supported browser by layout engine using user agent string .