I've implemented Wurfl, but the problem with this is that it's giving me the wrong screen resolution for my phones. How accurate is wurfl and I do not know what I'm doing wrong.
require_once 'wurfl_config.php';
require_once WURFL_CLASS_FILE;
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$wurflObj = new wurfl_class();
$wurflObj->GetDeviceCapabilitiesFromAgent($ua);
$width = $wurflObj->capabilities['display']['resolution_width'];
//Config file
// Single define to be checked when starting the parser and/or the class
define("WURFL_CONFIG", true);
// Where all data is stored (wurfl.xml, cache file, logs, etc)
$data = '/var/www/html/includes/wurfl/';
define("DATADIR", $data);
// Path and filename of wurfl_parser.php
define("WURFL_PARSER_FILE", 'wurfl_parser.php');
// Path and filename of wurfl_class.php
define("WURFL_CLASS_FILE", 'wurfl_class.php');
// Path and name of the wurfl
define ("WURFL_FILE", DATADIR."wurfl.xml");
// Path and name of the log file
define ("WURFL_LOG_FILE", DATADIR."wurfl.log");
// suggested log level for normal use (default PHP logging constants)
//define ("LOG_LEVEL", LOG_ERROR );
// suggested log level for debug use
define ("LOG_LEVEL", LOG_INFO);
// Set this true if you want to use cache. Strongly suggested
define ("WURFL_USE_CACHE", true);
// Set this true if you want to avoid using cache.php file, and
// generate a single file for each device user agent and use that as a cache
// NOTICE: using Multicache will still generate cache.php and agent2id.php,
// but will not dump the entire XML as PHP into cache.php. As a result
// cache.php will be MUCH smaller and load WAY faster; as a drawback you will
// have many more I/O accesses to the single tiny files.
define ("WURFL_USE_MULTICACHE", true);
// Path and name of the cache file
define ("CACHE_FILE", DATADIR."cache.php");
// Set path of the Multicache directory where all the little caches will be
// stored. Should be a directory that contains *only* these files, so that its
// content can be safely cleaned when a new cache is created.
// If not using Multicache, this parameter will not be used.
define ("MULTICACHE_DIR", DATADIR."multicache/");
// Temporary directory for manual updates.
define ("MULTICACHE_TMP_DIR", DATADIR."multicache_tmp/");
// This file is created and removed when manually updating multicache files
define ("MULTICACHE_TOUCH", DATADIR."multicache.lockfile");
// File suffix for Multicache files
define ("MULTICACHE_SUFFIX",".php");
// Autoload set to false, I will load it when needed
define ("WURFL_AUTOLOAD", false);
// This parameter tells the class to automatically update cache files when a
// new XML is found.
// Using the multicache is not suggested to automatically update it. Use the
// external scripts.
define ("WURFL_CACHE_AUTOUPDATE", true);
// Path and name of the file to store user_agent->id relation
// (ignored if caching is disabled)
define ("WURFL_AGENT2ID_FILE", DATADIR."agent2id.php4");
// Configure a patch file
define("WURFL_PATCH_FILE", DATADIR.'wurfl_patch.xml');
define("WURFL_PATCH_DEBUG", false);
//define("WURFL_PATCH_FILE", DATADIR.'web_browsers_patch.xml');
// Set the maximum number of user_agents to cache
define ("MAX_UA_CACHE", 30);
Is this a known issue that the incorrect width is being returned, or do I do something wrong?