Ejemplo n.º 1
0
 public function applyConclusiveMatch($userAgent)
 {
     $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
     if ($tolerance !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $tolerance);
     }
     return WURFL_Constants::NO_MATCH;
 }
Ejemplo n.º 2
0
 public function applyConclusiveMatch($userAgent)
 {
     $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
     if ($tolerance !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $tolerance);
     }
     $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent);
     return $this->getDeviceIDFromRIS($userAgent, $tolerance);
 }
Ejemplo n.º 3
0
 public function applyConclusiveMatch($userAgent)
 {
     $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
     if ($tolerance !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $tolerance);
     }
     // Standard RIS Matching
     $tolerance = WURFL_Handlers_Utils::indexOfAnyOrLength($userAgent, array(' Build/', ' AppleWebKit'));
     return $this->getDeviceIDFromRIS($userAgent, $tolerance);
 }
Ejemplo n.º 4
0
 public function applyConclusiveMatch($userAgent)
 {
     $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
     if ($tolerance !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $tolerance);
     }
     if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'NativeHost')) {
         return 'generic_ms_phone_os7';
     }
     return WURFL_Constants::NO_MATCH;
 }
Ejemplo n.º 5
0
 public function applyConclusiveMatch($userAgent)
 {
     $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
     if ($tolerance !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $tolerance);
     }
     //Return no match for UAs with no extractable Android version, model and that do not start with either Mozilla or Dalvik
     if (!WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array('Mozilla', 'Dalvik'))) {
         return WURFL_Constants::NO_MATCH;
     }
     // Standard RIS Matching
     $tolerance = WURFL_Handlers_Utils::indexOfAnyOrLength($userAgent, array(' Build/', ' AppleWebKit'));
     return $this->getDeviceIDFromRIS($userAgent, $tolerance);
 }
Ejemplo n.º 6
0
 public function applyConclusiveMatch($userAgent)
 {
     // Mobile-mode Kindle Fire
     if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'Android')) {
         // UA was already restructured by the specific normalizer
         $tolerance = WURFL_Handlers_Utils::toleranceToRisDelimeter($userAgent);
         if ($tolerance) {
             return $this->getDeviceIDFromRIS($userAgent, $tolerance);
         } else {
             $search = 'Silk/';
             $idx = strpos($userAgent, $search);
             if ($idx !== false) {
                 $tolerance = $idx + strlen($search) + 1;
                 return $this->getDeviceIDFromRIS($userAgent, $tolerance);
             }
         }
     }
     // Desktop-mode Kindle Fire
     $idx = strpos($userAgent, 'Build/');
     if ($idx !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $idx);
     }
     // Kindle e-reader
     $search = 'Kindle/';
     $idx = strpos($userAgent, $search);
     if ($idx !== false) {
         // Version/4.0 Kindle/3.0 (screen 600x800; rotate) Mozilla/5.0 (Linux; U; zh-cn.utf8) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+)
         //		$idx ^	  ^ $tolerance
         $tolerance = $idx + strlen($search) + 1;
         $kindle_version = $userAgent[$tolerance];
         // RIS match only Kindle/1-3
         if ($kindle_version >= 1 && $kindle_version <= 3) {
             return $this->getDeviceIDFromRIS($userAgent, $tolerance);
         }
     }
     // PlayStation Vita
     $search = 'PlayStation Vita';
     $idx = strpos($userAgent, $search);
     if ($idx !== false) {
         return $this->getDeviceIDFromRIS($userAgent, $idx + strlen($search) + 1);
     }
     return WURFL_Constants::NO_MATCH;
 }