コード例 #1
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);
 }
コード例 #2
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";