/** * Gets the content type for tables that contain multiple data types together. * * @return string */ public function getContentType() { return $this->_discussionDefinition->getContentType(); }
/** * Deletes all messages in this discussion. * * @param array $messages */ protected function _deleteDiscussionMessages(array $messages) { if (!$messages) { return; } $messageStructure = $this->_messageDefinition->getMessageStructure(); $messageContentType = $this->_messageDefinition->getContentType(); $messageIds = array_keys($messages); $this->_db->delete($messageStructure['table'], "{$messageStructure['key']} IN (" . $this->_db->quote($messageIds) . ')'); $this->getModelFromCache('XenForo_Model_Attachment')->deleteAttachmentsFromContentIds($messageContentType, $messageIds); $visibleMessageIds = array(); $nonVisibleMessageIds = array(); foreach ($messages as $messageId => $message) { if (empty($message['message_state']) || $message['message_state'] == 'visible') { $visibleMessageIds[] = $messageId; } else { $nonVisibleMessageIds[] = $messageId; } } $this->getModelFromCache('XenForo_Model_Like')->deleteContentLikes($messageContentType, $visibleMessageIds, $this->get('discussion_state') == 'visible'); $this->getModelFromCache('XenForo_Model_Like')->deleteContentLikes($messageContentType, $visibleMessageIds, false); $this->getModelFromCache('XenForo_Model_Ip')->deleteByContent($messageContentType, $messageIds); $this->getModelFromCache('XenForo_Model_DeletionLog')->removeDeletionLog($messageContentType, $messageIds); $this->getModelFromCache('XenForo_Model_ModerationQueue')->deleteFromModerationQueue($messageContentType, $messageIds); }
/** * Gets the content type for tables that contain multiple data types together. * * @return string */ public function getContentType() { return $this->_messageDefinition->getContentType(); }