コード例 #1
0
ファイル: wurfl.php プロジェクト: rjrico/CI-TAL-WURFL
 public function __construct()
 {
     /*
      * This is an example of configuring the WURFL PHP API
      */
     // Enable all error logging while in development
     ini_set('display_errors', 'on');
     error_reporting(E_ALL);
     $wurflDir = dirname(__FILE__) . '/wurfl/WURFL';
     $resourcesDir = dirname(__FILE__) . '/wurfl/resources';
     require_once $wurflDir . '/Application.php';
     $persistenceDir = $resourcesDir . '/storage/persistence';
     $cacheDir = $resourcesDir . '/storage/cache';
     // Create WURFL Configuration
     $wurflConfig = new WURFL_Configuration_InMemoryConfig();
     // Set location of the WURFL File
     $wurflConfig->wurflFile($resourcesDir . '/wurfl.zip');
     // Set the match mode for the API ('performance' or 'accuracy')
     $wurflConfig->matchMode('performance');
     // Setup WURFL Persistence
     $wurflConfig->persistence('file', array('dir' => $persistenceDir));
     // Setup Caching
     $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
     // Create a WURFL Manager Factory from the WURFL Configuration
     $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
     // Create a WURFL Manager
     /* @var $wurflManager WURFL_WURFLManager */
     $this->wurflManager = $wurflManagerFactory->create();
     $this->wurflDevice = $this->wurflManager->getDeviceForHttpRequest($_SERVER);
 }
コード例 #2
0
ファイル: wurfl.php プロジェクト: priyranjansingh/getleads
 private function _load_wrfl()
 {
     if ($this->device == null) {
         $wurflDir = Yii::getPathOfAlias($this->wurflDir);
         $persistenceDir = Yii::getPathOfAlias($this->persistenceDir);
         $cacheDir = Yii::getPathOfAlias($this->cacheDir);
         require_once realpath($wurflDir . '/Application.php');
         Yii::registerAutoloader(array('WURFL_ClassLoader', 'loadClass'));
         // Create WURFL Configuration
         $wurflConfig = new WURFL_Configuration_InMemoryConfig();
         // Set location of the WURFL File
         $wurflConfig->wurflFile(realpath(Yii::getPathOfAlias($this->wurflFileDir) . '/wurfl.zip'));
         // Set the match mode for the API ('performance' or 'accuracy')
         $wurflConfig->matchMode($this->matchMode);
         // Setup WURFL Persistence
         $wurflConfig->persistence('file', array('dir' => $persistenceDir));
         // Setup Caching
         $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => $this->expiration));
         // Create a WURFL Manager Factory from the WURFL Configuration
         $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
         // Create a WURFL Manager
         /* @var $wurflManager WURFL_WURFLManager */
         $wurflManager = $wurflManagerFactory->create();
         $this->device = $wurflManager->getDeviceForHttpRequest($_SERVER);
     }
 }
コード例 #3
0
 public function __construct()
 {
     require_once WURFL_DIR . 'Application.php';
     /* $persistenceDir = RESOURCES_DIR.'storage/persistence';
     		$cacheDir = RESOURCES_DIR.'storage/cache'; */
     $persistenceDir = Yii::app()->getRuntimePath() . '/WURFL/storage/persistence';
     $cacheDir = Yii::app()->getRuntimePath() . '/WURFL/storage/cache';
     $cacheServer = Yii::app()->cache->getServers();
     $cache_host = $cacheServer[0]->host;
     $cache_port = $cacheServer[0]->port;
     $wurflConfig = new WURFL_Configuration_InMemoryConfig();
     $wurflConfig->wurflFile(RESOURCES_DIR . 'wurfl.zip');
     $wurflConfig->matchMode('performance');
     $wurflConfig->persistence('file', array('dir' => $persistenceDir));
     //$wurflConfig->cache('memcache', array('host' => $cache_host,'port'=>$cache_port, 'namespace'=>'wurfl', 'expiration' => 36000));
     $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
     $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
     $this->wurflManager = $wurflManager = $wurflManagerFactory->create();
     if (isset($_REQUEST['userAgent'])) {
         $userAgent = $_REQUEST['userAgent'];
         $this->_device = $wurflManager->getDeviceForUserAgent($userAgent);
     } elseif (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) {
         $userAgent = $_SERVER['HTTP_X_OPERAMINI_PHONE_UA'];
         $this->_device = $wurflManager->getDeviceForUserAgent($userAgent);
     } else {
         $this->_device = $wurflManager->getDeviceForHttpRequest($_SERVER);
     }
     $this->brand = strtolower($this->_device->getCapability('brand_name'));
     $this->model = strtolower($this->_device->getCapability('model_name'));
 }
