/** * Проверяет может ли пользователь голосовать за конкретный комментарий * * @param ModuleUser_EntityUser $oUser Пользователь * @param ModuleComment_EntityComment $oComment Комментарий * * @return bool */ public function CanVoteComment(ModuleUser_EntityUser $oUser, ModuleComment_EntityComment $oComment) { if (!C::Get('rating.enabled')) { return self::CAN_VOTE_COMMENT_FALSE; } /** @var ModuleBlog_EntityBlog $oBlog */ $oBlog = $oComment->getTargetBlog(); if ($oBlog && $oBlog->getBlogType()) { $oBlogUser = E::ModuleBlog()->GetBlogUserByBlogIdAndUserId($oBlog->getId(), $oUser->getId()); if ($oBlogUser && $oBlogUser->getUserRole() == ModuleBlog::BLOG_USER_ROLE_BAN) { return self::CAN_VOTE_COMMENT_ERROR_BAN; } } if ($oUser->getRating() >= Config::Get('acl.vote.comment.rating')) { return self::CAN_VOTE_COMMENT_TRUE; } return self::CAN_VOTE_COMMENT_FALSE; }