Ejemplo n.º 1
0
 public function afterRegister(PwUserInfoDm $userDm)
 {
     if ($this->bp->config['type'] != 2) {
         return false;
     }
     /* @var $inviteDs PwInviteCode */
     $inviteDs = Wekit::load('invite.PwInviteCode');
     if ($this->inviteInfo['created_userid']) {
         $codeDm = new PwInviteCodeDm();
         $codeDm->setInvitedUid($userDm->uid)->setModifiedTime(Pw::getTime())->setIfused(1)->setCode($this->code);
         //别人赠送的邀请码
         $inviteDs->updateCode($codeDm);
         $creditType = $this->bp->config['invite.reward.credit.type'];
         $creditNum = $this->bp->config['invite.reward.credit.num'];
         //邀请人获得加奖励
         //[积分日志] 成功邀请好友积分奖励
         /* @var $creditBo PwCreditBo */
         $creditBo = PwCreditBo::getInstance();
         $creditBo->addLog('invite_reward', array($creditType => $creditNum), new PwUserBo($this->inviteInfo['created_userid']), array('friend' => $userDm->getField('username')));
         $creditBo->set($this->inviteInfo['created_userid'], $creditType, $creditNum);
         //邀请成功相互关注 被邀请者关注邀请者
         /* @var $attention PwAttentionService */
         $attention = Wekit::load('attention.srv.PwAttentionService');
         $attention->addFollow($userDm->uid, $this->inviteInfo['created_userid']);
         //			$attention->addFollow($this->inviteInfo['created_userid'], $userDm->uid);
     } else {
         $codeDm = new PwInviteCodeDm();
         $codeDm->setInvitedUid($userDm->uid)->setIfused(1)->setModifiedTime(Pw::getTime())->setCreateUid($userDm->uid)->setCode($this->code);
         //自己购买的邀请码
         $inviteDs->updateCode($codeDm);
     }
     return true;
 }
Ejemplo n.º 2
0
 public function gainReward($uid, $reward, $taskname)
 {
     $userBo = Wekit::getLoginUser();
     list($id) = explode('-', $reward['value'], 2);
     $time = abs(intval($reward['time']));
     /* @var $userBelongDs PwUserBelong */
     $userBelongDs = Wekit::load('user.PwUserBelong');
     $info = $userBelongDs->getUserBelongs($uid);
     $_groups = array();
     foreach ($info as $_item) {
         $_groups[$_item['gid']] = $_item['endtime'];
     }
     $_groups[$id] = $time ? Pw::getTime() + 24 * 3600 * $time : 0;
     /* @var $userService PwUserService */
     $userService = Wekit::load('user.srv.PwUserService');
     list($gid, $groups) = $userService->caculateUserGroupid($userBo->gid, $_groups);
     $dm = new PwUserInfoDm($uid);
     $dm->setGroupid($gid)->setGroups($groups);
     /* @var $userDs PwUser */
     $userDs = Wekit::load('user.PwUser');
     $result = $userDs->editUser($dm, PwUser::FETCH_MAIN);
     if ($result instanceof PwError) {
         return $result;
     }
     return true;
 }
 public function afterRegister(PwUserInfoDm $userDm)
 {
     Wind::import('SRV:site.dm.PwBbsinfoDm');
     $dm = new PwBbsinfoDm();
     $dm->setNewmember($userDm->getField('username'))->addTotalmember(1);
     Wekit::load('site.PwBbsinfo')->updateInfo($dm);
     return true;
 }
Ejemplo n.º 4
0
 public function run($ids)
 {
     if ($this->record) {
         foreach ($this->record as $key => $value) {
             $dm = new PwUserInfoDm($key);
             $dm->addPostnum(-$value);
             Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA);
         }
         PwCreditBo::getInstance()->execute();
     }
 }
Ejemplo n.º 5
0
 public function checkVerify($check)
 {
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($check['uid']);
     $data = $check['data'] ? unserialize($check['data']) : array();
     if (!$data['realname']) {
         return false;
     }
     $dm->setRealname($data['realname']);
     Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN);
     return true;
 }
