Exemplo n.º 1
0
 public function normalize($userAgent)
 {
     if (WURFL_Handlers_Utils::checkIfContainsAnyOf($userAgent, array('WPDesktop', 'ZuneWP7')) || WURFL_Handlers_Utils::checkIfContainsAll($userAgent, array('Mozilla/5.0 (Windows NT ', ' ARM;', ' Edge/'))) {
         $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneDesktopModel($userAgent);
         $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneDesktopVersion($userAgent);
     } else {
         if (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array('Windows Phone Ad Client', 'WindowsPhoneAdClient'))) {
             $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneAdClientModel($userAgent);
             $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneVersion($userAgent);
         } else {
             if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'NativeHost')) {
                 return $userAgent;
             } else {
                 $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneModel($userAgent);
                 $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneVersion($userAgent);
             }
         }
     }
     if ($model !== null && $version !== null) {
         // "WP" is for Windows Phone
         $prefix = 'WP' . $version . ' ' . $model . WURFL_Constants::RIS_DELIMITER;
         return $prefix . $userAgent;
     }
     return $userAgent;
 }
Exemplo n.º 2
0
 public function normalize($userAgent)
 {
     $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneModel($userAgent);
     $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneVersion($userAgent);
     if ($model !== null && $version !== null) {
         $prefix = 'WP' . $version . ' ' . $model . WURFL_Constants::RIS_DELIMITER;
         return $prefix . $userAgent;
     }
     return $userAgent;
 }
Exemplo n.º 3
0
 public function normalize($userAgent)
 {
     $ucb_version = WURFL_Handlers_UcwebU3Handler::getUcBrowserVersion($userAgent);
     if ($ucb_version === null) {
         return $userAgent;
     }
     // Windows Phone goes before Android
     if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'Windows Phone')) {
         // Apply Version+Model--- matching normalization
         $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneModel($userAgent);
         $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneVersion($userAgent);
         if ($model !== null && $version !== null) {
             $prefix = "{$version} U3WP {$ucb_version} {$model}" . WURFL_Constants::RIS_DELIMITER;
             return $prefix . $userAgent;
         }
     } else {
         if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'Android')) {
             // Apply Version+Model--- matching normalization
             $model = WURFL_Handlers_AndroidHandler::getAndroidModel($userAgent, false);
             $version = WURFL_Handlers_AndroidHandler::getAndroidVersion($userAgent, false);
             if ($model !== null && $version !== null) {
                 $prefix = "{$version} U3Android {$ucb_version} {$model}" . WURFL_Constants::RIS_DELIMITER;
                 return $prefix . $userAgent;
             }
         } else {
             if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'iPhone;')) {
                 if (preg_match('/iPhone OS (\\d+)(?:_(\\d+))?(?:_\\d+)* like/', $userAgent, $matches)) {
                     $version = $matches[1] . '.' . $matches[2];
                     $prefix = "{$version} U3iPhone {$ucb_version}" . WURFL_Constants::RIS_DELIMITER;
                     return $prefix . $userAgent;
                 }
             } else {
                 if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'iPad')) {
                     if (preg_match('/CPU OS (\\d)_?(\\d)?.+like Mac.+; iPad([0-9,]+)\\) AppleWebKit/', $userAgent, $matches)) {
                         $version = $matches[1] . '.' . $matches[2];
                         $model = $matches[3];
                         $prefix = "{$version} U3iPad {$ucb_version} {$model}" . WURFL_Constants::RIS_DELIMITER;
                         return $prefix . $userAgent;
                     }
                 }
             }
         }
     }
     return $userAgent;
 }
Exemplo n.º 4
0
 public function normalize($userAgent)
 {
     if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Windows Phone Ad Client')) {
         $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneAdClientModel($userAgent);
         $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneAdClientVersion($userAgent);
     } else {
         if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'NativeHost')) {
             return $userAgent;
         } else {
             $model = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneModel($userAgent);
             $version = WURFL_Handlers_WindowsPhoneHandler::getWindowsPhoneVersion($userAgent);
         }
     }
     if ($model !== null && $version !== null) {
         $prefix = 'WP' . $version . ' ' . $model . WURFL_Constants::RIS_DELIMITER;
         return $prefix . $userAgent;
     }
     return $userAgent;
 }