summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2009-10-12 12:46:53 +0000
committerSarven Capadisli <csarven@status.net>2009-10-12 12:46:53 +0000
commit44a5cd28050fa732c32943a8193664f44a4cfad1 (patch)
treee365556de23a341744510a6fb559455d53ae8228
parent7af1c83f4e8d66e2f70006bf6568c5b8410a2311 (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
-rw-r--r--plugins/MobileProfile/MobileProfilePlugin.php24
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) {