Ejemplo n.º 6
0
 /**
  * 编辑用户信息
  *
  * @param PwUserInfoDm $dm
  * @return boolean|PwError
  */
 public function editUser($dm)
 {
     $belongs = $dm->getUserBelongs();
     if ($belongs === null) {
         return true;
     }
     /* @var $belongDs PwUserBelong */
     $belongDs = Wekit::load('user.PwUserBelong');
     if (!$belongs) {
         return $belongDs->deleteByUid($dm->uid);
     }
     return $belongDs->update($dm->uid, $belongs);
 }
Ejemplo n.º 7
0
 /**
  * 设置安全问题
  */
 public function dosetQAction()
 {
     list($oldPwd, $question, $answer) = $this->getInput(array('oldPwd', 'question', 'answer'), 'post');
     if (!$oldPwd) {
         $this->showError('USER:pwd.error');
     }
     $userDm = new PwUserInfoDm($this->loginUser->uid);
     $userDm->setOldPwd($oldPwd);
     switch ($question) {
         case -2:
             //取消安全问题和答案
         //取消安全问题和答案
         case -3:
             //无安全问题
             $question = $answer = '';
             $userDm->setQuestion('', '');
             break;
         case -4:
             //自定义安全问题
             $myquestion = $this->getInput('myquestion', 'post');
             if (!$myquestion || !$answer) {
                 $this->showError('USER:login.question.setting');
             }
             $userDm->setQuestion($myquestion, $answer);
             break;
         case -1:
             //不修改安全问题和答案
             //				$this->showMessage('USER:pwd.change.success', 'profile/password/question');
             break;
         default:
             if (!$answer) {
                 $this->showError('USER:login.question.setting.answer.require');
             }
             $userDm->setQuestion($question, $answer);
             break;
     }
     /* @var $userService PwUserService */
     $userService = Wekit::load('user.srv.PwUserService');
     //如果该用户必须设置安全问题
     if ($userService->mustSettingSafeQuestion($this->loginUser->uid)) {
         if (!$question || $question == -1 && !$userService->isSetSafecv()) {
             $this->showError('USER:user.error.safequestion.need');
         }
     }
     /* @var $userDs PwUser */
     $userDs = Wekit::load('user.PwUser');
     if (($result = $userDs->editUser($userDm, PwUser::FETCH_MAIN)) instanceof PwError) {
         $this->showError($result->getError());
     }
     $this->showMessage('USER:login.question.setting.success', 'profile/password/question');
 }
Ejemplo n.º 8
0
 /**
  * update the user info about thread 
  * 
  * @param  array $ids [description]
  * @return boid
  */
 public function run($ids)
 {
     if ($this->recode) {
         foreach ($this->recode as $key => $value) {
             $dm = new PwUserInfoDm($key);
             $dm->addPostnum(-$value['postnum']);
             if ($value['digest']) {
                 $dm->addDigest(-$value['digest']);
             }
             Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA);
         }
         if ($this->operatorCredit) {
             PwCreditBo::getInstance()->execute();
         }
     }
 }
 protected function _check(PwUserInfoDm $userDm)
 {
     if (!$userDm->uid) {
         return false;
     }
     $config = Wekit::C('register');
     if (!$config['active.phone']) {
         return false;
     }
     $mobile = $userDm->getField('mobile');
     $mobileCode = $userDm->getField('mobileCode');
     if (($mobileCheck = Wekit::load('mobile.srv.PwMobileService')->checkVerify($mobile, $mobileCode)) instanceof PwError) {
         return false;
     }
     return true;
 }
 public function beforeLogout(PwUserBo $bo)
 {
     if (!$bo->isExists()) {
         return true;
     }
     $onlineTime = intval(Wekit::C('site', 'onlinetime'));
     if ($onlineTime <= 0) {
         return true;
     }
     $newLastVisit = $bo->info['lastvisit'] - $onlineTime * 60;
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($bo->uid);
     $dm->setLastvisit($newLastVisit);
     /* @var $userDs PwUser */
     $userDs = Wekit::load('user.PwUser');
     $userDs->editUser($dm, PwUser::FETCH_DATA);
     return true;
 }
