コード例 #1
0
ファイル: topic_controller.php プロジェクト: xpd1437/swap
 public static function show_action()
 {
     $topic_id = g_int('id');
     $topic = topic_model::get_by_id($topic_id);
     binder::bind($topic, 'belongs_to', 'user');
     self::forward_404_if($topic === null, '主题不存在。');
     self::set('topic', $topic);
     $board = board_model::get_by_id($topic->board_id);
     self::set('board', $board);
     $page = g_int('page', 1);
     list($pager, $replies) = reply_model::pager(array('topic_id' => $topic_id), array(array('id' => 'ASC'), $page, 10));
     binder::bind($replies, 'belongs_to', 'user');
     $pager['target'] = 'topic/show?id=' . $topic_id;
     if ($replies === []) {
         $replies = array($topic);
     } else {
         if ($page === 1) {
             array_unshift($replies, $topic);
         }
     }
     self::set('pager', $pager);
     self::set('replies', $replies);
     $logined = visitor::has_role('user');
     self::set('logined', $logined);
     self::show_page();
 }
コード例 #2
0
ファイル: reply_controller.php プロジェクト: xpd1437/swap
 public static function new_action()
 {
     self::method('post');
     self::role('user', 'forward_to', 'site/login');
     self::csrf('user');
     $topic_id = g_int('topic_id');
     $topic = topic_model::get_by_id($topic_id);
     self::forward_404_if($topic === null, '主题不存在。');
     try {
         $checker = new lazy_checker(p());
         $checker->check('content', array('change_to' => 'string', 'char_size' => array(6, reply_model::content_len, '内容长度为%d到%d个字符')));
         $pub_time = clock::get_stamp();
         $user_id = visitor::get_role_id('user');
         $reply = array('board_id' => $topic->board_id, 'topic_id' => $topic_id, 'user_id' => $user_id, 'pub_time' => $pub_time, 'content' => $checker->content);
         reply_service::new_reply($reply);
         self::json_result(true, '', 0, url('topic/show?id=' . $topic_id));
     } catch (check_failed $e) {
         self::json_result(false, $e->get_reasons());
     }
 }