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')); }
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); } }
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); }
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); }
/** * 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; }
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); }
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(); } }
<?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
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 { $slave_timeshift = 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(); } }
*/ 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(); protected $matcher_history = false; protected $response = array('success' => false);