Ejemplo n.º 11
0
 /**
  * @param PwUserInfoDm $dm
  */
 public function doPunch($dm)
 {
     if (!Wekit::C('site', 'task.isOpen')) {
         return true;
     }
     $punchData = @unserialize($dm->getField('punch'));
     if (!$punchData || !is_array($punchData)) {
         return false;
     }
     /* @var $bo PwUserBo */
     $bo = Wekit::getLoginUser();
     //帮别人打卡不算完成任务
     if ($dm->uid != $bo->uid) {
         return false;
     }
     $bp = new PwTaskComplete($bo->uid, $this);
     $bp->doTask('member', 'punch');
 }
Ejemplo n.º 12
0
 public function deleteBan($uid)
 {
     /* @var $userDs PwUser */
     $userDs = Wekit::load('SRV:user.PwUser');
     $info = $userDs->getUserByUid($uid, PwUser::FETCH_MAIN);
     if (!Pw::getstatus($info['status'], PwUser::STATUS_BAN_SIGN)) {
         return $info['status'];
     }
     //已经解禁不需要再次更改
     $userDm = new PwUserInfoDm($uid);
     $userDm->setBanSign(false);
     //		->setBbsSign('')
     /* @var $userDs PwUser */
     $userDs = Wekit::load('SRV:user.PwUser');
     $userDs->editUser($userDm, PwUser::FETCH_MAIN | PwUser::FETCH_INFO);
     $s = 1 << PwUser::STATUS_BAN_SIGN - 1;
     return intval($info['status'] - $s);
 }
Ejemplo n.º 13
0
 public function deleteBan($uid)
 {
     if (!$uid) {
         return false;
     }
     $userDm = new PwUserInfoDm($uid);
     $userDm->setGroupid(0)->setGroups(array());
     /* @var $groupService PwUserGroupsService */
     $groupService = Wekit::load('usergroup.srv.PwUserGroupsService');
     $strategy = Wekit::C('site', 'upgradestrategy');
     $_credit = $this->_getUserDs()->getUserByUid($uid, PwUser::FETCH_DATA);
     $credit = $groupService->calculateCredit($strategy, $_credit);
     $memberid = $groupService->calculateLevel($credit, 'member');
     $userDm->setMemberid($memberid);
     /* @var $userDs PwUser */
     $userDs = Wekit::load('SRV:user.PwUser');
     $userDs->editUser($userDm, PwUser::FETCH_MAIN);
     return $memberid;
 }
Ejemplo n.º 14
0
 /**
  * 全局积分变动,请求及清理
  */
 public function showcreditAction()
 {
     if (!$this->loginUser->isExists()) {
         $this->showError("login.not");
     }
     $log = $this->loginUser->info['last_credit_affect_log'];
     if ($log) {
         Wind::import('SRV:user.dm.PwUserInfoDm');
         $dm = new PwUserInfoDm($this->loginUser->uid);
         $dm->setLastCreditAffectLog('');
         /* @var $userDs PwUser */
         $userDs = Wekit::load('user.PwUser');
         $userDs->editUser($dm, PwUser::FETCH_DATA);
         $_log = unserialize($log);
         $log = array('name' => $_log[0], 'credit' => $_log[1]);
     }
     $this->setOutput($log, 'data');
     $this->showMessage();
 }
