示例#1
0
 /**
  * 更新论坛信息
  *
  * @param object $dm 更新信息
  * @return bool
  */
 public function updateInfo(PwBbsinfoDm $dm)
 {
     if (($result = $dm->beforeUpdate()) !== true) {
         return $result;
     }
     return $this->_getDao()->update($dm->id, $dm->getData(), $dm->getIncreaseData());
 }
 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;
 }
 public function run($cronId)
 {
     $srv = Wekit::load('forum.PwForum');
     $all = $srv->getForumList(PwForum::FETCH_MAIN | PwForum::FETCH_STATISTICS);
     $ypost = 0;
     foreach ($all as $value) {
         if ($value['type'] == 'category') {
             $ypost += $value['todayposts'];
         }
     }
     $bbsinfo = Wekit::load('site.PwBbsinfo')->getInfo(1);
     $dm = new PwBbsinfoDm();
     $dm->setYposts($ypost);
     if ($ypost > $bbsinfo['hposts']) {
         $dm->setHposts($ypost);
     }
     Wekit::load('site.PwBbsinfo')->updateInfo($dm);
     $dm = new PwForumDm(true);
     $dm->setTodayPosts(0);
     $srv->batchUpdateForum(array_keys($all), $dm, PwForum::FETCH_STATISTICS);
 }
示例#4
0
 /** 
  * 添加用户
  * 
  * @return void
  */
 public function addAction()
 {
     if ($this->getInput('type', 'post') === 'do') {
         Wind::import('SRC:service.user.dm.PwUserInfoDm');
         $dm = new PwUserInfoDm();
         $dm->setUsername($this->getInput('username', 'post'))->setPassword($this->getInput('password', 'post'))->setEmail($this->getInput('email', 'post'))->setRegdate(Pw::getTime())->setRegip($this->getRequest()->getClientIp());
         $groupid = $this->getInput('groupid', 'post');
         $dm->setGroupid($groupid);
         if ($groupid != 0) {
             // 默认组不保存到groups
             /* @var $groupDs PwUserGroups */
             $groupDs = Wekit::load('usergroup.PwUserGroups');
             $groups = $groupDs->getGroupsByType('default');
             if (!in_array($groupid, array_keys($groups))) {
                 $dm->setGroups(array($groupid => 0));
             }
         }
         /* @var $groupService PwUserGroupsService */
         $groupService = Wekit::load('usergroup.srv.PwUserGroupsService');
         $memberid = $groupService->calculateLevel(0);
         $dm->setMemberid($memberid);
         $result = Wekit::load('user.PwUser')->addUser($dm);
         if ($result instanceof PwError) {
             $this->showError($result->getError());
         }
         //添加站点统计信息
         Wind::import('SRV:site.dm.PwBbsinfoDm');
         $bbsDm = new PwBbsinfoDm();
         $bbsDm->setNewmember($dm->getField('username'))->addTotalmember(1);
         Wekit::load('site.PwBbsinfo')->updateInfo($bbsDm);
         //Wekit::load('user.srv.PwUserService')->restoreDefualtAvatar($result);
         $this->showMessage('USER:add.success');
     }
     /* @var $groupDs PwUserGroups */
     $groupDs = Wekit::load('usergroup.PwUserGroups');
     $groups = $groupDs->getClassifiedGroups();
     unset($groups['system'][5]);
     //排除“版主”
     $result = array_merge($groups['special'], $groups['system']);
     $this->setOutput($result, 'groups');
 }
