context = DB::i()->getContext(); $this->blacklists = $this->context->table("blacklists"); } function getList(User $user, $page = 1): \Traversable { foreach($this->blacklists->where("author", $user->getId())->order("created DESC")->page($page, 10) as $blacklistItem) yield new BlacklistItem($blacklistItem); } function getCount(User $user): int { return sizeof($this->blacklists->where("author", $user->getId())->fetch()); } function isBanned(User $author, User $target): bool { if (!$author || !$target) return FALSE; return sizeof(DB::i()->getContext()->table("blacklists")->where(["author" => $author->getId(), "target" => $target->getId()])->fetch()) > 0; } }