public function jsonify($callback = null) { $fields = array("from", "author", "subject", "body", "to", "bcc", "header"); $props = array(); foreach ($fields as $id => $field) { $props[$field] = $this->{$field}; } return SC::jsonify($props, $callback); }
public function handleResponse($resp, $methodname) { $content_type = $this->getResponseContentType(); switch ($content_type) { case "html": $partial = $this->{$methodname}(array("__partial" => true)); if ($partial) { $partial_name = $partial["partial"]; if (isset($partial["val"])) { $resp = array($partial["val"] => $resp); } return SCPartial::renderToString($partial_name, $resp); } throw new APIException("There is no html associated with this.", 400); break; case "json": return SC::jsonify(SC::toArrayAll($resp)); break; } }
public function show() { SC::loginRequired(); $api = new SCApi(); $vars = $api->boards_show(); // $board & $view_counts switch ($_GET["__content_type"]) { case "json": if ($_GET["since"]) { $output = array("content" => SCPartial::renderToString("board/board_threads", $vars)); } else { $output = array("threads" => $vars["board"]->threads()); } echo SC::jsonify($output); break; case "html": default: $cs = array("title" => htmlspecialchars($vars["board"]->boardname), "util_links" => SCPartial::renderToString("board/util_links", $vars), "content" => SCPartial::renderToString("board/board", $vars)); SCLayout::render("main", $vars, $cs); } }
public function create() { SC::loginRequired(); global $current_user; switch ($_GET["__content_type"]) { case "json": $api = new SCApi(); $thread = $api->boards_threads_create(); $output = array("transfer" => SCRoutes::set("threads", "show", array("boardid" => $thread->boardid, "threadid" => $thread->messageid))); echo SC::jsonify($output); break; case "html": default: try { $api = new SCApi(); $thread = $api->boards_threads_create(); SC::transfer(SCRoutes::set("threads", "show", array("boardid" => $thread->boardid, "threadid" => $thread->messageid))); } catch (Exception $ex) { SC::setFlashMessage($ex->getMessage(), "error"); $this->_new(); } } }
public function jsonify($callback = false) { $props = $this->toArray(); return SC::jsonify($props, $callback); }