/** * Create a WURFL_UserAgentHandlerChain from the given $context * @param WURFL_Context $context * @return WURFL_UserAgentHandlerChain */ public static function createFrom(WURFL_Context $context) { $cached_data = $context->cacheProvider->load('UserAgentHandlerChain'); if ($cached_data !== null) { self::$_userAgentHandlerChain = $cached_data; foreach (self::$_userAgentHandlerChain->getHandlers() as $handler) { $handler->setupContext($context); } } if (!self::$_userAgentHandlerChain instanceof WURFL_UserAgentHandlerChain) { self::init($context); $context->cacheProvider->save('UserAgentHandlerChain', self::$_userAgentHandlerChain, 3600); } return self::$_userAgentHandlerChain; }
/** * @return array Array of (string)User Agent Handler prefixes * @see WURFL_Handlers_Handler::getPrefix() */ private function deviceClassificationNames() { $deviceClusterNames = array(); foreach ($this->userAgentHandlerChain->getHandlers() as $userAgentHandler) { $deviceClusterNames[] = $userAgentHandler->getPrefix(); } return $deviceClusterNames; }