2 namespace wcf\system\importer
;
3 use wcf\data\conversation\message\ConversationMessage
;
4 use wcf\data\conversation\message\ConversationMessageEditor
;
5 use wcf\data\
object\type\ObjectTypeCache
;
8 * Imports conversation attachments.
11 * @copyright 2001-2019 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package WoltLabSuite\Core\System\Importer
15 class ConversationAttachmentImporter
extends AbstractAttachmentImporter
{
17 * Creates a new ConversationAttachmentImporter object.
19 public function __construct() {
20 $objectType = ObjectTypeCache
::getInstance()->getObjectTypeByName('com.woltlab.wcf.attachment.objectType', 'com.woltlab.wcf.conversation.message');
21 $this->objectTypeID
= $objectType->objectTypeID
;
27 public function import($oldID, array $data, array $additionalData = []) {
28 $data['objectID'] = ImportHandler
::getInstance()->getNewID('com.woltlab.wcf.conversation.message', $data['objectID']);
29 if (!$data['objectID']) return 0;
31 $attachmentID = parent
::import($oldID, $data, $additionalData);
32 if ($attachmentID && $attachmentID != $oldID) {
33 // fix embedded attachments
34 $messageObj = new ConversationMessage($data['objectID']);
36 if (($newMessage = $this->fixEmbeddedAttachments($messageObj->message
, $oldID, $attachmentID)) !== false) {
37 $editor = new ConversationMessageEditor($messageObj);
39 'message' => $newMessage