diff options
author | Sarven Capadisli <csarven@status.net> | 2009-10-12 12:46:53 +0000 |
---|---|---|
committer | Sarven Capadisli <csarven@status.net> | 2009-10-12 12:46:53 +0000 |
commit | 44a5cd28050fa732c32943a8193664f44a4cfad1 (patch) | |
tree | e365556de23a341744510a6fb559455d53ae8228 /plugins | |
parent | 7af1c83f4e8d66e2f70006bf6568c5b8410a2311 (diff) |
Added function to set a list of features the mobile device supports
and output accordingly e.g., if device is not known to have an open
file system or unable to make use of input type="file" don't output
that feature
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/MobileProfile/MobileProfilePlugin.php | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php index 3785feeec..f36d97ad9 100644 --- a/plugins/MobileProfile/MobileProfilePlugin.php +++ b/plugins/MobileProfile/MobileProfilePlugin.php @@ -51,6 +51,7 @@ class MobileProfilePlugin extends WAP20Plugin { public $DTD = null; public $serveMobile = false; + public $mobileFeatures = array(); function __construct($DTD='http://www.wapforum.org/DTD/xhtml-mobile10.dtd') { @@ -106,8 +107,7 @@ class MobileProfilePlugin extends WAP20Plugin // Or, detect the mobile devices based on their support for // MP 1.0, 1.1, or 1.2 may be ideal. Possible? - $this->mobiledevices = - array( + $this->mobiledevices = array( 'alcatel', 'android', 'audiovox', @@ -160,6 +160,8 @@ class MobileProfilePlugin extends WAP20Plugin foreach($this->mobiledevices as $md) { if (strstr($httpuseragent, $md) !== false) { + setMobileFeatures($httpuseragent); + $this->serveMobile = true; break; } @@ -200,6 +202,24 @@ class MobileProfilePlugin extends WAP20Plugin } + function setMobileFeatures($useragent) + { + /* List of devices that support input type="file" */ + $mobiledeviceInputFileType = array( + 'nokia' + ); + + $this->mobileFeatures['inputfiletype'] = false; + + foreach($mobiledeviceInputFileType as $md) { + if (strstr($useragent, $md) !== false) { + $this->mobileFeatures['inputfiletype'] = true; + break; + } + } + } + + function onStartShowHeadElements($action) { if (!$action->serveMobile) { |