From 76d91a358bc072274953c2aaf8a768c331ac2a71 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 30 Dec 2008 16:19:57 -0500 Subject: better serialization of arrays and booleans in config output darcs-hash:20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz --- _darcs/inventory | 4 +- ...dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz | Bin 0 -> 280 bytes _darcs/pristine/actions/twitapilaconica.php | 10 +++- _darcs/tentative_pristine | 54 +++++---------------- actions/twitapilaconica.php | 10 +++- 5 files changed, 32 insertions(+), 46 deletions(-) create mode 100644 _darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz diff --git a/_darcs/inventory b/_darcs/inventory index 895091d01..6b875d2ae 100644 --- a/_darcs/inventory +++ b/_darcs/inventory @@ -108,4 +108,6 @@ Evan Prodromou **20081230205939] [add some breaks so that switch statement works Evan Prodromou **20081230210114] [implement the api/laconica/config method -Evan Prodromou **20081230211444] \ No newline at end of file +Evan Prodromou **20081230211444] +[better serialization of arrays and booleans in config output +Evan Prodromou **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 Binary files /dev/null and b/_darcs/patches/20081230211957-84dde-ea044934e16bb8ef89e762159ecea1fa008b65b9.gz 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); } -- cgit v1.2.3-54-g00ecf