Beispiel #1
0
 /**
  * Добавляет коммент
  *
  * @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;
 }
Beispiel #3
0
 /**
  * Добавляет коммент
  *
  * @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;
 }