From a6eab1402c41508e5406f4b8e635d012fa684247 Mon Sep 17 00:00:00 2001
From: Gerrit Uitslag <klapinklapin@gmail.com>
Date: Thu, 2 Oct 2014 15:06:45 +0200
Subject: [PATCH] Reformatting IXR library

---
 inc/IXR_Library.php | 236 ++++++++++++++++++++++----------------------
 1 file changed, 119 insertions(+), 117 deletions(-)

diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php
index c11c959b6..699f8baa8 100644
--- a/inc/IXR_Library.php
+++ b/inc/IXR_Library.php
@@ -20,27 +20,27 @@ class IXR_Value {
 
     /** @var  IXR_Value[]|IXR_Date|IXR_Base64|int|bool|double|string */
     var $data;
-    /** @var string  */
+    /** @var string */
     var $type;
 
     /**
      * @param mixed $data
      * @param bool $type
      */
-    function IXR_Value ($data, $type = false) {
+    function IXR_Value($data, $type = false) {
         $this->data = $data;
-        if (!$type) {
+        if(!$type) {
             $type = $this->calculateType();
         }
         $this->type = $type;
-        if ($type == 'struct') {
+        if($type == 'struct') {
             /* Turn all the values in the array in to new IXR_Value objects */
-            foreach ($this->data as $key => $value) {
+            foreach($this->data as $key => $value) {
                 $this->data[$key] = new IXR_Value($value);
             }
         }
-        if ($type == 'array') {
-            for ($i = 0, $j = count($this->data); $i < $j; $i++) {
+        if($type == 'array') {
+            for($i = 0, $j = count($this->data); $i < $j; $i++) {
                 $this->data[$i] = new IXR_Value($this->data[$i]);
             }
         }
@@ -50,33 +50,33 @@ class IXR_Value {
      * @return string
      */
     function calculateType() {
-        if ($this->data === true || $this->data === false) {
+        if($this->data === true || $this->data === false) {
             return 'boolean';
         }
-        if (is_integer($this->data)) {
+        if(is_integer($this->data)) {
             return 'int';
         }
-        if (is_double($this->data)) {
+        if(is_double($this->data)) {
             return 'double';
         }
         // Deal with IXR object types base64 and date
-        if (is_object($this->data) && is_a($this->data, 'IXR_Date')) {
+        if(is_object($this->data) && is_a($this->data, 'IXR_Date')) {
             return 'date';
         }
-        if (is_object($this->data) && is_a($this->data, 'IXR_Base64')) {
+        if(is_object($this->data) && is_a($this->data, 'IXR_Base64')) {
             return 'base64';
         }
         // If it is a normal PHP object convert it in to a struct
-        if (is_object($this->data)) {
+        if(is_object($this->data)) {
 
             $this->data = get_object_vars($this->data);
             return 'struct';
         }
-        if (!is_array($this->data)) {
+        if(!is_array($this->data)) {
             return 'string';
         }
         /* We have an array - is it an array or a struct ? */
-        if ($this->isStruct($this->data)) {
+        if($this->isStruct($this->data)) {
             return 'struct';
         } else {
             return 'array';
@@ -88,32 +88,32 @@ class IXR_Value {
      */
     function getXml() {
         /* Return XML for this value */
-        switch ($this->type) {
+        switch($this->type) {
             case 'boolean':
-                return '<boolean>'.(($this->data) ? '1' : '0').'</boolean>';
+                return '<boolean>' . (($this->data) ? '1' : '0') . '</boolean>';
                 break;
             case 'int':
-                return '<int>'.$this->data.'</int>';
+                return '<int>' . $this->data . '</int>';
                 break;
             case 'double':
-                return '<double>'.$this->data.'</double>';
+                return '<double>' . $this->data . '</double>';
                 break;
             case 'string':
-                return '<string>'.htmlspecialchars($this->data).'</string>';
+                return '<string>' . htmlspecialchars($this->data) . '</string>';
                 break;
             case 'array':
-                $return = '<array><data>'."\n";
-                foreach ($this->data as $item) {
-                    $return .= '  <value>'.$item->getXml()."</value>\n";
+                $return = '<array><data>' . "\n";
+                foreach($this->data as $item) {
+                    $return .= '  <value>' . $item->getXml() . "</value>\n";
                 }
                 $return .= '</data></array>';
                 return $return;
                 break;
             case 'struct':
-                $return = '<struct>'."\n";
-                foreach ($this->data as $name => $value) {
+                $return = '<struct>' . "\n";
+                foreach($this->data as $name => $value) {
                     $return .= "  <member><name>$name</name><value>";
-                    $return .= $value->getXml()."</value></member>\n";
+                    $return .= $value->getXml() . "</value></member>\n";
                 }
                 $return .= '</struct>';
                 return $return;
@@ -133,8 +133,8 @@ class IXR_Value {
     function isStruct($array) {
         /* Nasty function to check if an array is a struct or not */
         $expected = 0;
-        foreach ($array as $key => $value) {
-            if ((string)$key != (string)$expected) {
+        foreach($array as $key => $value) {
+            if((string) $key != (string) $expected) {
                 return true;
             }
             $expected++;
@@ -148,15 +148,15 @@ class IXR_Value {
  */
 class IXR_Message {
     var $message;
-    var $messageType;  // methodCall / methodResponse / fault
+    var $messageType; // methodCall / methodResponse / fault
     var $faultCode;
     var $faultString;
     var $methodName;
     var $params;
     // Current variable stacks
-    var $_arraystructs = array();   // The stack used to keep track of the current array/struct
+    var $_arraystructs = array(); // The stack used to keep track of the current array/struct
     var $_arraystructstypes = array(); // Stack keeping track of if things are structs or array
-    var $_currentStructName = array();  // A stack as well
+    var $_currentStructName = array(); // A stack as well
     var $_param;
     var $_value;
     var $_currentTag;
@@ -168,7 +168,7 @@ class IXR_Message {
     /**
      * @param string $message
      */
-    function IXR_Message ($message) {
+    function IXR_Message($message) {
         $this->message = $message;
     }
 
@@ -177,7 +177,7 @@ class IXR_Message {
      */
     function parse() {
         // first remove the XML declaration
-        $this->message = preg_replace('/<\?xml(.*)?\?'.'>/', '', $this->message);
+        $this->message = preg_replace('/<\?xml(.*)?\?' . '>/', '', $this->message);
         // workaround for a bug in PHP/libxml2, see http://bugs.php.net/bug.php?id=45996
         $this->message = str_replace('&lt;', '&#60;', $this->message);
         $this->message = str_replace('&gt;', '&#62;', $this->message);
@@ -185,7 +185,7 @@ class IXR_Message {
         $this->message = str_replace('&apos;', '&#39;', $this->message);
         $this->message = str_replace('&quot;', '&#34;', $this->message);
         $this->message = str_replace("\x0b", ' ', $this->message); //vertical tab
-        if (trim($this->message) == '') {
+        if(trim($this->message) == '') {
             return false;
         }
         $this->_parser = xml_parser_create();
@@ -195,7 +195,7 @@ class IXR_Message {
         xml_set_object($this->_parser, $this);
         xml_set_element_handler($this->_parser, 'tag_open', 'tag_close');
         xml_set_character_data_handler($this->_parser, 'cdata');
-        if (!xml_parse($this->_parser, $this->message)) {
+        if(!xml_parse($this->_parser, $this->message)) {
             /* die(sprintf('XML error: %s at line %d',
                 xml_error_string(xml_get_error_code($this->_parser)),
                 xml_get_current_line_number($this->_parser))); */
@@ -203,7 +203,7 @@ class IXR_Message {
         }
         xml_parser_free($this->_parser);
         // Grab the error messages, if any
-        if ($this->messageType == 'fault') {
+        if($this->messageType == 'fault') {
             $this->faultCode = $this->params[0]['faultCode'];
             $this->faultString = $this->params[0]['faultString'];
         }
@@ -225,7 +225,7 @@ class IXR_Message {
                 $this->messageType = $tag;
                 break;
             /* Deal with stacks of arrays and structs */
-            case 'data':    // data is to all intents and puposes more interesting than array
+            case 'data': // data is to all intents and puposes more interesting than array
                 $this->_arraystructstypes[] = 'array';
                 $this->_arraystructs[] = array();
                 break;
@@ -254,17 +254,17 @@ class IXR_Message {
         switch($tag) {
             case 'int':
             case 'i4':
-                $value = (int)trim($this->_currentTagContents);
+                $value = (int) trim($this->_currentTagContents);
                 $this->_currentTagContents = '';
                 $valueFlag = true;
                 break;
             case 'double':
-                $value = (double)trim($this->_currentTagContents);
+                $value = (double) trim($this->_currentTagContents);
                 $this->_currentTagContents = '';
                 $valueFlag = true;
                 break;
             case 'string':
-                $value = (string)$this->_currentTagContents;
+                $value = (string) $this->_currentTagContents;
                 $this->_currentTagContents = '';
                 $valueFlag = true;
                 break;
@@ -276,14 +276,14 @@ class IXR_Message {
                 break;
             case 'value':
                 // "If no type is indicated, the type is string."
-                if($this->_lastseen == 'value'){
-                    $value = (string)$this->_currentTagContents;
+                if($this->_lastseen == 'value') {
+                    $value = (string) $this->_currentTagContents;
                     $this->_currentTagContents = '';
                     $valueFlag = true;
                 }
                 break;
             case 'boolean':
-                $value = (boolean)trim($this->_currentTagContents);
+                $value = (boolean) trim($this->_currentTagContents);
                 $this->_currentTagContents = '';
                 $valueFlag = true;
                 break;
@@ -311,20 +311,20 @@ class IXR_Message {
                 $this->_currentTagContents = '';
                 break;
         }
-        if ($valueFlag) {
+        if($valueFlag) {
             /*
             if (!is_array($value) && !is_object($value)) {
                 $value = trim($value);
             }
             */
-            if (count($this->_arraystructs) > 0) {
+            if(count($this->_arraystructs) > 0) {
                 // Add value to struct or array
-                if ($this->_arraystructstypes[count($this->_arraystructstypes)-1] == 'struct') {
+                if($this->_arraystructstypes[count($this->_arraystructstypes) - 1] == 'struct') {
                     // Add to struct
-                    $this->_arraystructs[count($this->_arraystructs)-1][$this->_currentStructName[count($this->_currentStructName)-1]] = $value;
+                    $this->_arraystructs[count($this->_arraystructs) - 1][$this->_currentStructName[count($this->_currentStructName) - 1]] = $value;
                 } else {
                     // Add to array
-                    $this->_arraystructs[count($this->_arraystructs)-1][] = $value;
+                    $this->_arraystructs[count($this->_arraystructs) - 1][] = $value;
                 }
             } else {
                 // Just add as a paramater
@@ -340,10 +340,10 @@ class IXR_Message {
  */
 class IXR_Server {
     var $data;
-    /** @var array  */
+    /** @var array */
     var $callbacks = array();
     var $message;
-    /** @var array  */
+    /** @var array */
     var $capabilities;
 
     /**
@@ -352,7 +352,7 @@ class IXR_Server {
      */
     function IXR_Server($callbacks = false, $data = false) {
         $this->setCapabilities();
-        if ($callbacks) {
+        if($callbacks) {
             $this->callbacks = $callbacks;
         }
         $this->setCallbacks();
@@ -363,24 +363,24 @@ class IXR_Server {
      * @param bool|string $data
      */
     function serve($data = false) {
-        if (!$data) {
+        if(!$data) {
 
             $postData = trim(http_get_raw_post_data());
-            if (!$postData) {
+            if(!$postData) {
                 die('XML-RPC server accepts POST requests only.');
             }
             $data = $postData;
         }
         $this->message = new IXR_Message($data);
-        if (!$this->message->parse()) {
+        if(!$this->message->parse()) {
             $this->error(-32700, 'parse error. not well formed');
         }
-        if ($this->message->messageType != 'methodCall') {
+        if($this->message->messageType != 'methodCall') {
             $this->error(-32600, 'server error. invalid xml-rpc. not conforming to spec. Request must be a methodCall');
         }
         $result = $this->call($this->message->methodName, $this->message->params);
         // Is the result an error?
-        if (is_a($result, 'IXR_Error')) {
+        if(is_a($result, 'IXR_Error')) {
             $this->error($result);
         }
         // Encode the result
@@ -405,12 +405,12 @@ EOD;
 
     /**
      * @param string $methodname
-     * @param array  $args
+     * @param array $args
      * @return IXR_Error|mixed
      */
     function call($methodname, $args) {
-        if (!$this->hasMethod($methodname)) {
-            return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.');
+        if(!$this->hasMethod($methodname)) {
+            return new IXR_Error(-32601, 'server error. requested method ' . $methodname . ' does not exist.');
         }
         $method = $this->callbacks[$methodname];
         // Perform the callback and send the response
@@ -427,16 +427,16 @@ EOD;
         $args = (array) $args;
 
         // Are we dealing with a function or a method?
-        if (substr($method, 0, 5) == 'this:') {
+        if(substr($method, 0, 5) == 'this:') {
             // It's a class method - check it exists
             $method = substr($method, 5);
-            if (!method_exists($this, $method)) {
-                return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.');
+            if(!method_exists($this, $method)) {
+                return new IXR_Error(-32601, 'server error. requested class method "' . $method . '" does not exist.');
             }
             // Call the method
             #$result = $this->$method($args);
-            $result = call_user_func_array(array(&$this,$method),$args);
-        } elseif (substr($method, 0, 7) == 'plugin:') {
+            $result = call_user_func_array(array(&$this, $method), $args);
+        } elseif(substr($method, 0, 7) == 'plugin:') {
             list($pluginname, $callback) = explode(':', substr($method, 7), 2);
             if(!plugin_isdisabled($pluginname)) {
                 $plugin = plugin_load('action', $pluginname);
@@ -446,12 +446,12 @@ EOD;
             }
         } else {
             // It's a function - does it exist?
-            if (!function_exists($method)) {
-                return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.');
+            if(!function_exists($method)) {
+                return new IXR_Error(-32601, 'server error. requested function "' . $method . '" does not exist.');
             }
             // Call the function
             #$result = $method($args);
-            $result = call_user_func_array($method,$args);
+            $result = call_user_func_array($method, $args);
         }
         return $result;
     }
@@ -462,7 +462,7 @@ EOD;
      */
     function error($error, $message = false) {
         // Accepts either an error object or an error code and message
-        if ($message && !is_object($error)) {
+        if($message && !is_object($error)) {
             $error = new IXR_Error($error, $message);
         }
         $this->output($error->getXml());
@@ -484,6 +484,7 @@ EOD;
     function hasMethod($method) {
         return in_array($method, array_keys($this->callbacks));
     }
+
     function setCapabilities() {
         // Initialises capabilities array
         $this->capabilities = array(
@@ -508,6 +509,7 @@ EOD;
     function getCapabilities() {
         return $this->capabilities;
     }
+
     function setCallbacks() {
         $this->callbacks['system.getCapabilities'] = 'this:getCapabilities';
         $this->callbacks['system.listMethods'] = 'this:listMethods';
@@ -530,15 +532,15 @@ EOD;
     function multiCall($methodcalls) {
         // See http://www.xmlrpc.com/discuss/msgReader$1208
         $return = array();
-        foreach ($methodcalls as $call) {
+        foreach($methodcalls as $call) {
             $method = $call['methodName'];
             $params = $call['params'];
-            if ($method == 'system.multicall') {
+            if($method == 'system.multicall') {
                 $result = new IXR_Error(-32800, 'Recursive calls to system.multicall are forbidden');
             } else {
                 $result = $this->call($method, $params);
             }
-            if (is_a($result, 'IXR_Error')) {
+            if(is_a($result, 'IXR_Error')) {
                 $return[] = array(
                     'faultCode' => $result->code,
                     'faultString' => $result->message
@@ -555,16 +557,16 @@ EOD;
  * Class IXR_Request
  */
 class IXR_Request {
-    /** @var string  */
+    /** @var string */
     var $method;
-    /** @var array  */
+    /** @var array */
     var $args;
-    /** @var string  */
+    /** @var string */
     var $xml;
 
     /**
      * @param string $method
-     * @param array  $args
+     * @param array $args
      */
     function IXR_Request($method, $args) {
         $this->method = $method;
@@ -576,7 +578,7 @@ class IXR_Request {
 <params>
 
 EOD;
-        foreach ($this->args as $arg) {
+        foreach($this->args as $arg) {
             $this->xml .= '<param><value>';
             $v = new IXR_Value($arg);
             $this->xml .= $v->getXml();
@@ -611,7 +613,7 @@ EOD;
  */
 class IXR_Client extends DokuHTTPClient {
     var $posturl = '';
-    /** @var IXR_Message|bool  */
+    /** @var IXR_Message|bool */
     var $message = false;
     /** @var IXR_Error|bool */
     var $xmlerror = false;
@@ -623,11 +625,11 @@ class IXR_Client extends DokuHTTPClient {
      */
     function IXR_Client($server, $path = false, $port = 80) {
         parent::__construct();
-        if (!$path) {
+        if(!$path) {
             // Assume we have been given a URL instead
             $this->posturl = $server;
-        }else{
-            $this->posturl = 'http://'.$server.':'.$port.$path;
+        } else {
+            $this->posturl = 'http://' . $server . ':' . $port . $path;
         }
     }
 
@@ -642,26 +644,26 @@ class IXR_Client extends DokuHTTPClient {
         $xml = $request->getXml();
 
         $this->headers['Content-Type'] = 'text/xml';
-        if(!$this->sendRequest($this->posturl,$xml,'POST')){
-            $this->xmlerror = new IXR_Error(-32300, 'transport error - '.$this->error);
+        if(!$this->sendRequest($this->posturl, $xml, 'POST')) {
+            $this->xmlerror = new IXR_Error(-32300, 'transport error - ' . $this->error);
             return false;
         }
 
         // Check HTTP Response code
-        if($this->status < 200 || $this->status > 206){
-            $this->xmlerror = new IXR_Error(-32300, 'transport error - HTTP status '.$this->status);
+        if($this->status < 200 || $this->status > 206) {
+            $this->xmlerror = new IXR_Error(-32300, 'transport error - HTTP status ' . $this->status);
             return false;
         }
 
         // Now parse what we've got back
         $this->message = new IXR_Message($this->resp_body);
-        if (!$this->message->parse()) {
+        if(!$this->message->parse()) {
             // XML error
             $this->xmlerror = new IXR_Error(-32700, 'parse error. not well formed');
             return false;
         }
         // Is the message a fault?
-        if ($this->message->messageType == 'fault') {
+        if($this->message->messageType == 'fault') {
             $this->xmlerror = new IXR_Error($this->message->faultCode, $this->message->faultString);
             return false;
         }
@@ -758,7 +760,7 @@ class IXR_Date {
      */
     function IXR_Date($time) {
         // $time can be a PHP timestamp or an ISO one
-        if (is_numeric($time)) {
+        if(is_numeric($time)) {
             $this->parseTimestamp($time);
         } else {
             $this->parseIso($time);
@@ -781,11 +783,11 @@ class IXR_Date {
      * @param string $iso
      */
     function parseIso($iso) {
-        if(preg_match('/^(\d\d\d\d)-?(\d\d)-?(\d\d)([T ](\d\d):(\d\d)(:(\d\d))?)?/',$iso,$match)){
-            $this->year   = (int) $match[1];
-            $this->month  = (int) $match[2];
-            $this->day    = (int) $match[3];
-            $this->hour   = (int) $match[5];
+        if(preg_match('/^(\d\d\d\d)-?(\d\d)-?(\d\d)([T ](\d\d):(\d\d)(:(\d\d))?)?/', $iso, $match)) {
+            $this->year = (int) $match[1];
+            $this->month = (int) $match[2];
+            $this->day = (int) $match[3];
+            $this->hour = (int) $match[5];
             $this->minute = (int) $match[6];
             $this->second = (int) $match[8];
         }
@@ -795,14 +797,14 @@ class IXR_Date {
      * @return string
      */
     function getIso() {
-        return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second;
+        return $this->year . $this->month . $this->day . 'T' . $this->hour . ':' . $this->minute . ':' . $this->second;
     }
 
     /**
      * @return string
      */
     function getXml() {
-        return '<dateTime.iso8601>'.$this->getIso().'</dateTime.iso8601>';
+        return '<dateTime.iso8601>' . $this->getIso() . '</dateTime.iso8601>';
     }
 
     /**
@@ -830,7 +832,7 @@ class IXR_Base64 {
      * @return string
      */
     function getXml() {
-        return '<base64>'.base64_encode($this->data).'</base64>';
+        return '<base64>' . base64_encode($this->data) . '</base64>';
     }
 }
 
@@ -838,9 +840,9 @@ class IXR_Base64 {
  * Class IXR_IntrospectionServer
  */
 class IXR_IntrospectionServer extends IXR_Server {
-    /** @var array[]  */
-    var $signatures
-    /** @var string[]  */;
+    /** @var array[] */
+    var $signatures/** @var string[] */
+    ;
     var $help;
 
     function IXR_IntrospectionServer() {
@@ -877,10 +879,10 @@ class IXR_IntrospectionServer extends IXR_Server {
     }
 
     /**
-     * @param string   $method
-     * @param string   $callback
+     * @param string $method
+     * @param string $callback
      * @param string[] $args
-     * @param string   $help
+     * @param string $help
      */
     function addCallback($method, $callback, $args, $help) {
         $this->callbacks[$method] = $callback;
@@ -895,60 +897,60 @@ class IXR_IntrospectionServer extends IXR_Server {
      */
     function call($methodname, $args) {
         // Make sure it's in an array
-        if ($args && !is_array($args)) {
+        if($args && !is_array($args)) {
             $args = array($args);
         }
         // Over-rides default call method, adds signature check
-        if (!$this->hasMethod($methodname)) {
-            return new IXR_Error(-32601, 'server error. requested method "'.$this->message->methodName.'" not specified.');
+        if(!$this->hasMethod($methodname)) {
+            return new IXR_Error(-32601, 'server error. requested method "' . $this->message->methodName . '" not specified.');
         }
         $method = $this->callbacks[$methodname];
         $signature = $this->signatures[$methodname];
         $returnType = array_shift($signature);
         // Check the number of arguments. Check only, if the minimum count of parameters is specified. More parameters are possible.
         // This is a hack to allow optional parameters...
-        if (count($args) < count($signature)) {
+        if(count($args) < count($signature)) {
             // print 'Num of args: '.count($args).' Num in signature: '.count($signature);
             return new IXR_Error(-32602, 'server error. wrong number of method parameters');
         }
         // Check the argument types
         $ok = true;
         $argsbackup = $args;
-        for ($i = 0, $j = count($args); $i < $j; $i++) {
+        for($i = 0, $j = count($args); $i < $j; $i++) {
             $arg = array_shift($args);
             $type = array_shift($signature);
-            switch ($type) {
+            switch($type) {
                 case 'int':
                 case 'i4':
-                    if (is_array($arg) || !is_int($arg)) {
+                    if(is_array($arg) || !is_int($arg)) {
                         $ok = false;
                     }
                     break;
                 case 'base64':
                 case 'string':
-                    if (!is_string($arg)) {
+                    if(!is_string($arg)) {
                         $ok = false;
                     }
                     break;
                 case 'boolean':
-                    if ($arg !== false && $arg !== true) {
+                    if($arg !== false && $arg !== true) {
                         $ok = false;
                     }
                     break;
                 case 'float':
                 case 'double':
-                    if (!is_float($arg)) {
+                    if(!is_float($arg)) {
                         $ok = false;
                     }
                     break;
                 case 'date':
                 case 'dateTime.iso8601':
-                    if (!is_a($arg, 'IXR_Date')) {
+                    if(!is_a($arg, 'IXR_Date')) {
                         $ok = false;
                     }
                     break;
             }
-            if (!$ok) {
+            if(!$ok) {
                 return new IXR_Error(-32602, 'server error. invalid method parameters');
             }
         }
@@ -961,14 +963,14 @@ class IXR_IntrospectionServer extends IXR_Server {
      * @return array|IXR_Error
      */
     function methodSignature($method) {
-        if (!$this->hasMethod($method)) {
-            return new IXR_Error(-32601, 'server error. requested method "'.$method.'" not specified.');
+        if(!$this->hasMethod($method)) {
+            return new IXR_Error(-32601, 'server error. requested method "' . $method . '" not specified.');
         }
         // We should be returning an array of types
         $types = $this->signatures[$method];
         $return = array();
-        foreach ($types as $type) {
-            switch ($type) {
+        foreach($types as $type) {
+            switch($type) {
                 case 'string':
                     $return[] = 'string';
                     break;
-- 
GitLab