示例#1
0
 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);
 }
示例#2
0
 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;
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 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();
             }
     }
 }
示例#5
0
 public function jsonify($callback = false)
 {
     $props = $this->toArray();
     return SC::jsonify($props, $callback);
 }