Ejemplo n.º 15
0
 /**
  * 根据版主名单更新数据<1.pw_user_belong 2.pw_user中的groups字段>
  *
  * @param array $manager 所有的版主名单
  */
 public function updateManager($manager)
 {
     $newManager = Wekit::load('user.PwUser')->fetchUserByName($manager);
     $uids = array_keys(Wekit::load('user.PwUserBelong')->getUserByGid(5));
     $oldManager = Wekit::load('user.PwUser')->fetchUserByUid($uids);
     if (!$newManager && !$oldManager) {
         return;
     }
     $newUids = array_keys($newManager);
     $oldUids = array_keys($oldManager);
     $add = array_diff($newUids, $oldUids);
     $del = array_diff($oldUids, $newUids);
     if (!$add && !$del) {
         return;
     }
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $belongs = $this->getBelongs(array_merge($add, $del));
     foreach ($add as $uid) {
         $dm = new PwUserInfoDm($uid);
         $belong = isset($belongs[$uid]) ? $belongs[$uid] : array();
         if ($newManager[$uid]['groupid']) {
             $belong[5] = 0;
             $dm->setGroupid($newManager[$uid]['groupid']);
         } else {
             $dm->setGroupid(5);
         }
         $dm->setGroups($belong);
         Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN);
     }
     foreach ($del as $uid) {
         $dm = new PwUserInfoDm($uid);
         $belong = isset($belongs[$uid]) ? $belongs[$uid] : array();
         unset($belong[5]);
         if ($oldManager[$uid]['groupid'] == 5) {
             $dm->setGroupid(0);
         } else {
             $dm->setGroupid($oldManager[$uid]['groupid']);
         }
         $dm->setGroups($belong);
         Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN);
     }
 }
Ejemplo n.º 16
0
 public function deleteBan($uid)
 {
     /* @var $userDs PwUser */
     $userDs = Wekit::load('SRV:user.PwUser');
     $info = $userDs->getUserByUid($uid, PwUser::FETCH_MAIN);
     if (!Pw::getstatus($info['status'], PwUser::STATUS_BAN_AVATAR)) {
         return $info['status'];
     }
     //已经解禁不需要再次更改
     $userDm = new PwUserInfoDm($uid);
     $userDm->setBanAvatar(false);
     /* @var $userDs PwUser */
     $userDs = Wekit::load('SRV:user.PwUser');
     $userDs->editUser($userDm, PwUser::FETCH_MAIN);
     /* @var $userSrv PwUserService */
     $userSrv = Wekit::load('SRV:user.srv.PwUserService');
     $userSrv->restoreDefualtAvatar($uid);
     $p = 1 << PwUser::STATUS_BAN_AVATAR - 1;
     return intval($info['status'] - $p);
 }
Ejemplo n.º 17
0
 public function welcome(PwUserBo $userBo, $ip)
 {
     if (0 != $userBo->info['groupid'] || $userBo->info['groups']) {
         /* @var $_userBelong PwUserBelong */
         $_userBelong = Wekit::load('user.PwUserBelong');
         $belongs = $_userBelong->getUserBelongs($userBo->uid);
         $_groups = array();
         $gid = 0;
         foreach ($belongs as $_gid => $_item) {
             $_groups[$_gid] = $_item['endtime'];
         }
         if ($_groups) {
             /* @var $userService PwUserService */
             $userService = Wekit::load('user.srv.PwUserService');
             list($gid, $_groups) = $userService->caculateUserGroupid($userBo->info['groupid'], $_groups);
         }
         $dm = new PwUserInfoDm($userBo->uid);
         $dm->setGroupid($gid)->setGroups($_groups);
         Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_MAIN);
     }
     return true;
 }
Ejemplo n.º 18
0
 public function dorunAction()
 {
     $_array = array();
     $model = $this->getProfileMenu();
     unset($model['profile'], $model['contact'], $model['tag']);
     if (count($model) > 1) {
         $post = array_keys($model);
     }
     $array = array('space', 'constellation', 'local', 'nation', 'aliwangwang', 'qq', 'msn', 'mobile');
     $array = array_merge($array, $post);
     foreach ($array as $value) {
         $_array[$value] = (int) $this->getInput($value, 'post');
     }
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($this->loginUser->uid);
     $dm->setSecret($_array);
     $resource = Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_INFO);
     if ($resource instanceof PwError) {
         $this->showError($resource->getError());
     }
     $this->showMessage("MEDAL:success");
 }
