public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array('Mot-', 'MOT-', 'Motorola'))) { return $this->getDeviceIDFromRIS($userAgent, WURFL_Handlers_Utils::firstSlash($userAgent)); } return $this->getDeviceIDFromLD($userAgent, 5); }
/** * Apply Recovery Match * * @param string $userAgent * @return string */ function applyRecoveryMatch($userAgent) { if (strpos($userAgent, "BlackBerry") === 0) { $position = WURFL_Handlers_Utils::firstSlash($userAgent); if ($position > 0 && $position + 4 <= strlen($userAgent)) { $version = substr($userAgent, $position + 1, $position + 4); if (strpos($version, "2.") === 0) { return "blackberry_generic_ver2"; } if (strpos($version, "3.2") === 0) { return "blackberry_generic_ver3_sub2"; } if (strpos($version, "3.3") === 0) { return "blackberry_generic_ver3_sub30"; } if (strpos($version, "3.5") === 0) { return "blackberry_generic_ver3_sub50"; } if (strpos($version, "3.6") === 0) { return "blackberry_generic_ver3_sub60"; } if (strpos($version, "3.7") === 0) { return "blackberry_generic_ver3_sub70"; } if (strpos($version, "4.") === 0) { return "blackberry_generic_ver4"; } } } }
public function applyConclusiveMatch($userAgent) { $matches = array(); if (preg_match('/^Mozilla\\/4\\.0 \\(compatible; MSIE (\\d)\\.(\\d);/', $userAgent, $matches)) { if (WURFL_Configuration_ConfigHolder::getWURFLConfig()->isHighPerformance()) { return WURFL_Constants::GENERIC_WEB_BROWSER; } switch ($matches[1]) { // cases are intentionally out of sequence for performance case 7: return 'msie_7'; break; case 8: return 'msie_8'; break; case 9: return 'msie_9'; break; case 6: return 'msie_6'; break; case 4: return 'msie_4'; break; case 5: return $matches[2] == 5 ? 'msie_5_5' : 'msie_5'; break; default: return 'msie'; break; } } $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
/** * If UA starts with "NEC", apply RIS of FS * If UA starts with KGT, apply LD with threshold 2 * * @param string $userAgent * @return boolean */ function lookForMatchingUserAgent($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "NEC-" )) { $tollerance = WURFL_Handlers_Utils::firstSlash ( $userAgent ); return WURFL_Handlers_Utils::risMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, $tollerance ); } return WURFL_Handlers_Utils::ldMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, self::NEC_KGT_TOLLERANCE ); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "NEC-")) { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); return $this->getDeviceIDFromRIS($userAgent, $tolerance); } return $this->getDeviceIDFromLD($userAgent, self::NEC_KGT_TOLERANCE); }
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); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'SonyEricsson')) { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent) - 1; return $this->getDeviceIDFromRIS($userAgent, $tolerance); } $tolerance = WURFL_Handlers_Utils::secondSlash($userAgent); return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
/** * If UA starts with "SonyEricsson", apply RIS with FS as a threshold. * If UA contains "SonyEricsson" somewhere in the middle, * apply RIS with threshold second slash * * @param string $userAgent * @return string */ function lookForMatchingUserAgent($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SonyEricsson" )) { $tollerance = WURFL_Handlers_Utils::firstSlash ( $userAgent ); return WURFL_Handlers_Utils::risMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, $tollerance ); } $tollerance = WURFL_Handlers_Utils::secondSlash ( $userAgent ); return WURFL_Handlers_Utils::ldMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, $tollerance ); }
/** * Apply RIS on Firts slash * * @param string $userAgent * @return string */ public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "CFNetwork/")) { $tolerance = WURFL_Handlers_Utils::firstSpace($userAgent); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "Pantech")) { $tolerance = self::PANTECH_TOLERANCE; } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
public function applyConclusiveMatch($userAgent) { $idx = strpos($userAgent, 'MobilePhone'); if ($idx !== false) { $tolerance = WURFL_Handlers_Utils::indexOfOrLength($userAgent, '/', $idx); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
private function tolerance($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "KDDI/")) { return WURFL_Handlers_Utils::secondSlash($userAgent); } if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "KDDI")) { return WURFL_Handlers_Utils::firstSlash($userAgent); } return WURFL_Handlers_Utils::indexOfOrLength($userAgent, ")"); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array("SEC-", "SAMSUNG-", "SCH"))) { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } elseif (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array("Samsung", "SPH", "SGH"))) { $tolerance = WURFL_Handlers_Utils::firstSpace($userAgent); } else { $tolerance = WURFL_Handlers_Utils::secondSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
/** * If UA starts with one of the following ("SEC-", "SAMSUNG-", "SCH"), apply RIS with FS. * If UA starts with one of the following ("Samsung-","SPH", "SGH" ), apply RIS with First Space (not FS). * If UA starts with "SAMSUNG/", apply RIS with threshold SS (Second Slash) * * @param string $userAgent * @return string */ function lookForMatchingUserAgent($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SEC-" ) || WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SAMSUNG-" ) || WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SCH" )) { $tollerance = WURFL_Handlers_Utils::firstSlash ( $userAgent ); } else if (WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "Samsung" ) || WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SPH" ) || WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "SGH" )) { $tollerance = WURFL_Handlers_Utils::firstSpace ( $userAgent ); } else { $tollerance = WURFL_Handlers_Utils::secondSlash ( $userAgent ); } $this->logger->log ( "$this->prefix :Applying Conclusive Match for ua: $userAgent with tollerance $tollerance" ); return WURFL_Handlers_Utils::risMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, $tollerance ); }
/** * If UA starts with Mozilla, apply LD with tollerance 5. * If UA does not start with Mozilla, apply RIS on FS * * @param string $userAgent * @return string */ public function applyConclusiveMatch($userAgent) { $deviceId = WURFL_Constants::GENERIC; if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Mozilla')) { $deviceId = $this->applyMozillaConclusiveMatch($userAgent); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); $deviceId = $this->getDeviceIDFromRIS($userAgent, $tolerance); } return $deviceId; }
/** * * @param string $userAgent * @return string */ function lookForMatchingUserAgent($userAgent) { if ($this->isVodafone ( $userAgent )) { $tolerance = WURFL_Handlers_Utils::ordinalIndexOf($userAgent, "LG", 1); } if (WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "LG/" ) || WURFL_Handlers_Utils::checkIfStartsWith ( $userAgent, "LGE/" )) { $tolerance = WURFL_Handlers_Utils::secondSlash ( $userAgent ); } else { $tolerance = WURFL_Handlers_Utils::firstSlash ( $userAgent ); } return WURFL_Handlers_Utils::risMatch ( array_keys ( $this->userAgentsWithDeviceID ), $userAgent, $tolerance ); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfContains($userAgent, "GoogleImageProxy")) { return 'google_image_proxy'; } if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "Mozilla")) { $tolerance = WURFL_Handlers_Utils::firstCloseParen($userAgent); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
/** * If UA starts with Mozilla, apply LD with tollerance 5. * If UA does not start with Mozilla, apply RIS on FS * * @param string $userAgent * @return string */ function applyConclusiveMatch($userAgent) { $deviceId = WURFL_Constants::GENERIC; if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "Mozilla")) { $deviceId = $this->applyMozillaConclusiveMatch($userAgent); } else { $tollerance = WURFL_Handlers_Utils::firstSlash($userAgent); $match = WURFL_Handlers_Utils::risMatch(array_keys($this->userAgentsWithDeviceID), $userAgent, $tollerance); $deviceId = $this->userAgentsWithDeviceID[$match]; } return $deviceId; }
private function tolerance($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array("SEC-", "SAMSUNG-", "SCH"))) { return WURFL_Handlers_Utils::firstSlash($userAgent); } if (WURFL_Handlers_Utils::checkIfStartsWithAnyOf($userAgent, array("Samsung-", "SPH", "SGH"))) { return WURFL_Handlers_Utils::firstSpace($userAgent); } if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, "SAMSUNG/")) { return WURFL_Handlers_Utils::secondSlash($userAgent); } return WURFL_Handlers_Utils::firstSlash($userAgent); }
public function applyConclusiveMatch($userAgent) { $opera_mini_idx = strpos($userAgent, 'Opera Mini'); if ($opera_mini_idx !== false) { // Match up to the first '.' after 'Opera Mini' $tolerance = strpos($userAgent, '.', $opera_mini_idx); if ($tolerance !== false) { // +1 to match just after the '.' return $this->getDeviceIDFromRIS($userAgent, $tolerance + 1); } } return $this->getDeviceIDFromRIS($userAgent, WURFL_Handlers_Utils::firstSlash($userAgent)); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Mozilla/4')) { $tolerance = WURFL_Handlers_Utils::secondSlash($userAgent); } else { if (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Mozilla/5')) { $tolerance = WURFL_Handlers_Utils::ordinalIndexOf($userAgent, ';', 3); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
public function applyConclusiveMatch($userAgent) { if (WURFL_Handlers_Utils::checkIfContains($userAgent, 'BB10')) { $tolerance = WURFL_Handlers_Utils::indexOfOrLength($userAgent, ')'); } elseif (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Mozilla/4')) { $tolerance = WURFL_Handlers_Utils::secondSlash($userAgent); } elseif (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'Mozilla/5')) { $tolerance = WURFL_Handlers_Utils::ordinalIndexOf($userAgent, ';', 3); } elseif (WURFL_Handlers_Utils::checkIfStartsWith($userAgent, 'PlayBook')) { $tolerance = WURFL_Handlers_Utils::firstCloseParen($userAgent); } else { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); } return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
public function applyConclusiveMatch($userAgent) { $model = self::getOperaModel($userAgent, false); if ($model !== null) { $prefix = $model . WURFL_Constants::RIS_DELIMITER; $userAgent = $prefix . $userAgent; return $this->getDeviceIDFromRIS($userAgent, strlen($prefix)); } $opera_mini_idx = WURFL_Handlers_Utils::indexOfOrLength($userAgent, 'Opera Mini'); if ($opera_mini_idx !== false) { // Match up to the first '.' after 'Opera Mini' $tolerance = strpos($userAgent, '.', $opera_mini_idx); if ($tolerance !== false) { // +1 to match just after the '.' return $this->getDeviceIDFromRIS($userAgent, $tolerance + 1); } } $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
public function applyConclusiveMatch($userAgent) { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); return $this->getDeviceIDFromRIS($userAgent, $tolerance); }
/** * Find a matching WURFL device from the given $userAgent. Override this method to give an alternative way to do the matching * * @param string $userAgent * @return string */ public function lookForMatchingUserAgent($userAgent) { $tolerance = WURFL_Handlers_Utils::firstSlash($userAgent); return WURFL_Handlers_Utils::risMatch(array_keys($this->userAgentsWithDeviceID), $userAgent, $tolerance); }
public function testFirstSlash() { $this->assertEquals(6, WURFL_Handlers_Utils::firstSlash('Value/12')); $this->assertNull(WURFL_Handlers_Utils::firstSlash('Value')); }