/** * Добавляет коммент * * @param ModuleComment_EntityComment $oComment Объект комментария * * @return bool|ModuleComment_EntityComment */ public function AddComment(ModuleComment_EntityComment $oComment) { if (Config::Get('module.comment.use_nested')) { $iCommentId = $this->oMapper->AddCommentTree($oComment); E::ModuleCache()->CleanByTags(array("comment_update")); } else { $iCommentId = $this->oMapper->AddComment($oComment); } if ($iCommentId) { $oComment->setId($iCommentId); if ($oComment->getTargetType() == 'topic') { E::ModuleTopic()->RecalcCountOfComments($oComment->getTargetId()); } // Освежим хранилище картинок E::ModuleMresource()->CheckTargetTextForImages($oComment->getTargetType() . '_comment', $iCommentId, $oComment->getText()); if (E::IsUser()) { // * Сохраняем дату последнего коммента для юзера E::User()->setDateCommentLast(F::Now()); E::ModuleUser()->Update(E::User()); // чистим зависимые кеши E::ModuleCache()->CleanByTags(array("comment_new", "comment_new_{$oComment->getTargetType()}", "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}")); } else { // чистим зависимые кеши E::ModuleCache()->CleanByTags(array("comment_new", "comment_new_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}")); } return $oComment; } return false; }
/** * Добавляет коммент * * @param ModuleComment_EntityComment $oComment Объект комментария * @return bool|ModuleComment_EntityComment */ public function AddComment(ModuleComment_EntityComment $oComment) { if (Config::Get('module.comment.use_nested')) { $sId = $this->oMapper->AddCommentTree($oComment); $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_update")); } else { $sId = $this->oMapper->AddComment($oComment); } if ($sId) { if ($oComment->getTargetType() == 'topic') { $this->Topic_increaseTopicCountComment($oComment->getTargetId()); } //чистим зависимые кеши $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_new_{$oComment->getTargetType()}", "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}")); $oComment->setId($sId); return $oComment; } return false; }
/** * Добавляет коммент * * @param ModuleComment_EntityComment $oComment Объект комментария * * @return bool|ModuleComment_EntityComment */ public function AddComment(ModuleComment_EntityComment $oComment) { if (Config::Get('module.comment.use_nested')) { $nId = $this->oMapper->AddCommentTree($oComment); E::ModuleCache()->CleanByTags(array("comment_update")); } else { $nId = $this->oMapper->AddComment($oComment); } if ($nId) { if ($oComment->getTargetType() == 'topic') { E::ModuleTopic()->RecalcCountOfComments($oComment->getTargetId()); } // Освежим хранилище картинок E::ModuleMresource()->CheckTargetTextForImages($oComment->getTargetType() . '_comment', $nId, $oComment->getText()); // чистим зависимые кеши E::ModuleCache()->CleanByTags(array("comment_new", "comment_new_{$oComment->getTargetType()}", "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}")); $oComment->setId($nId); return $oComment; } return false; }
/** * Добавляет коммент * * @param ModuleComment_EntityComment $oComment Объект комментария * @return bool|ModuleComment_EntityComment */ public function AddComment(ModuleComment_EntityComment $oComment) { if (Config::Get('module.comment.use_nested')) { $sId = $this->oMapper->AddCommentTree($oComment); $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_update")); } else { $sId = $this->oMapper->AddComment($oComment); } if ($sId) { if ($oComment->getTargetType() == 'topic') { $this->Topic_increaseTopicCountComment($oComment->getTargetId()); } //чистим зависимые кеши $this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array("comment_new_{$oComment->getTargetType()}", "comment_new_user_{$oComment->getUserId()}_{$oComment->getTargetType()}", "comment_new_{$oComment->getTargetType()}_{$oComment->getTargetId()}")); $oComment->setId($sId); $oTarget = $this->Topic_GetTopicById($oComment->getTargetId()); if (strstr($oComment->getText(), "@moderator") and $oTarget->getBlog()->getType() == "open") { $this->Talk_SendTalk("Вызов модератора в пост " . $oTarget->getTitle(), "Я прошу модераторов посмотреть пост <a href='" . $oTarget->getUrl() . "'>" . $oTarget->getTitle() . "</a> и комментарии к нему на соответствие правилам.", $oComment->getUserId(), Config::Get("moderator")); } return $oComment; } return false; }