Example #1
0
 /**
  * Handle a POST from user edit or first user creation.
  *
  * @param Request $request
  * @param Form    $form      A Symfony form
  * @param boolean $firstuser If this is a first user set up
  *
  * @return Entity\Users|false
  */
 private function validateUserForm(Request $request, Form $form, $firstuser = false)
 {
     $form->submit($request->get($form->getName()));
     if (!$form->isValid()) {
         return false;
     }
     $userEntity = new Entity\Users($form->getData());
     $userEntity->setUsername($this->app['slugify']->slugify($userEntity->getUsername()));
     if (!$firstuser) {
         $userEntity->setRoles($this->users()->filterManipulatableRoles($userEntity->getId(), $userEntity->getRoles()));
     }
     if ($this->getRepository('Bolt\\Storage\\Entity\\Users')->save($userEntity)) {
         $this->flashes()->success(Trans::__('page.edit-users.message.user-saved', ['%user%' => $userEntity->getDisplayname()]));
         $this->notifyUserSave($request, $userEntity->getDisplayname(), $userEntity->getEmail(), $firstuser);
     } else {
         $this->flashes()->error(Trans::__('page.edit-users.message.saving-user', ['%user%' => $userEntity->getDisplayname()]));
     }
     return $userEntity;
 }
Example #2
0
 /**
  * Set user as enabled if user is new
  *
  * @param Entity\Users $usersEntity
  */
 protected function enableUser(Entity\Users $usersEntity)
 {
     if ($usersEntity->getId() === null) {
         $usersEntity->setEnabled(true);
     }
 }
 /**
  * Delete active session files for a user.
  *
  * @param Entity\Users $user
  */
 private function deleteSessions(Entity\Users $user)
 {
     $savePath = $this->sessionStorage->getOptions()->get('save_path');
     try {
         $sessionFiles = $this->filesystem->find()->files()->in($savePath);
     } catch (FileNotFoundException $e) {
         return;
     }
     /** @var \Bolt\Filesystem\Handler\File $sessionFile */
     foreach ($sessionFiles as $sessionFile) {
         $data = unserialize($sessionFile->read());
         if (!isset($data['_sf2_attributes']['authentication'])) {
             continue;
         }
         if (!$data['_sf2_attributes']['authentication'] instanceof \Bolt\AccessControl\Token\Token) {
             continue;
         }
         /** @var \Bolt\AccessControl\Token\Token $token */
         $token = $data['_sf2_attributes']['authentication'];
         if ($token->getUser()->getId() === $user->getId()) {
             $sessionFile->delete();
         }
     }
 }
Example #4
0
 /**
  * Set user as enabled if user is new
  *
  * @param Entity\Users $usersEntity
  */
 protected function enableUser(Entity\Users $usersEntity)
 {
     if ($usersEntity->getShadowSave()) {
         return;
     } elseif ($usersEntity->getId() === null) {
         $usersEntity->setEnabled(true);
     }
 }