コード例 #1
0
ファイル: ezoexmlinput.php プロジェクト: heliopsis/ezoe
 /**
  * browserSupportsDHTMLType
  * Identify supported browser by layout engine using user agent string.
  *
  * @static
  * @return string|false Name of supported layout engine or false
  */
 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';
             }
         } else {
             if (strpos($userAgent, 'Trident') !== false && preg_match('/Trident\\/([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                 if ($browserInfo[1] >= 4.0) {
                     self::$browserType = 'Trident';
                 }
             } else {
                 if (strpos($userAgent, 'MSIE') !== false && preg_match('/MSIE[ \\/]([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                     if ($browserInfo[1] >= 6.0) {
                         self::$browserType = 'Trident';
                     }
                 } else {
                     if (strpos($userAgent, 'Gecko') !== false && preg_match('/rv:([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                         if ($browserInfo[1] >= 1.9) {
                             self::$browserType = 'Gecko';
                         }
                     } 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';
                             }
                         } else {
                             if (strpos($userAgent, 'AppleWebKit') !== false && strpos($userAgent, 'Mobile') !== false && strpos($userAgent, 'Android') === 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;
 }
コード例 #2
0
  /**
  * browserSupportsDHTMLType
  * Identify supported browser by layout engine using user agent string.
  *
  * @static
  * @return string|false Name of supported layout engine or false
  */
 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 &&
                   strpos( $userAgent, 'Android' ) === false &&//@todo: remove when Android is supported in TinyMCE
                   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;
 }
コード例 #3
0
ファイル: ezoexmlinput.php プロジェクト: stevoland/ez_soextra
 /**
  * browserSupportsDHTMLType
  * Identify supported browser by layout engine using user agent string.
  *
  * @static
  * @return string|false Name of supported layout engine or false
  */
 public static function browserSupportsDHTMLType()
 {
     if (self::$browserType === null) {
         self::$browserType = false;
         $userAgent = eZSys::serverVariable('HTTP_USER_AGENT');
         if (strpos($userAgent, 'Presto') !== false && preg_match('/Presto\\/([0-9\\.]+)/i', $userAgent, $browserInfo)) {
             if ($browserInfo[1] >= 2.1) {
                 self::$browserType = 'Presto';
             }
         } else {
             if (strpos($userAgent, 'Opera') !== false && preg_match('/Opera\\/([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                 // Presto is not part of the user agent string on Opera < 9.6
                 if ($browserInfo[1] >= 9.5) {
                     self::$browserType = 'Presto';
                 }
             } else {
                 if (strpos($userAgent, 'Trident') !== false && preg_match('/Trident\\/([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                     if ($browserInfo[1] >= 4.0) {
                         self::$browserType = 'Trident';
                     }
                 } else {
                     if (strpos($userAgent, 'MSIE') !== false && preg_match('/MSIE[ \\/]([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                         // IE didn't have Trident in it's user agent string untill IE 8.0
                         if ($browserInfo[1] >= 6.0) {
                             self::$browserType = 'Trident';
                         }
                     } else {
                         if (strpos($userAgent, 'Gecko') !== false && preg_match('/rv:([0-9\\.]+)/i', $userAgent, $browserInfo)) {
                             if ($browserInfo[1] >= 1.8) {
                                 self::$browserType = 'Gecko';
                             }
                         } 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] >= 522.0) {
                                     self::$browserType = 'WebKit';
                                 }
                             }
                         }
                     }
                 }
             }
         }
         if (self::$browserType === false) {
             eZDebug::writeNotice('Browser not supported: ' . $userAgent, __METHOD__);
         }
     }
     return self::$browserType;
 }