コード例 #4
0
ファイル: wurfl_init.php プロジェクト: godboko/modules
/**
 * Initialize WURFL
 *
 */
function wurfl_init($args = array())
{
    if (!isset($args['mode'])) {
        $args['mode'] = 'performance';
    }
    sys::import('modules.wurfl.xarincludes.WURFL.Application');
    $resourcesDir = sys::code() . 'modules/wurfl/xarincludes/resources';
    $persistenceDir = $resourcesDir . '/storage/persistence';
    $cacheDir = $resourcesDir . '/storage/cache';
    // Create WURFL Configuration
    $wurflConfig = new WURFL_Configuration_InMemoryConfig();
    // Set location of the WURFL File
    $wurflConfig->wurflFile($resourcesDir . '/wurfl.xml');
    // Set the match mode for the API ('performance' or 'accuracy')
    $wurflConfig->matchMode($args['mode']);
    // Setup WURFL Persistence
    $wurflConfig->persistence('file', array('dir' => $persistenceDir));
    // Setup Caching
    $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
    // Create a WURFL Manager Factory from the WURFL Configuration
    $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
    // Create a WURFL Manager
    /* @var $wurflManager WURFL_WURFLManager */
    $wurflManager = $wurflManagerFactory->create();
    return $wurflManager;
}
コード例 #5
0
ファイル: IssuesTest.php プロジェクト: godboko/modules
 public static function setUpBeforeClass()
 {
     $resourcesDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . self::RESOURCES_DIR;
     $config = new WURFL_Configuration_InMemoryConfig();
     $config->wurflFile($resourcesDir . "/wurfl-2.0.27.zip")->wurflPatch($resourcesDir . "/web_browsers_patch.xml")->wurflPatch($resourcesDir . "/issues/nokia-patch.xml")->wurflPatch($resourcesDir . "/issues/issue-177-patch.xml");
     self::$persistenceProvider = new WURFL_Storage_Memcache();
     self::$persistenceProvider->clear();
     $wurflManagerFactory = new WURFL_WURFLManagerFactory($config, self::$persistenceProvider);
     self::$wurflManager = $wurflManagerFactory->create();
 }
コード例 #6
0
ファイル: CutTest.php プロジェクト: acasademont/wurfl
 private function makeConfig()
 {
     // Create WURFL Configuration
     $config = new WURFL_Configuration_InMemoryConfig();
     // Set location of the WURFL File
     $config->wurflFile(__DIR__ . '/../../../examples/resources/wurfl.zip');
     // Setup WURFL Persistence
     $config->persistence('memory');
     // Setup Caching
     $config->cache('null');
     return $config;
 }
コード例 #7
0
ファイル: WURFLManagerTest.php プロジェクト: godboko/modules
 public static function createWurflManger()
 {
     $resourcesDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . self::RESOURCES_DIR;
     $cacheDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . self::CACHE_DIR;
     $config = new WURFL_Configuration_InMemoryConfig();
     $config->wurflFile($resourcesDir . "/wurfl-regression.xml")->wurflPatch($resourcesDir . "/web_browsers_patch.xml")->wurflPatch($resourcesDir . "/spv_patch.xml")->wurflPatch($resourcesDir . "/android_patch.xml")->wurflPatch($resourcesDir . "/new_devices.xml");
     $params = array("dir" => $cacheDir, WURFL_Configuration_Config::EXPIRATION => 0);
     $config->persistence("file", $params);
     self::$persistenceStorage = new WURFL_Storage_Memory($params);
     self::$wurflManagerFactory = new WURFL_WURFLManagerFactory($config, self::$persistenceStorage);
     self::$wurflManager = self::$wurflManagerFactory->create();
 }
