From c91e90406bbc81f8311a1d2707dd141d150f99a4 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 17 Nov 2008 00:30:18 +0000 Subject: Add output formats to our REST controllers. Add support for JSON and XML to the comment controllers as a proof of concept. It's not fully baked; we should examine ways to create helpers to make this process easier. --- modules/comment/controllers/comment.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'modules/comment/controllers/comment.php') diff --git a/modules/comment/controllers/comment.php b/modules/comment/controllers/comment.php index 9a9ce84e..546f3d67 100644 --- a/modules/comment/controllers/comment.php +++ b/modules/comment/controllers/comment.php @@ -31,14 +31,26 @@ class Comment_Controller extends REST_Controller { /** * Get an existing comment. - * @see Rest_Controller::_get($resource) + * @see Rest_Controller::_get($resource, $output_format) */ - public function _get($comment) { - $v = new View("comment.html"); - $v->comment = $comment; - print $v; + public function _get($comment, $output_format) { + switch ($output_format) { + case "xml": + print xml::to_xml($comment->as_array(), array("comment")); + break; + + case "json": + print json_encode($comment->as_array()); + break; + + default: + $v = new View("comment.$output_format"); + $v->comment = $comment; + print $v; + } } + /** * Update existing comment. * @see Rest_Controller::_put($resource) @@ -46,7 +58,6 @@ class Comment_Controller extends REST_Controller { public function _put($comment) { $form = comment::get_edit_form($comment); if ($form->validate()) { - $comment = ORM::factory('comment'); $comment->author = $this->input->post('author'); $comment->email = $this->input->post('email'); $comment->text = $this->input->post('text'); -- cgit v1.2.3