]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
better serialization of arrays and booleans in config output
authorEvan Prodromou <evan@prodromou.name>
Tue, 30 Dec 2008 21:19:57 +0000 (16:19 -0500)
committerEvan Prodromou <evan@prodromou.name>
Tue, 30 Dec 2008 21:19:57 +0000 (16:19 -0500)
darcs-hash:20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz

_darcs/inventory
_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz [new file with mode: 0644]
_darcs/pristine/actions/twitapilaconica.php
_darcs/tentative_pristine
actions/twitapilaconica.php

index 895091d0140b2a5a18f27036584a4d2a383fd829..6b875d2ae726944898d7a02b6fd9d343e61bc3f8 100644 (file)
@@ -108,4 +108,6 @@ Evan Prodromou <evan@prodromou.name>**20081230205939]
 [add some breaks so that switch statement works
 Evan Prodromou <evan@prodromou.name>**20081230210114] 
 [implement the api/laconica/config method
-Evan Prodromou <evan@prodromou.name>**20081230211444] 
\ No newline at end of file
+Evan Prodromou <evan@prodromou.name>**20081230211444] 
+[better serialization of arrays and booleans in config output
+Evan Prodromou <evan@prodromou.name>**20081230211957] 
\ No newline at end of file
diff --git a/_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz b/_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz
new file mode 100644 (file)
index 0000000..a998181
Binary files /dev/null and b/_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz differ
index 9d9fcef6f543ce079cdd1915a8ba2850438e5f9d..17b7b08729c3e43909c630d83e17106af5d67646 100644 (file)
@@ -119,7 +119,15 @@ class TwitapilaconicaAction extends TwitterapiAction
             foreach ($keys as $section => $settings) {
                 common_element_start($section);
                 foreach ($settings as $setting) {
-                    common_element($setting, null, common_config($section, $setting));
+                    $value = common_config($section, $setting);
+                    if (is_array($value)) {
+                        $value = implode(',', $value);
+                    } else if ($value === false) {
+                        $value = 'false';
+                    } else if ($value === true) {
+                        $value = 'true';
+                    }
+                    common_element($setting, null, $value);
                 }
                 common_element_end($section);
             }
index 404e42f98d20d8dff12d97080f3cbe4056978733..2a7c664f3f0cf51f48c542c890e553f2c0ac0d15 100644 (file)
@@ -1,43 +1,11 @@
-hunk ./actions/twitapilaconica.php 92
-+     * URL: http://identi.ca/api/laconica/config.(xml|json)
-+     * Formats: xml, json
-hunk ./actions/twitapilaconica.php 105
-+        static $keys = array('site' => array('name', 'server', 'theme', 'path', 'fancy', 'language',
-+                                             'email', 'broughtby', 'broughtbyurl', 'closed',
-+                                             'inviteonly', 'private'),
-+                             'license' => array('url', 'title', 'image'),
-+                             'nickname' => array('featured'),
-+                             'throttle' => array('enabled', 'count', 'timespan'),
-+                             'xmpp' => array('enabled', 'server', 'user'));
-+
-hunk ./actions/twitapilaconica.php 114
--        common_server_error(_('API method under construction.'), 501);
-+
-+        switch ($apidata['content-type']) {
-+         case 'xml':
-+            $this->init_document('xml');
-+            // XXX: check that all sections and settings are legal XML elements
-+            foreach ($keys as $section => $settings) {
-+                common_element_start($section);
-+                foreach ($settings as $setting) {
-+                    common_element($setting, null, common_config($section, $setting));
-+                }
-+                common_element_end($section);
-+            }
-+            $this->end_document('xml');
-+            break;
-+         case 'json':
-+            $result = array();
-+            foreach ($keys as $section => $settings) {
-+                $result[$section] = array();
-+                foreach ($settings as $setting) {
-+                    $result[$section][$setting] = common_config($section, $setting);
-+                }
-+            }
-+            $this->init_document('json');
-+            $this->show_json_objects($result);
-+            $this->end_document('json');
-+            break;
-+         default:
-+            $this->client_error(_('API method not found!'), $code=404);
-+        }
+hunk ./actions/twitapilaconica.php 122
+-                    common_element($setting, null, common_config($section, $setting));
++                    $value = common_config($section, $setting);
++                    if (is_array($value)) {
++                        $value = implode(',', $value);
++                    } else if ($value === false) {
++                        $value = 'false';
++                    } else if ($value === true) {
++                        $value = 'true';
++                    }
++                    common_element($setting, null, $value);
index 9d9fcef6f543ce079cdd1915a8ba2850438e5f9d..17b7b08729c3e43909c630d83e17106af5d67646 100644 (file)
@@ -119,7 +119,15 @@ class TwitapilaconicaAction extends TwitterapiAction
             foreach ($keys as $section => $settings) {
                 common_element_start($section);
                 foreach ($settings as $setting) {
-                    common_element($setting, null, common_config($section, $setting));
+                    $value = common_config($section, $setting);
+                    if (is_array($value)) {
+                        $value = implode(',', $value);
+                    } else if ($value === false) {
+                        $value = 'false';
+                    } else if ($value === true) {
+                        $value = 'true';
+                    }
+                    common_element($setting, null, $value);
                 }
                 common_element_end($section);
             }