コード例 #8
0
 public function setUp()
 {
     $resourcesDir = realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . "../../resources");
     $config = new WURFL_Configuration_InMemoryConfig();
     $config->wurflFile($resourcesDir . "/wurfl_base.xml");
     // Setup WURFL Persistence
     $this->persistenceDir = sys_get_temp_dir() . '/api_test';
     WURFL_FileUtils::mkdir($this->persistenceDir);
     $config->persistence('file', array('dir' => $this->persistenceDir));
     // Setup Caching
     $config->cache('null');
     $wurflManagerFactory = new WURFL_WURFLManagerFactory($config);
     $this->wurflManager = $wurflManagerFactory->create();
 }
コード例 #9
0
ファイル: WurflApi.php プロジェクト: sirprize/xzend
 /**
  * Get features from request
  *
  * @param  array $request $_SERVER variable
  * @return array
  */
 public static function getFromRequest($request, array $config)
 {
     if (!isset($config['xzend_wurflapi'])) {
         require_once 'Zend/Http/UserAgent/Features/Exception.php';
         throw new Zend_Http_UserAgent_Features_Exception('"xzend_wurflapi" configuration is not defined');
     }
     $config = $config['xzend_wurflapi'];
     if (empty($config['wurfl_lib_dir'])) {
         require_once 'Zend/Http/UserAgent/Features/Exception.php';
         throw new Zend_Http_UserAgent_Features_Exception('The "wurfl_lib_dir" parameter is not defined');
     }
     if (empty($config['wurfl_config_file']) && empty($config['wurfl_config_array'])) {
         require_once 'Zend/Http/UserAgent/Features/Exception.php';
         throw new Zend_Http_UserAgent_Features_Exception('The "wurfl_config_file" parameter is not defined');
     }
     if (empty($config['wurfl_api_version'])) {
         $config['wurfl_api_version'] = self::DEFAULT_API_VERSION;
     }
     switch ($config['wurfl_api_version']) {
         case '1.2':
             require_once $config['wurfl_lib_dir'] . 'Application.php';
             if (!empty($config['wurfl_config_file'])) {
                 $wurflConfig = WURFL_Configuration_ConfigFactory::create($config['wurfl_config_file']);
             } elseif (!empty($config['wurfl_config_array'])) {
                 $c = $config['wurfl_config_array'];
                 $wurflConfig = new WURFL_Configuration_InMemoryConfig();
                 $wurflConfig->wurflFile($c['wurfl']['main-file'])->wurflPatch($c['wurfl']['patches']);
                 if ($c['persistence']['provider'] == 'file') {
                     $wurflConfig->persistence("file", array(WURFL_Configuration_Config::DIR => $c['persistence']['dir']));
                 }
                 if ($c['cache']['provider'] == 'file') {
                     $wurflConfig->cache("file", array(WURFL_Configuration_Config::DIR => $c['cache']['dir'], WURFL_Configuration_Config::EXPIRATION => $c['cache']['expiration']));
                 }
             }
             $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
             $wurflManager = $wurflManagerFactory->create();
             break;
         default:
             require_once 'Zend/Http/UserAgent/Features/Exception.php';
             throw new Zend_Http_UserAgent_Features_Exception(sprintf('Unknown API version "%s"', $config['wurfl_api_version']));
     }
     $device = $wurflManager->getDeviceForHttpRequest(array_change_key_case($request, CASE_UPPER));
     $features = $device->getAllCapabilities();
     return $features;
 }
