Example #1
0
 public function action_change_password($member_id = 0)
 {
     $this->page_title = '修改密码';
     $member_id = (int) $member_id;
     $msg = '';
     if (HttpIO::METHOD == 'POST') {
         # 提交数据
         try {
             $this->check_password($_POST);
             $member = $this->session()->member();
             if ($member_id > 0 && $member->id != $member_id) {
                 $model_admin = new Model_Admin_Administrator();
                 $member = $model_admin->get_by_id($member_id);
                 if (!$member) {
                     throw new Exception('指定的用户ID不存在');
                 }
             }
             $this->check_auth_for_edit_password($member);
             if ($this->do_change_password($member, $_POST)) {
                 $msg = '密码修改成功';
                 $code = 1;
             }
         } catch (Exception $e) {
             $code = $e->getCode();
             $msg = $e->getMessage();
         }
         $this->message($msg, $code);
     }
     try {
         if (!$member_id > 0) {
             $member_id = $this->session()->member()->id;
             $member = $this->session()->member();
         } else {
             $model_admin = new Model_Admin_Administrator();
             $member = $model_admin->get_by_id($member_id);
             if (!$member) {
                 throw new Exception('指定的用户ID不存在');
             }
         }
         $this->check_auth_for_edit_password($member);
     } catch (Exception $e) {
         $code = $e->getCode();
         $msg = $e->getMessage();
         $this->message($msg, $code);
     }
     $view = new View('admin/administrator/change_password');
     $view->member_id = $member_id;
     $view->msg = $msg;
     $view->render();
 }