Example #1
0
 /**
  * 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));
 }
Example #3
0
 /**
  * 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));
 }