Ejemplo n.º 19
0
 public function registerTmpUser($from = 1, $key = '')
 {
     //need to check if registered user exists or not
     if (empty($key) == false) {
         //if has key, then check if this key has user or not
         $tmpFound = $this->getbyKey($from, $key);
         if (empty($tmpFound) == false) {
             //if has user info, then return user's information
             $userid = $tmpFound['userid'];
             return Windid::load('user.WindidUser')->getUserByUid($userid, WindidUser::FETCH_MAIN);
         }
     }
     Wind::import('SRC:service.user.dm.PwUserInfoDm');
     $userDm = new PwUserInfoDm();
     $password = substr(md5(rand() . '123456'), 0, 15);
     //order number: 13 number and 3 random number
     $currentTimeStamp = strtotime("+0 day");
     $prefix = 'tmp';
     if ($from == 1) {
         $prefix = 'web';
     } else {
         if ($from == 2) {
             $prefix = 'app';
         } else {
             if ($from == 3) {
                 $prefix = 'wx';
             }
         }
     }
     $username = $prefix . rand(10, 99) . $currentTimeStamp;
     $userDm->setUsername($username);
     $userDm->setPassword($password);
     $userDm->setRegdate(Pw::getTime());
     $userDm->setLastvisit(Pw::getTime());
     $userDm->setRegip(Wekit::app()->clientIp);
     Wind::import('SRV:user.srv.PwRegisterService');
     Wind::import('APPS:u.service.helper.PwUserHelper');
     Wind::import('SRV:user.validator.PwUserValidator');
     Wind::import('Wind:utility.WindValidator');
     Wind::import('SRV:user.srv.PwLoginService');
     $registerService = new PwRegisterService();
     $registerService->setUserDm($userDm);
     $info = $registerService->register();
     $userService = Wekit::load('user.srv.PwUserService');
     $userService->updateLastLoginData($info['uid'], Wekit::app()->clientIp);
     $userService->createIdentity($info['uid'], $password);
     $dm = new App_Tmpuser_Dm();
     $dm->setUserId($info['uid']);
     $dm->setFrom($from);
     $dm->setKey($key);
     $this->add($dm);
     return $info;
 }
 public function setUser($username, $password, $email, $groupid = 3, $uid = 0)
 {
     if (!$email) {
         return new PwError('ADMIN:founder.edit.fail.email.empty');
     }
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $userDm = new PwUserInfoDm($uid);
     $userDm->setEmail($email);
     $userDm->setGroupid($groupid);
     $password && $userDm->setPassword($password);
     if (!$uid) {
         $userDm->setUsername($username);
         return $this->loadUser()->addUser($userDm);
     } else {
         return $this->loadUser()->editUser($userDm);
     }
 }
Ejemplo n.º 21
0
 public function setUser($username, $password, $email, $groupid = 3, $uid = 0)
 {
     if (!$email) {
         return new PwError('ADMIN:founder.edit.fail.email.empty');
     }
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $userDm = new PwUserInfoDm($uid);
     $userDm->setUsername($username);
     $userDm->setEmail($email);
     $userDm->setGroupid($groupid);
     $password && $userDm->setPassword($password);
     if (!$uid) {
         $uid = $this->loadUser()->addUser($userDm);
         //默认头像处理 windid处理
         //Wekit::load('SRV:user.srv.PwUserService')->restoreDefualtAvatar($uid);
         return $uid;
     } else {
         return $this->loadUser()->editUser($userDm);
     }
 }
Ejemplo n.º 22
0
 public function writeLog()
 {
     if (!empty($this->_log)) {
         Wekit::load('credit.PwCreditLog')->batchAdd($this->_log);
     }
     if (!empty($this->_num)) {
         $tmp = array();
         $t = Pw::getTime();
         foreach ($this->_num as $uid => $ops) {
             foreach ($ops as $op => $n) {
                 $tmp[] = array($uid, $op, $n, $t);
             }
         }
         Wekit::load('credit.PwCreditLog')->batchAddOperate($tmp);
     }
     //TODO 记录用户的积分变动情况--用户表字段last_credit_affect_log
     if (!empty($this->_userLog)) {
         /* @var $userDs PwUser */
         $userDs = Wekit::load('user.PwUser');
         Wind::import('SRV:user.dm.PwUserInfoDm');
         foreach ($this->_userLog as $_uid => $_log) {
             $_dm = new PwUserInfoDm($_uid);
             $_dm->setLastCreditAffectLog(serialize($_log));
             $userDs->editUser($_dm, PwUser::FETCH_DATA);
         }
     }
     $this->_userLog = array();
     $this->_log = array();
     $this->_num = array();
 }