コード例 #10
0
ファイル: browser.php プロジェクト: vazahat/dudex
 public static function isSmartphone()
 {
     $wurflDir = OW_DIR_LIB . 'wurfl' . DS;
     $resourcesDir = OW_DIR_PLUGINFILES . 'base' . DS . 'wurfl' . DS;
     if (defined('OW_PLUGIN_XP') && OW_PLUGIN_XP) {
         $resourcesDir = OW_DIR_STATIC_PLUGIN . 'base' . DS . 'wurfl' . DS;
     }
     require_once $wurflDir . 'Application.php';
     $persistenceDir = $resourcesDir . 'persistence' . DS;
     $cacheDir = $resourcesDir . 'cache' . DS;
     //        if ( !file_exists($wurflDir) )
     //        {
     //            mkdir($wurflDir);
     //            chmod($wurflDir, 0777);
     //            mkdir($persistenceDir);
     //            chmod($persistenceDir, 0777);
     //            mkdir($cacheDir);
     //            chmod($cacheDir, 0777);
     //        }
     $wurflConfig = new WURFL_Configuration_InMemoryConfig();
     $wurflConfig->wurflFile($wurflDir . 'wurfl.zip');
     $wurflConfig->matchMode('accuracy');
     $wurflConfig->allowReload(true);
     $wurflConfig->capabilityFilter(array("device_os", "device_os_version", "is_tablet", "is_wireless_device", "mobile_browser", "mobile_browser_version", "pointing_method", "preferred_markup", "resolution_height", "resolution_width", "ux_full_desktop", "xhtml_support_level"));
     $wurflConfig->persistence('file', array('dir' => $persistenceDir));
     $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
     $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
     $wurflManager = $wurflManagerFactory->create();
     $requestingDevice = $wurflManager->getDeviceForHttpRequest($_SERVER);
     return filter_var($requestingDevice->getVirtualCapability('is_smartphone'), FILTER_VALIDATE_BOOLEAN);
 }
コード例 #11
0
 public static function getInfo()
 {
     $deviceId = $modelName = "";
     // AMF was installed
     if (isset($_SERVER['AMF_ID'])) {
         $deviceId = isset($_SERVER['AMF_ID']) ? $_SERVER['AMF_ID'] : "";
         $modelName = isset($_SERVER['AMF_MODEL_NAME']) ? $_SERVER['AMF_MODEL_NAME'] : "";
     } else {
         if (!defined("WURFL_DIR")) {
             define("WURFL_DIR", Yii::getPathOfAlias("application.vendors.WURFL_CHACHA") . "/");
             define("RESOURCES_DIR", WURFL_DIR . "Resources/");
         }
         require_once WURFL_DIR . 'Application.php';
         //$wurflConfigFile = RESOURCES_DIR . 'wurfl-config.xml';
         //$wurflConfig = new WURFL_Configuration_XmlConfig($wurflConfigFile);
         $persistenceDir = RESOURCES_DIR . 'storage/persistence';
         $cacheServer = Yii::app()->cache->getServers();
         $cache_host = $cacheServer[0]->host;
         $cache_port = $cacheServer[0]->port;
         $wurflConfig = new WURFL_Configuration_InMemoryConfig();
         $wurflConfig->wurflFile(RESOURCES_DIR . 'wurfl.zip');
         $wurflConfig->matchMode('performance');
         $wurflConfig->persistence('file', array('dir' => $persistenceDir));
         $wurflConfig->cache('memcache', array('host' => $cache_host, 'port' => $cache_port, 'namespace' => 'wurfl', 'expiration' => 36000));
         $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
         $wurflManager = $wurflManagerFactory->create();
         $device = $wurflManager->getDeviceForHttpRequest($_SERVER);
         $modelName = $device->getCapability("model_name");
         if (Utils::appleDevice('iPad')) {
             $deviceId = 'apple_ipad_ver1_sub42';
         } else {
             $deviceId = $device->id;
         }
     }
     return array('deviceId' => $deviceId, 'modelName' => $modelName);
 }
