public function withoutUser(User $user)
 {
     $this->filter[] = function (Kdyby\Doctrine\QueryBuilder $qb) use($user) {
         $qb->andWhere('u.id <> :id')->setParameter('id', $user->getId());
     };
     return $this;
 }
 /**
  * @param User $sender
  * @param array $usersByRestrictions
  * @return array
  */
 private function prepareRecipients(User $sender, array $usersByRestrictions)
 {
     if (empty($usersByRestrictions)) {
         return [];
     }
     unset($usersByRestrictions['suspendedUsers'][$sender->getId()], $usersByRestrictions['activeUsers'][$sender->getId()]);
     if (!$this->authorizator->isAllowed($sender, 'message', 'send_to_restricted_recipients')) {
         $recipients = array_diff_key($usersByRestrictions['activeUsers'], $usersByRestrictions['suspendedUsers'], $usersByRestrictions['usersBlockedByMe'], $usersByRestrictions['usersBlockingMe']);
     } else {
         $recipients = $usersByRestrictions['activeUsers'] + $usersByRestrictions['usersBlockedByMe'] + $usersByRestrictions['usersBlockingMe'];
     }
     return Arrays::associate($recipients, 'id=username');
 }
 /**
  * @secured
  */
 public function handleUnblockUser($id)
 {
     try {
         $user = $this->getUser($id);
         if ($user !== null) {
             $this->userEntity->unblockUser($user);
             $this->usersFacade->saveUser($this->userEntity);
         }
         $this->refresh('userRestriction');
         $this->onUnblockUser($this, $user);
     } catch (\Exception $e) {
         $this->flashMessage('Při pokusu o odblokování uživatele nastala chyba.', 'error');
         $this->redirect('this');
     }
 }
 public function render()
 {
     $template = $this->getTemplate();
     $template->setFile(__DIR__ . '/template.latte');
     $paginator = $this['paginator']->getPaginator();
     if (empty($this->users)) {
         $usersResultSet = $this->usersFacade->fetchUsers($this->usersQuery);
         $usersResultSet->applyPaginator($paginator, 15);
         $this->users = Arrays::associate($usersResultSet->toArray(AbstractQuery::HYDRATE_ARRAY), 'id');
         unset($this->users[$this->userEntity->getId()]);
     }
     $template->users = $this->users;
     if (empty($this->alreadyBlockedUsers)) {
         $alreadyBlockedUsers = Arrays::associate($this->usersFacade->fetchUsers((new UsersOverviewQuery())->onlyWithFields(['id'])->findUsersBlockedBy($this->userEntity))->toArray(AbstractQuery::HYDRATE_ARRAY), 'id');
         $this->alreadyBlockedUsers = $alreadyBlockedUsers;
     }
     if ($this->userEntity->isInRole('admin') and empty($this->usersWithClosedAccount)) {
         $uwca = Arrays::associate($this->usersFacade->fetchUsers((new UsersOverviewQuery())->onlyWithFields(['id'])->findUsersWithClosedAccount())->toArray(AbstractQuery::HYDRATE_ARRAY), 'id');
         $this->usersWithClosedAccount = $uwca;
     }
     $template->areRelationshipsRestrictionsVisible = $this->areRelationshipsRestrictionsVisible;
     $template->isHintBoxVisible = $this->isHintBoxVisible;
     $template->render();
 }
Example #5
0
 /**
  * Returns Resource's owner ID
  *
  * @return int
  */
 public function getOwnerId()
 {
     return $this->user->getId();
 }
 public function onLoggedIn(User $user)
 {
     $user->setLastLogin(new \DateTime('now'));
     $user->setLastIP($this->httpRequest->getRemoteAddress());
     $this->entityManager->persist($user)->flush();
 }
 public function onBeforeChange(Form $form, User $user)
 {
     $values = $form->getValues();
     if ($user->email != $values['email']) {
         $this->flashMessage('Vámi zadaný E-mail nesouhlasí s E-mailem, na který byl
              zaslán požadavek o změnu hesla!', 'warning');
         $this->redirect('this');
     }
     $user->resetToken();
 }