Ejemplo n.º 23
0
 public function updateCountOnlineTime($uid, $startTime, $endTime)
 {
     $onlineTime = (int) $endTime - (int) $startTime;
     $uid = (int) $uid;
     if ($uid < 0) {
         return false;
     }
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $userDm = new PwUserInfoDm($uid);
     $userDm->setOnline($onlineTime);
     $ds = Wekit::load('user.PwUser');
     $ds->editUser($userDm, PwUser::FETCH_DATA);
 }
Ejemplo n.º 24
0
 /**
  * 更新用户表未读消息计数
  *
  * @param int $uid
  * @param int $num
  * @return void
  */
 private function _updateMessageCount($uid, $num)
 {
     //更新用户表未读数
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $user = Wekit::load('user.PwUser');
     $dm = new PwUserInfoDm($uid);
     $dm->addMessages($num);
     $user->editUser($dm, PwUser::FETCH_DATA);
 }
Ejemplo n.º 25
0
 /**
  * 过滤用户DM同时设置用户的相关信息
  * 
  * @param PwUserInfoDm $userDm
  * @param array $hasCredit
  * @return PwUserInfoDm
  */
 protected function filterUserDm(PwUserInfoDm $userDm, $hasCredit = array())
 {
     //如果开启邮箱激活,则设置该状态为0,否则设置该状态为1
     $_uncheckGid = false;
     if ($this->config['active.mail']) {
         $userDm->setUnactive(true);
         $_uncheckGid = true;
     }
     //如果开启审核,则设置该状态为0,否则设置该状态为1
     if ($this->config['active.check']) {
         $userDm->setUncheck(true);
         $_uncheckGid = true;
     }
     //【用户注册】未验证用户组
     if ($_uncheckGid) {
         $userDm->setGroupid(7);
         $userDm->setGroups(array());
     }
     $_credit = $this->_getRegisterAddCredit($hasCredit);
     //【用户注册】计算memberid
     /* @var $groupService PwUserGroupsService */
     $groupService = Wekit::load('usergroup.srv.PwUserGroupsService');
     $credit = $groupService->calculateCredit(Wekit::C('site', 'upgradestrategy'), $_credit);
     $memberid = $groupService->calculateLevel($credit);
     $userDm->setMemberid($memberid);
     return $userDm;
 }
