/** * 添加用户 */ public function actionCreateUser() { $model = new Service(); $model->setScenario('signup'); if ($model->load($params = Yii::$app->request->post()) && $model->save()) { $role = $params['Service']['roles'] ?: 'service'; $auth = Yii::$app->authManager; $authorRole = $auth->getRole($role); $auth->assign($authorRole, $model->service_id); Yii::$app->session->setFlash('success', '用户添加成功'); return $this->redirect(['user']); } $model->roles = AuthItem::DEFAULT_ROLE; return $this->render('user-update', ['model' => $model, 'roles' => ArrayHelper::map(Yii::$app->authManager->getRoles(), 'name', 'name')]); }
/** * undocumented function * * @return void * @author **/ public function actionSignup() { if (Yii::$app->user->getIsGuest()) { $model = new Service(); $mConfig = new Config(); $signup_status = 'invite'; switch ($mConfig->getConfigValue(Config::SIGNUP_STATUS)) { //注册状态 case Config::SIGNUP_OPEN: $signup_status = 'signup'; break; case Config::SIGNUP_INVITE: $signup_status = 'invite'; break; default: Yii::$app->session->setFlash('error', '已关闭注册!'); return $this->redirect('signin'); break; } $model->setScenario($signup_status); if ($model->load($params = Yii::$app->request->post()) && $model->save()) { //邀请码处理 $serviceInfo = $params['Service']; if (isset($serviceInfo['invite']) && $serviceInfo['invite']) { $mInvite = Invite::findOne(['invite_code' => $serviceInfo['invite'] ?: NUll]); $invite['Invite'] = ['invite_service_id' => $model->service_id, 'invite_username' => $model->service_username, 'invite_mobile' => $model->service_mobile, 'invite_active' => 1, 'updated_at' => time()]; $mInvite->load($invite); $mInvite->save(); } //注册成功默认角色 $auth = Yii::$app->authManager; $authorRole = $auth->getRole('service'); $auth->assign($authorRole, $model->service_id); Yii::$app->session->setFlash('success', '您已成功注册,请登录!'); return $this->redirect('signin'); } else { return $this->render('signup', ['model' => $model, 'signup_status' => $signup_status]); } } else { return $this->redirect(['admin/index']); } }