/**
  * Обновляет статус у коммента - delete или publish
  *
  * @param  ModuleComment_EntityComment $oComment Объект комментария
  * @return bool
  */
 public function UpdateCommentStatus(ModuleComment_EntityComment $oComment)
 {
     if ($this->oMapper->UpdateComment($oComment)) {
         /**
          * Если комментарий удаляется, удаляем его из прямого эфира
          */
         if ($oComment->getDelete()) {
             $this->DeleteCommentOnlineByArrayId($oComment->getId(), $oComment->getTargetType());
         }
         /**
          * Обновляем избранное
          */
         $this->Favourite_SetFavouriteTargetPublish($oComment->getId(), 'comment', !$oComment->getDelete());
         /**
          * Чистим зависимые кеши
          */
         if (Config::Get('sys.cache.solid')) {
             $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_update"));
         }
         $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_update_status_{$oComment->getTargetType()}"));
         $this->Cache_Delete("comment_{$oComment->getId()}");
         return true;
     }
     return false;
 }
Exemple #2
0
 /**
  * Обновляет статус у коммента - delete или publish
  *
  * @param  ModuleComment_EntityComment $oComment    Объект комментария
  *
  * @return bool
  */
 public function UpdateCommentStatus(ModuleComment_EntityComment $oComment)
 {
     if ($this->oMapper->UpdateComment($oComment)) {
         // * Если комментарий удаляется, удаляем его из прямого эфира
         if ($oComment->getDelete()) {
             $this->DeleteCommentOnlineByArrayId($oComment->getId(), $oComment->getTargetType());
         }
         // * Обновляем избранное
         E::ModuleFavourite()->SetFavouriteTargetPublish($oComment->getId(), 'comment', !$oComment->getDelete());
         // * Чистим зависимые кеши
         if (Config::Get('sys.cache.solid')) {
             E::ModuleCache()->CleanByTags(array("comment_update"));
         }
         E::ModuleCache()->CleanByTags(array("comment_update_status_{$oComment->getTargetType()}"));
         E::ModuleCache()->Delete("comment_{$oComment->getId()}");
         return true;
     }
     return false;
 }