Beispiel #1
0
 public static function edit_action()
 {
     // 拦截
     self::role('member');
     $member = member_model::get_by_id(g_int('id'));
     self::forward_404_if($member === null, '用户不存在');
     if (visitor::is_post()) {
         // 拦截
         self::csrf('member');
         try {
             // 校验
             $checker = new lazy_checker(p());
             $checker->check_model_rules('member', 'edit', $member);
             // 执行
             $member->name = $checker->name;
             $pass = $checker->pass;
             if ($pass !== '') {
                 $member->set_pass($pass);
             }
             $member->save();
             visitor::set_role_var('member', 'name', $member->name);
             // 成功
             self::json_result(true, '用户编辑成功。', 0, url('member/index'));
         } catch (check_failed $e) {
             // 失败
             self::json_result(false, $e->get_reasons());
         }
     } else {
         // 呈现
         self::set('member', $member);
         self::show_page();
     }
 }
Beispiel #2
0
 public static function delete_action()
 {
     // 拦截
     self::method('delete');
     self::role('member');
     self::csrf('member');
     // 校验
     // 执行
     self::send_json(category_service::delete(g_int('id')));
 }
Beispiel #3
0
 public static function about_action()
 {
     // 呈现
     self::set('about', setting_model::get_about());
     list($pager, $messages) = message_model::pager_all(array(array('id' => 'DESC'), g_int('page', 1), 10));
     $pager['target'] = 'site/about';
     self::set('pager', $pager);
     self::set('messages', $messages);
     self::set('logined', visitor::has_role('member'));
     self::set('captcha_question', setting_model::get_by_id(setting_model::id_captcha_question)->value);
     self::show_page('', 'three');
 }
Beispiel #4
0
 public static function delete_action()
 {
     // 拦截
     self::method('delete');
     self::role('member');
     self::csrf('member');
     // 校验
     // 执行
     link_model::del_by_id(g_int('id'));
     // 成功
     self::send_json(true);
 }
Beispiel #5
0
 public static function delete_action()
 {
     // 拦截
     self::method('delete');
     self::role('member');
     self::csrf('member');
     // 校验
     // 执行
     comment_service::delete(g_int('id'));
     // 成功
     self::send_json(true);
 }
Beispiel #6
0
 public static function show_action()
 {
     $board_id = g_int('id', 0);
     $board = board_model::get_by_id($board_id);
     self::forward_404_if($board === null, '板块不存在。');
     self::set('board', $board);
     $order_limit = array(array('id' => 'DESC'), g_int('page', 1), 10);
     list($pager, $topics) = topic_model::pager_with_count($board->topic_count, array('board_id' => $board_id), $order_limit);
     binder::bind($topics, 'belongs_to', 'user');
     $pager['target'] = 'board/show?id=' . $board_id;
     self::set('pager', $pager);
     self::set('topics', $topics);
     self::show_page();
 }
Beispiel #7
0
 public static function do_new_action()
 {
     self::method('post');
     self::role('user');
     self::csrf('user');
     $board_id = g_int('board_id', 1);
     $board = board_model::get_by_id($board_id);
     try {
         $checker = new lazy_checker(p());
         $checker->check('title', array('change_to' => 'string', 'char_size' => array(3, topic_model::title_len, '标题长度为%d到%d个字符')));
         $checker->check('content', array('change_to' => 'string', 'char_size' => array(6, topic_model::content_len, '内容长度为%d到%d个字符')));
         $user_id = visitor::get_role_id('user');
         $topic = array('board_id' => $board_id, 'user_id' => $user_id, 'pub_time' => clock::get_stamp(), 'title' => $checker->title, 'content' => $checker->content);
         $topic_id = topic_service::new_topic($topic);
         self::json_result(true, '', 0, url('topic/show?id=' . $topic_id));
     } catch (check_failed $e) {
         self::json_result(false, $e->get_reasons());
     }
 }
Beispiel #8
0
 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());
     }
 }
Beispiel #9
0
 public static function delete_action()
 {
     // 拦截
     self::method('delete');
     self::role('member');
     self::csrf('member');
     // 校验
     // 执行
     $id = g_int('id');
     $post = post_model::get_by_id($id);
     if ($post !== null) {
         comment_model::del(array('post_id' => $id));
         category_model::dec_by_id(array('post_count' => 1), $post->category_id);
         post_model::del_by_id($id);
         publish_service::delete_tags_for_post($post);
     }
     // 成功
     self::send_json(true);
 }