/** * @param string $userAgent * * @return string */ public function normalize($userAgent) { if (Utils::checkIfContainsAnyOf($userAgent, array('WPDesktop', 'ZuneWP7')) || Utils::checkIfContainsAll($userAgent, array('Mozilla/5.0 (Windows NT ', ' ARM;', ' Edge/'))) { $model = WindowsPhoneHandler::getWindowsPhoneDesktopModel($userAgent); $version = WindowsPhoneHandler::getWindowsPhoneDesktopVersion($userAgent); } elseif (Utils::checkIfStartsWithAnyOf($userAgent, array('Windows Phone Ad Client', 'WindowsPhoneAdClient'))) { $model = WindowsPhoneHandler::getWindowsPhoneAdClientModel($userAgent); $version = WindowsPhoneHandler::getWindowsPhoneVersion($userAgent); } elseif (Utils::checkIfContains($userAgent, 'NativeHost')) { return $userAgent; } else { $model = WindowsPhoneHandler::getWindowsPhoneModel($userAgent); $version = WindowsPhoneHandler::getWindowsPhoneVersion($userAgent); } if ($model !== null && $version !== null) { // 'WP' is for Windows Phone $prefix = 'WP' . $version . ' ' . $model . WurflConstants::RIS_DELIMITER; return $prefix . $userAgent; } return $userAgent; }