Ejemplo n.º 1
0
 /**
  * 提供修改密码功能
  */
 public function pwd()
 {
     if (IS_POST) {
         $oldpwd = Util::getSafeText(trim(I('post.oldpwd')));
         $pwd = Util::getSafeText(trim(I('post.pwd')));
         $repwd = Util::getSafeText(trim(I('post.repwd')));
         if ($pwd != $repwd) {
             exit(Util::response(self::__ERROR__1, '两次输入密码不相同,请重新输入'));
         }
         //检查旧密码
         $userAdminModel = D('Useradmin');
         $row = $userAdminModel->getRow(array("id = {$this->userId}"));
         if ($row) {
             if (Util::genMd5Pwd($oldpwd) !== $row['passwd']) {
                 exit(Util::response(self::__ERROR__2, '原密码校验错误'));
             }
             $res = $userAdminModel->updatePwd($pwd);
             $this->logWriter = $this->logWriter->action(LogsModel::ACT_UPDATE)->called(ltrim(__CLASS__, __NAMESPACE__) . '::' . __FUNCTION__)->exec($userAdminModel->_sql());
             if ($res) {
                 $this->logWriter->ok();
                 //注销
                 Util::setCookie('u', '', -1);
                 exit(Util::response(self::__OK__, '更新密码成功,请重新登录'));
             } else {
                 $this->logWriter->fail();
                 exit(Util::response(self::__ERROR__4, '更新密码失败'));
             }
         } else {
             exit(Util::response(self::__ERROR__3, '该用户不存在'));
         }
     } else {
         $this->pageTitle('修改密码');
         $this->display();
     }
 }
Ejemplo n.º 2
0
 public function edit($id = 0)
 {
     $userModel = D('Useradmin');
     if (IS_POST) {
         $uname = Util::getSafeText(trim(I('post.uname')));
         $userpwd = Util::getSafeText(I('post.passwd'));
         $userrepwd = Util::getSafeText(I('post.repwd'));
         $avatar = Util::getSafeText(I('post.avatar'));
         $group = Util::getSafeText(I('post.group')) ? Util::getSafeText(I('post.group')) : 0;
         $blocked = Util::getSafeText(I('post.blocked'));
         //$expirtime = Util::getSafeText(trim(I('post.expirtime')));
         //$nickname = Util::getSafeText(trim(I('post.nickname')));
         //            if (empty($uname) || empty($userpwd) || empty($userrepwd) || empty($group) || ($userpwd !== $userrepwd)) {
         //                exit(Util::response(self::__ERROR__0, "参数错误!"));
         //            }
         $data = array('uname' => $uname, 'passwd' => Util::genMd5Pwd($userpwd), 'avatar' => $avatar, 'blocked' => $blocked, 'createtime' => time(), 'expirtime' => time() + 100 * 12 * 30 * 24 * 3600);
         if (!$userpwd) {
             unset($data['passwd']);
         }
         $res = $userModel->updateRows($data, intval($id));
         $this->logWriter = $this->logWriter->action(LogsModel::ACT_UPDATE)->called(ltrim(__CLASS__, __NAMESPACE__) . '::' . __FUNCTION__)->exec($userModel->_sql());
         $userAdminModel = D('Useradmin');
         if ($res) {
             $authGroupAccessModel = D('AuthGroupAccess');
             $authGroupAccessModel->updateRows(array('group_id' => $group), array("uid" => intval($id)));
             $userAdminModel->updateUserInfo($id);
             $this->logWriter->ok();
             exit(Util::response(self::__OK__, "修改用户成功!"));
         } else {
             $this->logWriter->fail();
             exit(Util::response(self::__ERROR__2, "修改用户失败!"));
         }
     } else {
         $id = intval(Util::getSafeText(I('get.id')));
         $authGroupModel = D('AuthGroup');
         $groups = $authGroupModel->getAll();
         $this->assign('groups', $groups);
         $authGroupAccessModel = D('AuthGroupAccess');
         $row = $authGroupAccessModel->getRow(array("uid={$id}"));
         $group_id = $row['group_id'];
         $this->assign('groupId', $group_id);
         $map = array("id={$id}");
         $user = $userModel->getRow($map);
         $this->assign('user', $user);
         $this->assign('isEdit', true);
         $this->pageTitle("修改用户");
         $this->display('add');
     }
 }
Ejemplo n.º 3
0
 /**
  * 更改当前用户的密码
  * @param string $newpwd 新密码(明码)
  * @return bool
  */
 public function updatePwd($newpwd)
 {
     $uid = $this->isLogin();
     $user = $this->getUserById($uid);
     //$cacheId = $this->mcPrefix . "uid:{$user['uname']}";
     $uid = $this->isLogin();
     $md5pwd = Util::genMd5Pwd(trim($newpwd));
     $data = array('passwd' => $md5pwd);
     $res = $this->updateRows($data, intval($uid));
     if ($res) {
         $this->mc->delete($this->mcPrefix . $uid);
         return true;
     } else {
         return false;
     }
 }
Ejemplo n.º 4
0
 public function regedit()
 {
     if (IS_POST) {
         $uname = Util::getSafeText(trim(I('post.uname')));
         $userpwd = Util::getSafeText(I('post.passwd'));
         $userrepwd = Util::getSafeText(I('post.repwd'));
         $group = Util::getSafeText(I('post.group'));
         $blocked = Util::getSafeText(I('post.blocked')) ? Util::getSafeText(I('post.blocked')) : 1;
         //$expirtime = Util::getSafeText(trim(I('post.expirtime')));
         //$nickname = Util::getSafeText(trim(I('post.nickname')));
         if (empty($uname) || empty($userpwd) || empty($userrepwd) || $userpwd !== $userrepwd) {
             exit(Util::response(self::__ERROR__0, "参数错误!"));
         }
         $data = array('uname' => $uname, 'passwd' => Util::genMd5Pwd($userpwd), 'blocked' => $blocked, 'createtime' => time(), 'expirtime' => time() + 100 * 12 * 30 * 24 * 3600);
         $userModel = D('Useradmin');
         if ($userModel->where(array('uname' => $uname))->find()) {
             exit(Util::response(self::__ERROR__2, "用户名已存在!"));
         }
         $res = $userModel->addRow($data);
         if ($res) {
             $authGroupAccessModel = D('AuthGroupAccess');
             $authGroupAccessModel->addRow(array('uid' => $res, 'group_id' => $group));
             exit(Util::response(self::__OK__, "注册成功,等待管理员审核!"));
         } else {
             exit(Util::response(self::__ERROR__1, "注册失败!"));
         }
     } else {
         $authGroupModel = D('AuthGroup');
         $groups = $authGroupModel->getAll();
         $this->assign('groups', $groups);
         $this->assign('isEdit', false);
         $this->assign('addAction', U('regedit'));
         $this->display();
     }
 }