diff --git a/classes/modules/talk/Talk.class.php b/classes/modules/talk/Talk.class.php index 6b74e23d..6f96af0c 100644 --- a/classes/modules/talk/Talk.class.php +++ b/classes/modules/talk/Talk.class.php @@ -716,9 +716,18 @@ class ModuleTalk extends Module { return $aTalks; } - public function DeleteTalk($iTalkId) - { - $this->oMapper->deleteTalk($iTalkId); - } + /** + * Удаление письма из БД + * + * @param unknown_type $iTalkId + */ + public function DeleteTalk($iTalkId) { + $this->oMapper->deleteTalk($iTalkId); + /** + * Удаляем комментарии к письму. + * При удалении комментариев они удаляются из избранного,прямого эфира и голоса за них + */ + $this->Comment_DeleteCommentByTargetId($iTalkId,'talk'); + } } ?> \ No newline at end of file diff --git a/classes/modules/talk/mapper/Talk.mapper.class.php b/classes/modules/talk/mapper/Talk.mapper.class.php index d219dcb3..2d05e78f 100644 --- a/classes/modules/talk/mapper/Talk.mapper.class.php +++ b/classes/modules/talk/mapper/Talk.mapper.class.php @@ -34,16 +34,13 @@ class ModuleTalk_MapperTalk extends Mapper { return false; } - public function DeleteTalk(ModuleTalk_EntityTalk $iTalkId) { - // Удаление беседы - $sql = 'DELETE FROM '.Config::Get('db.table.talk').' WHERE talk_id = ?d'; - $this->oDb->query($sql,$iTalkId); - // Физическое удаление пользователей беседы (не флагом) - $sql = 'DELETE FROM '.Config::Get('db.table.talk_user').' WHERE talk_id = ?d'; - $this->oDb->query($sql,$iTalkId); - // Удаление комментариев к беседе - $sql = 'DELETE FROM '.Config::Get('db.table.comment').' WHERE target_type = "talk" AND target_id = ?d'; - $this->oDb->query($sql,$iTalkId); + public function DeleteTalk($iTalkId) { + // Удаление беседы + $sql = 'DELETE FROM '.Config::Get('db.table.talk').' WHERE talk_id = ?d'; + $this->oDb->query($sql,$iTalkId); + // Физическое удаление пользователей беседы (не флагом) + $sql = 'DELETE FROM '.Config::Get('db.table.talk_user').' WHERE talk_id = ?d'; + $this->oDb->query($sql,$iTalkId); } public function UpdateTalk(ModuleTalk_EntityTalk $oTalk) {