public function getAllowed(UserDAO $guest) { $actions = $this->actions; if (!$guest->getEmail()) { unset($actions[self::MAIL]); } if ($this->user->getBlacklist()->isBanned($guest->getId())) { unset($actions[self::BAN]); unset($actions[self::INVITE]); unset($actions[self::MAIL]); } elseif ($guest->getId() == $this->user->getId()) { $actions = [self::KARMA => self::KARMA]; } elseif (!$this->user->getEmail()) { unset($actions[self::KARMA_MINUS]); unset($actions[self::KARMA_PLUS]); unset($actions[self::MAIL]); } else { unset($actions[self::UNBAN]); } return array_keys($actions); }
/** * @return UserBlacklistDAO */ public function getBlacklist() { return $this->userDAO->getBlacklist(); }