Ejemplo n.º 26
0
 /**
  * 更新用户勋章统计
  * 
  * @param int $uid
  */
 public function updateMedalUser($uid)
 {
     $expireds = $medalids = array();
     $time = Pw::getTime();
     $logs = $this->_getMedalLogDs()->getInfoListByUidStatus($uid, 4);
     foreach ($logs as $log) {
         if ($log['expired_time'] > 0 && $log['expired_time'] < $time) {
             $this->_getMedalLogDs()->deleteInfo($log['log_id']);
             $this->sendNotice($uid, $log['log_id'], $log['medal_id'], 5);
         } else {
             $medalids[] = $log['medal_id'];
             $log['expired_time'] > 0 && ($expireds[] = $log['expired_time']);
             //$expired = $expired < $log['expired_time'] ? $log['expired_time'] : $expired;
         }
     }
     $expireds = array_filter($expireds);
     sort($expireds, SORT_NUMERIC);
     $expired = array_shift($expireds);
     /*user_data冗余*/
     $dm = Wind::import('SRV:user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($uid);
     $dm->setMedalIds($medalids);
     Wekit::load('user.PwUser')->editUser($dm, PwUser::FETCH_DATA);
     /*end*/
     $dm = Wind::import('SRV:medal.dm.PwMedalUserDm');
     $dm = new PwMedalUserDm($uid);
     $dm->setMedals($medalids)->setCounts(count($medalids))->setExpiredTime($expired);
     return $this->_getMedalUserDs()->replaceInfo($dm);
 }
Ejemplo n.º 27
0
 /**
  * 重置密码
  */
 public function doresetpwdAction()
 {
     if ($this->getInput('step', 'post') == 'end') {
         list($userInfo, $value, $type) = $this->checkState();
         list($password, $repassword) = $this->getInput(array('password', 'repassword'), 'post');
         if ($password != $repassword) {
             $this->showError('USER:user.error.-20');
         }
         $userDm = new PwUserInfoDm($userInfo['uid']);
         $userDm->setUsername($userInfo['username']);
         $userDm->setPassword($password);
         $userDm->setQuestion('', '');
         /* @var $userDs PwUser */
         $userDs = Wekit::load('user.PwUser');
         $result = $userDs->editUser($userDm, PwUser::FETCH_MAIN);
         if ($result instanceof PwError) {
             $this->showError($result->getError());
         } else {
             //检查找回密码次数及更新
             $findPasswordBp = new PwFindPassword($userInfo['username']);
             $findPasswordBp->success($type);
         }
         $this->showMessage('USER:findpwd.success', 'u/login/run?backurl=' . WindUrlHelper::createUrl('bbs/index/run'));
     }
 }
Ejemplo n.º 28
0
 /** 
  * 批量激活用户
  *
  */
 public function doactiveAction()
 {
     $uids = $this->getInput('uid', 'post');
     if (!$uids) {
         $this->showError('operate.select');
     }
     /* @var $userDs PwUser */
     $userDs = Wekit::load('user.PwUser');
     $infos = $userDs->fetchUserByUid($uids, PwUser::FETCH_MAIN);
     /* @var $groupService PwUserGroupsService */
     $groupService = Wekit::load('usergroup.srv.PwUserGroupsService');
     $strategy = Wekit::C('site', 'upgradestrategy');
     $clearUid = array();
     foreach ($infos as $_temp) {
         $clearUid[] = $_temp['uid'];
         if (Pw::getstatus($_temp['status'], PwUser::STATUS_UNACTIVE)) {
             $userDm = new PwUserInfoDm($_temp['uid']);
             $userDm->setUnactive(false);
             if (!Pw::getstatus($_temp['status'], PwUser::STATUS_UNCHECK)) {
                 $userDm->setGroupid(0);
                 $_credit = $userDs->getUserByUid($_temp['uid'], PwUser::FETCH_DATA);
                 $credit = $groupService->calculateCredit($strategy, $_credit);
                 $memberid = $groupService->calculateLevel($credit, 'member');
                 $userDm->setMemberid($memberid);
             }
             $userDs->editUser($userDm, PwUser::FETCH_MAIN);
         }
     }
     $this->_getDs()->batchActiveUser($clearUid);
     $this->showMessage('operate.success');
 }
Ejemplo n.º 29
0
 /** 
  * 打卡 - 更新用户数据
  *
  * @param int $uid 	
  * @return bool
  */
 private function _punchBehavior($userInfo, $awardNum, $behaviorNum = '')
 {
     $reward = $this->config['punch.reward'];
     $punchData = array('username' => $this->loginUser->username, 'time' => Pw::getTime(), 'cNum' => $awardNum, 'cUnit' => $this->_creditBo->cUnit[$reward['type']], 'cType' => $this->_creditBo->cType[$reward['type']], 'days' => $behaviorNum);
     // 更新用户data表信息
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($userInfo['uid']);
     $dm->setPunch($punchData);
     $this->_getUserDs()->editUser($dm, PwUser::FETCH_DATA);
     //埋点[s_punch]
     PwSimpleHook::getInstance('punch')->runDo($dm);
     //记录行为
     return $this->_getUserBehaviorDs()->replaceBehavior($userInfo['uid'], 'punch_day', $punchData['time']);
 }
Ejemplo n.º 30
0
 /**
  * 根据uid删除通知
  * 
  * @param int $uid
  * @param bool
  */
 public function deleteNoticeByUid($uid)
 {
     $this->_getNoticesDs()->deleteNoticeByUid($uid);
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $user = Wekit::load('user.PwUser');
     $dm = new PwUserInfoDm($uid);
     $dm->setNoticeCount(0);
     $user->editUser($dm, PwUser::FETCH_DATA);
 }