コード例 #1
0
ファイル: user_controller.php プロジェクト: xpd1437/swap
 public static function do_setting_action()
 {
     self::method('post');
     self::role('user');
     self::csrf('user');
     try {
         $checker = new lazy_checker(p());
         $checker->check('pass', array('change_to' => 'string', 'pass_if_be' => '', 'char_size' => array(6, -1, '')));
         $checker->check('new_pass', array('change_to' => 'string', 'pass_if_be' => '', 'char_size' => array(6, -1, '')));
         if (p_has('avatar')) {
             $checker->check('avatar', array('change_to' => 'array'));
         }
         $pass = $checker->pass;
         if ($pass !== '') {
             $user_id = visitor::get_role_id('user');
             $user = user_model::get_by_id($user_id);
             if (!$user->is_valid_pass($checker->pass)) {
                 $checker->failed('pass', '原密码不正确。');
             } else {
                 if ($checker->new_pass !== p_str('re_pass')) {
                     $checker->failed('new_pass', '两次输入的密码不相同。');
                 } else {
                     $user->change_pass_to($checker->new_pass);
                     $user->save();
                 }
             }
         }
         self::json_result(true, '', 0, url('user/setting'));
     } catch (check_failed $e) {
         self::json_result(false, $e->get_reasons());
     }
 }
コード例 #2
0
ファイル: header_helper.php プロジェクト: xpd1437/swap
 public static function run(array $context)
 {
     $logined = visitor::has_role('user');
     self::set('logined', $logined);
     if ($logined) {
         self::set('user', user_model::get_by_id(visitor::get_role_id('user')));
     }
     self::render();
 }
コード例 #3
0
ファイル: site_controller.php プロジェクト: xpd1437/swap
 public static function admin_action()
 {
     // 拦截
     self::role('member');
     // 呈现
     $member = member_model::get_by_id(visitor::get_role_id('member'));
     self::set('name', $member->name);
     self::show_page('', 'two');
 }
コード例 #4
0
ファイル: topic_controller.php プロジェクト: xpd1437/swap
 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());
     }
 }
コード例 #5
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());
     }
 }
コード例 #6
0
ファイル: post_controller.php プロジェクト: xpd1437/swap
 public static function do_new_action()
 {
     // 拦截
     self::method('post');
     self::role('member');
     self::csrf('member');
     try {
         // 校验
         $checker = new lazy_checker(p());
         $checker->check_model_rules('post');
         // 执行
         $props = $checker->get_all();
         $tags = $props['tags'];
         unset($props['tags']);
         $props['member_id'] = visitor::get_role_id('member');
         $props['pub_time'] = clock::get_stamp();
         $post = new post_model();
         $post->set_props($props);
         publish_service::publish($post, $tags);
         // 成功
         self::json_result(true, '文章发表成功', 0, url('post/show?id=' . $post->id));
     } catch (check_failed $e) {
         // 失败
         self::json_result(false, $e->get_reasons());
     }
 }