示例#5
0
 /**
  * 创建创始人
  *
  * @param string $manager
  * @param string $manager_pwd
  * @param string $manager_email
  * @return PwError
  */
 private function _writeFounder($manager, $manager_pwd, $manager_email)
 {
     Wekit::C()->reload('windid');
     Wind::import('SRV:user.dm.PwUserInfoDm');
     $data = array($manager => md5($manager_pwd));
     WindFile::savePhpData($this->_getFounderFile(), $data);
     //TODO 创始人添加:用户的配置信息先更新。添加完之后再更新回 开始
     $config = new PwConfigSet('register');
     $config->set('security.username.max', 15)->set('security.ban.username', '')->set('security.username.min', 1)->set('security.password.max', 25)->set('security.password.min', 1)->flush();
     Wind::import('WINDID:service.config.srv.WindidConfigSet');
     $windidConfig = new WindidConfigSet('reg');
     $windidConfig->set('security.ban.username', '')->set('security.password.max', 25)->set('security.password.min', 1)->set('security.username.max', 15)->set('security.username.min', 1)->flush();
     Wekit::C()->reload('register');
     WindidApi::C()->reload('reg');
     //TODO结束
     $userDm = new PwUserInfoDm();
     $userDm->setUsername($manager)->setPassword($manager_pwd)->setEmail($manager_email)->setGroupid(3)->setRegdate(Pw::getTime())->setLastvisit(Pw::getTime())->setRegip(Wind::getApp()->getRequest()->getClientIp())->setGroups(array('3' => '0'));
     //特殊操作  gao.wanggao
     if (true !== ($result = $userDm->beforeAdd())) {
         $this->showError($result->getError());
     }
     if (($uid = Wekit::load('WSRV:user.WindidUser')->addUser($userDm->dm)) < 1) {
         $this->showError('WINDID:code.' . $uid);
     }
     $userDm->setUid($uid);
     Wind::import('SRV:user.PwUser');
     $daoMap = array();
     $daoMap[PwUser::FETCH_MAIN] = 'user.dao.PwUserDao';
     $daoMap[PwUser::FETCH_DATA] = 'user.dao.PwUserDataDao';
     $daoMap[PwUser::FETCH_INFO] = 'user.dao.PwUserInfoDao';
     Wekit::loadDaoFromMap(PwUser::FETCH_ALL, $daoMap, 'PwUser')->addUser($userDm->getSetData());
     //特殊操作
     //$uid = Wekit::load('user.PwUser')->addUser($userDm);
     //TODO 创始人添加完成:恢复默认数据:开始
     $config = new PwConfigSet('register');
     $config->set('security.username.max', 15)->set('security.ban.username', '创始人,管理员,版主,斑竹,admin')->set('security.username.min', 3)->set('security.password.max', 15)->set('security.password.min', 6)->flush();
     $windidConfig = new WindidConfigSet('reg');
     $windidConfig->set('security.ban.username', '创始人,管理员,版主,斑竹,admin')->set('security.password.max', 15)->set('security.password.min', 6)->set('security.username.max', 15)->set('security.username.min', 3)->flush();
     //TODO 结束
     if ($uid instanceof PwError) {
         $this->showError($uid->getError());
     }
     Wekit::load('user.PwUserBelong')->update($uid, array(3 => 0));
     //特殊操作  gao.wanggao
     $this->_defaultAvatar($uid);
     $this->_defaultAvatar(0);
     //特殊操作
     //Wekit::load('user.srv.PwUserService')->restoreDefualtAvatar($uid);//用户的默认头像需要设置
     //Wekit::load('user.srv.PwUserService')->restoreDefualtAvatar(0);//游客的默认头像需要设置
     //站点统计信息
     Wind::import('SRV:site.dm.PwBbsinfoDm');
     $dm = new PwBbsinfoDm();
     $dm->setNewmember($manager)->addTotalmember(1);
     Wekit::load('site.PwBbsinfo')->updateInfo($dm);
     return $uid;
 }
示例#6
0
 /**
  * 更新论坛信息
  *
  * @param stirng $username
  */
 private function updateBbsinfo($username)
 {
     Wind::import('SRV:site.dm.PwBbsinfoDm');
     $dm = new PwBbsinfoDm();
     $dm->setNewmember($username)->addTotalmember(1);
     Wekit::load('site.PwBbsinfo')->updateInfo($dm);
 }