コード例 #12
0
function load_wurfl_manager()
{
    global $wurflManager;
    if (defined('_XMLREADER_INSTALLED') && _XMLREADER_INSTALLED || extension_loaded('xmlreader')) {
        // Init WURFL library for mobile device detection
        $wurflDir = _TRACK_LIB_PATH . '/wurfl/WURFL';
        $resourcesDir = _TRACK_LIB_PATH . '/wurfl/resources';
        require_once $wurflDir . '/Application.php';
        $persistenceDir = _CACHE_COMMON_PATH . '/wurfl-persistence';
        $cacheDir = _CACHE_COMMON_PATH . '/wurfl-cache';
        $wurflConfig = new WURFL_Configuration_InMemoryConfig();
        $wurflConfig->wurflFile(_TRACK_STATIC_PATH . '/wurfl/wurfl_1.5.3.xml');
        $wurflConfig->matchMode('accuracy');
        $wurflConfig->allowReload(true);
        $wurflConfig->persistence('file', array('dir' => $persistenceDir));
        $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
        $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
        $wurflManager = $wurflManagerFactory->create();
    }
}
コード例 #13
0
 public function testShouldCreateConfigurationForMultipleMemcacheBackend()
 {
     $config = new WURFL_Configuration_InMemoryConfig();
     $params = array("host" => "10.211.55.10;10.211.55.2", "port" => "11211", "namespace" => "wurfl");
     $config->wurflFile("wurfl.xml")->wurflPatch("new_web_browsers_patch.xml")->wurflPatch("spv_patch.xml")->persistence("memcache", $params);
 }
コード例 #14
0
ファイル: CLI.php プロジェクト: conversionstudio/cpatracker
 protected function createWurflClass()
 {
     if ($this->arguments->altClass) {
         $class_name = $this->arguments->altClass->value;
         if (class_exists($class_name, false) && is_subclass_of($class_name, 'WURFL_WURFLManager')) {
             $this->wurfl = new $class_name();
         } else {
             throw new WURFL_WURFLCLIInvalidArgumentException("Error: {$class_name} must extend WURFL_WURFLManager.");
         }
     } else {
         $persistenceDir = RESOURCES_DIR . '/storage/persistence';
         $cacheDir = RESOURCES_DIR . '/storage/cache';
         // Create WURFL Configuration
         $wurflConfig = new WURFL_Configuration_InMemoryConfig();
         // Set location of the WURFL File
         $wurflConfig->wurflFile(RESOURCES_DIR . '/wurfl.zip');
         // Set the match mode for the API ('performance' or 'accuracy')
         $wurflConfig->matchMode('performance');
         // Setup WURFL Persistence
         $wurflConfig->persistence('file', array('dir' => $persistenceDir));
         // Setup Caching
         $wurflConfig->cache('null');
         $wurflConfig->allowReload(true);
         // Create a WURFL Manager Factory from the WURFL Configuration
         $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
         // Create a WURFL Manager
         $this->wurfl = $wurflManagerFactory->create();
     }
 }
コード例 #15
0
ファイル: index.php プロジェクト: godboko/modules
<?php

