Esempio n. 1
0
 /**
  * Проверяет может ли пользователь голосовать за конкретный комментарий
  *
  * @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;
 }