From 44a5cd28050fa732c32943a8193664f44a4cfad1 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Mon, 12 Oct 2009 12:46:53 +0000 Subject: [PATCH] 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 --- plugins/MobileProfile/MobileProfilePlugin.php | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php index 3785feeec0..f36d97ad95 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) {