// Enable all error logging while in development
ini_set('display_errors', 'on');
error_reporting(E_ALL);
$wurflDir = dirname(__FILE__) . '/../../WURFL';
$resourcesDir = dirname(__FILE__) . '/../resources';
require_once $wurflDir . '/Application.php';
$persistenceDir = $resourcesDir . '/storage/persistence';
$cacheDir = $resourcesDir . '/storage/cache';
$wurflConfig = new WURFL_Configuration_InMemoryConfig();
$wurflConfig->wurflFile($resourcesDir . '/wurfl.zip');
$wurflConfig->matchMode('performance');
$wurflConfig->persistence('file', array('dir' => $persistenceDir));
$wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
$wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
$wurflManager = $wurflManagerFactory->create();
$wurflInfo = $wurflManager->getWURFLInfo();
define("XHTML_ADVANCED", "xhtml_advanced.php");
define("XHTML_SIMPLE", "xhtml_simple.php");
define("WML", "wml.php");
$device = $wurflManager->getDeviceForHttpRequest($_SERVER);
$xhtml_lvl = $device->getCapability('xhtml_support_level');
$contentType = $device->getCapability('xhtmlmp_preferred_mime_type');
$page = getPageFromMarkup($xhtml_lvl);
renderPage($page, $contentType);
function getPageFromMarkup($xhtml_lvl)
{
    /* xhtml_support_level possible values:
     * -1: No XHTML Support
     *  0: Poor XHTML Support
コード例 #16
0
    closedir($handle);
}
if (count($arr_files) == 0) {
    exit;
}
asort($arr_files);
$arr_files = array_slice($arr_files, 0, $process_at_once);
if (extension_loaded('xmlreader')) {
    // Init WURFL library for mobile device detection
    $wurflDir = _TRACK_LIB_PATH . '/wurfl/WURFL';
    $resourcesDir = _TRACK_LIB_PATH . '/wurfl/resources';
    require_once $wurflDir . '/Application.php';
    $persistenceDir = _CACHE_COMMON_PATH . '/wurfl-persistence';
    //$persistenceDir = dirname(__FILE__).'/cache/wurfl-persistence';
    $cacheDir = _CACHE_COMMON_PATH . '/wurfl-cache';
    $wurflConfig = new WURFL_Configuration_InMemoryConfig();
    $wurflConfig->wurflFile(_TRACK_STATIC_PATH . '/wurfl/wurfl_1.5.3.xml');
    $wurflConfig->matchMode('accuracy');
    $wurflConfig->allowReload(true);
    $wurflConfig->persistence('file', array('dir' => $persistenceDir));
    $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
    $wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
    $wurflManager = $wurflManagerFactory->create();
}
//dmp($arr_files);
foreach ($arr_files as $cur_file) {
    echo $cur_file . ' : ';
    $name_parts = explode('_', $cur_file);
    if (count($name_parts) > 2 && !empty($tracklist[$name_parts[2]]['timeshift'])) {
        $slave_timeshift = $tracklist[$name_parts[2]]['timeshift'];
    } else {
コード例 #17
0
ファイル: build.php プロジェクト: acasademont/wurfl
<?php

define("WURFL_DIR", dirname(__FILE__) . '/../WURFL/');
define("RESOURCES_DIR", WURFL_DIR . "../examples/resources/");
require_once dirname(__FILE__) . '/../WURFL/Application.php';
$persistenceDir = RESOURCES_DIR . "storage/persistence";
$wurflConfig = new WURFL_Configuration_InMemoryConfig();
$wurflConfig->wurflFile(RESOURCES_DIR . "wurfl.zip");
$wurflConfig->persistence("file", array(WURFL_Configuration_Config::DIR => $persistenceDir));
$wurflConfig->capabilityFilter(array('is_wireless_device', 'preferred_markup', 'xhtml_support_level', 'xhtmlmp_preferred_mime_type', 'device_os', 'device_os_version', 'is_tablet', 'mobile_browser_version', 'pointing_method', 'mobile_browser', 'resolution_width'));
function buildPersistenceWith($wurflConfig)
{
    $force_rebuild = true;
    $persistenceStorage = WURFL_Storage_Factory::create($wurflConfig->persistence);
    if ($force_rebuild) {
        $persistenceStorage->clear();
    }
    $context = new WURFL_Context($persistenceStorage);
    $userAgentHandlerChain = WURFL_UserAgentHandlerChainFactory::createFrom($context);
    $devicePatcher = new WURFL_Xml_DevicePatcher();
    $deviceRepositoryBuilder = new WURFL_DeviceRepositoryBuilder($persistenceStorage, $userAgentHandlerChain, $devicePatcher);
    return $deviceRepositoryBuilder->build($wurflConfig->wurflFile, $wurflConfig->wurflPatches, $wurflConfig->capabilityFilter);
}
buildPersistenceWith($wurflConfig);
echo "OK";
コード例 #18
0
ファイル: build.php プロジェクト: godboko/modules
<?php

define("WURFL_DIR", dirname(__FILE__) . '/../WURFL/');
define("RESOURCES_DIR", WURFL_DIR . "../examples/resources/");
require_once WURFL_DIR . 'Application.php';
$persistenceDir = RESOURCES_DIR . "storage/persistence";
$wurflConfig = new WURFL_Configuration_InMemoryConfig();
$wurflConfig->wurflFile(RESOURCES_DIR . "wurfl.zip")->persistence("file", array(WURFL_Configuration_Config::DIR => $persistenceDir));
function buildPersistenceWith($wurflConfig)
{
    $persistenceStorage = WURFL_Storage_Factory::create($wurflConfig->persistence);
    $context = new WURFL_Context($persistenceStorage);
    $userAgentHandlerChain = WURFL_UserAgentHandlerChainFactory::createFrom($context);
    $devicePatcher = new WURFL_Xml_DevicePatcher();
    $deviceRepositoryBuilder = new WURFL_DeviceRepositoryBuilder($persistenceStorage, $userAgentHandlerChain, $devicePatcher);
    return $deviceRepositoryBuilder->build($wurflConfig->wurflFile, $wurflConfig->wurflPatches);
}
buildPersistenceWith($wurflConfig);
コード例 #19
0
 * outputs those same user agents to stadard out with 
 * a tab char, then the detected WURFL device id.
 * 
 * It is optimized for high performance batch processes.
 * Note that each time this script is run it will load the
 * WURFL file, so there will be a ~15 sec delay before the
 * user agents start being detected.  Caching is not used
 * because in most environments the cost of caching is
 * higher than the cost of doing in-memory analysis
 */
function echo_stderr($message)
{
    fputs(STDERR, $message);
}
$wurflDir = dirname(__FILE__) . '/../../../WURFL';
$resourcesDir = dirname(__FILE__) . '/../../resources';
require_once "{$wurflDir}/Application.php";
require_once "{$wurflDir}/Configuration/InMemoryConfig.php";
$wurflConfig = new WURFL_Configuration_InMemoryConfig();
$wurflConfig->wurflFile("{$resourcesDir}/wurfl.zip")->persistence("memory")->cache("null")->allowReload(true)->matchMode('performance');
echo_stderr("Initializing WURFL...");
$wurflManagerFactory = new WURFL_WURFLManagerFactory($wurflConfig);
$wurflManager = $wurflManagerFactory->create();
echo_stderr("done\n\n");
$i = -1;
while (!feof(STDIN)) {
    $i++;
    $ua = trim(fgets(STDIN, 4096));
    $device = $wurflManager->getDeviceForUserAgent($ua);
    echo "{$ua}\t{$device->id}\n";
}
コード例 #20
0
ファイル: Introspector.php プロジェクト: dcunited08/wurfl-api
 * To use the Introspector, edit this file with your production
 * configuration and test it in your web browser.
 */
if (!class_exists('WURFL_ClassLoader', false)) {
    require_once dirname(__FILE__) . '/../WURFL/Application.php';
}
if (!isset($wurflConfig)) {
    ///////////////////////////////////////////////////////////////
    // START WURFL API CONFIGURATION
    // You must have a $wurflConfig variable with your WURFL API
    // configuration in this block so the Introspector can use it
    ///////////////////////////////////////////////////////////////
    $resourcesDir = dirname(__FILE__) . '/resources';
    $persistenceDir = $resourcesDir . '/storage/persistence';
    $cacheDir = $resourcesDir . '/storage/cache';
    $wurflConfig = new WURFL_Configuration_InMemoryConfig();
    $wurflConfig->wurflFile($resourcesDir . '/wurfl.zip');
    $wurflConfig->matchMode(WURFL_Configuration_Config::MATCH_MODE_PERFORMANCE);
    //$wurflConfig->matchMode(WURFL_Configuration_Config::MATCH_MODE_ACCURACY);
    $wurflConfig->persistence('file', array('dir' => $persistenceDir));
    $wurflConfig->cache('file', array('dir' => $cacheDir, 'expiration' => 36000));
    ///////////////////////////////////////////////////////////////
    // END WURFL API CONFIGURATION
    // Do not edit anything below this line
    ///////////////////////////////////////////////////////////////
}
class ScientiaMobileIntrospector_Controller
{
    protected $action;
    protected $http_headers = array();
    protected $capabilities = array();