summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-12-30 16:19:57 -0500
committerEvan Prodromou <evan@prodromou.name>2008-12-30 16:19:57 -0500
commit76d91a358bc072274953c2aaf8a768c331ac2a71 (patch)
tree927a93b1eb6d7ca61ab8a836e79dbe6d454d0426
parent91a41242ef5309fdae0243251d0e0add75c51b99 (diff)
better serialization of arrays and booleans in config output
darcs-hash:20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz
-rw-r--r--_darcs/inventory4
-rw-r--r--_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gzbin0 -> 280 bytes
-rw-r--r--_darcs/pristine/actions/twitapilaconica.php10
-rw-r--r--_darcs/tentative_pristine54
-rw-r--r--actions/twitapilaconica.php10
5 files changed, 32 insertions, 46 deletions
diff --git a/_darcs/inventory b/_darcs/inventory
index 895091d01..6b875d2ae 100644
--- a/_darcs/inventory
+++ b/_darcs/inventory
@@ -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
index 000000000..a99818141
--- /dev/null
+++ b/_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz
Binary files differ
diff --git a/_darcs/pristine/actions/twitapilaconica.php b/_darcs/pristine/actions/twitapilaconica.php
index 9d9fcef6f..17b7b0872 100644
--- a/_darcs/pristine/actions/twitapilaconica.php
+++ b/_darcs/pristine/actions/twitapilaconica.php
@@ -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);
}
diff --git a/_darcs/tentative_pristine b/_darcs/tentative_pristine
index 404e42f98..2a7c664f3 100644
--- a/_darcs/tentative_pristine
+++ b/_darcs/tentative_pristine
@@ -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);
diff --git a/actions/twitapilaconica.php b/actions/twitapilaconica.php
index 9d9fcef6f..17b7b0872 100644
--- a/actions/twitapilaconica.php
+++ b/actions/twitapilaconica.php
@@ -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);
}