/** * Save profile form. * * @param User $user * @param array $values */ public function saveUser(User $user, array $values) { $user->setName($values['name']); // change password? if (strlen($values['password'])) { $user->setPlainPassword($values['password']); $this->addMessage('Password has been changed.', self::MSG_SUCCESS); $user->setLoggedIn(); } $user->save(); }
public function actionInit() { $model = new InstallInfoForm(); $mailer = new MailerForm(); if (isset($_POST['InstallInfoForm']) && isset($_POST['MailerForm'])) { $model->attributes = $_POST['InstallInfoForm']; $siteForm = new SiteForm(); $siteForm->name = $model->name; $siteForm->subTitle = $model->subTitle; $siteForm->saveSetting(); $user = new User(); $user->email = $model->adminEmail; $user->setPlainPassword($model->adminPassword); $user->save(); $userInfo = new UserInfo(); $userInfo->name = $model->adminName; $userInfo->id = $user->getPrimaryKey(); $userInfo->email = $user->email; $userInfo->bio = $model->adminBio; $userInfo->isAdmin = 1; // $userInfo->roles = "superAdmin,admin,teacher"; $userInfo->status = "ok"; $userInfo->addTime = time(); $userInfo->introduction = "admin"; $mailer->attributes = $_POST['MailerForm']; if ($userInfo->save() && $mailer->saveSetting()) { $auth = Yii::app()->authManager; $auth->createRole('admin'); $auth->createRole('teacher'); $userInfo->roles = array('admin', 'teacher'); $this->setNav(); $this->setCarousel(); Yii::app()->user->setFlash('success', '系统初始化成功!'); $this->redirect(array('finish')); } } $this->render('init', array('model' => $model, 'mailer' => $mailer)); }
/** * Save user. * * @param User $user * @param Curry_Form_ModelForm $form */ protected function saveUser(User $user, Curry_Form_ModelForm $form) { $values = $form->getValues(); $password = $values['password']; if ($password || $user->isNew()) { $user->setPlainPassword($password); } $form->removeElement('password'); $form->fillModel($user); $user->save(); $home = self::getUserHome($user, true); if ($values['create_home_folder']) { $folder = Curry_Core::$config->curry->wwwPath . DIRECTORY_SEPARATOR; $folder .= str_replace('/', DIRECTORY_SEPARATOR, rtrim($home->getPath(), '/')); if (!file_exists($folder)) { @mkdir($folder, 0777, true); } if ($home->isNew()) { $home->setWrite(true); $home->save(); } } else { if ($home && !$home->isNew()) { $home->delete(); } } }
public function addUserAction(Request $request, $id) { $em = $this->getDoctrine()->getManager(); $node = $this->getDoctrine()->getRepository('PassVaultPassBundle:Node')->find($id); $this->denyAccessUnlessGranted('ROLE_ADMINISTRATOR', $node); $email = $request->get('email'); $user = $this->getDoctrine()->getRepository('PassVaultUserBundle:User')->findOneBy(array('email' => $email)); if (is_null($user)) { $user = new User(); $user->setEmail($email); $user->addRole('ROLE_USER'); $user->setPlainPassword(md5($email)); $em->persist($user); } $nodeuser = new NodeUser(); $nodeuser->setNode($node); $nodeuser->setUser($user); $nodeuser->setRole($request->get('role')); $em->persist($nodeuser); $em->flush(); return $this->redirectToRoute('passvault_node_view', array('id' => $id)); }