]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Added function to set a list of features the mobile device supports
authorSarven Capadisli <csarven@status.net>
Mon, 12 Oct 2009 12:46:53 +0000 (12:46 +0000)
committerSarven Capadisli <csarven@status.net>
Mon, 12 Oct 2009 12:46:53 +0000 (12:46 +0000)
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

index 3785feeec0c82af3ed6a116540137da29127210f..f36d97ad95dbc54bd2ea26f819c4d02697f3c03b 100644 (file)
@@ -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) {