예제 #1
0
 /**
  * Gets the content type for tables that contain multiple data types together.
  *
  * @return string
  */
 public function getContentType()
 {
     return $this->_discussionDefinition->getContentType();
 }
예제 #2
0
 /**
  * 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);
 }
예제 #3
0
 /**
  * Gets the content type for tables that contain multiple data types together.
  *
  * @return string
  */
 public function getContentType()
 {
     return $this->_messageDefinition->getContentType();
 }