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(); } }
public static function delete_action() { // 拦截 self::method('delete'); self::role('member'); self::csrf('member'); // 校验 // 执行 self::send_json(category_service::delete(g_int('id'))); }
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'); }
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); }
public static function delete_action() { // 拦截 self::method('delete'); self::role('member'); self::csrf('member'); // 校验 // 执行 comment_service::delete(g_int('id')); // 成功 self::send_json(true); }
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(); }
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()); } }
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()); } }
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); }