/** * @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'); }
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; }
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(); }
/** * Returns Resource's owner ID * * @return int */ public function getOwnerId() { return $this->user->getId(); }