/** * 添加用户 * * @param PwUserInfoDm $dm 用户信息DM * @param int $type 添加表 * @return int|PwError */ public function addUser(PwUserInfoDm $dm) { if (true !== ($result = $dm->beforeAdd())) { return $result; } if (($uid = $this->_getWindid()->addDmUser($dm->dm)) < 1) { return new PwError('WINDID:code.' . $uid); } $dm->setUid($uid); $this->_getDao(self::FETCH_ALL)->addUser($dm->getSetData()); PwSimpleHook::getInstance('PwUser_add')->runDo($dm); return $uid; }
/** * 创建创始人 * * @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; }