Merge branch '5.5'
[GitHub/WoltLab/com.woltlab.wcf.conversation.git] / files / lib / system / importer / ConversationMessageImporter.class.php
1 <?php
2
3 namespace wcf\system\importer;
4
5 use wcf\data\conversation\message\ConversationMessage;
6 use wcf\data\conversation\message\ConversationMessageEditor;
7
8 /**
9 * Imports conversation messages.
10 *
11 * @author Marcel Werk
12 * @copyright 2001-2019 WoltLab GmbH
13 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
14 */
15 class ConversationMessageImporter extends AbstractImporter
16 {
17 /**
18 * @inheritDoc
19 */
20 protected $className = ConversationMessage::class;
21
22 /**
23 * @inheritDoc
24 */
25 public function import($oldID, array $data, array $additionalData = [])
26 {
27 $data['conversationID'] = ImportHandler::getInstance()
28 ->getNewID('com.woltlab.wcf.conversation', $data['conversationID']);
29 if (!$data['conversationID']) {
30 return 0;
31 }
32 $data['userID'] = ImportHandler::getInstance()->getNewID('com.woltlab.wcf.user', $data['userID']);
33
34 // check existing message
35 if (\ctype_digit((string)$oldID)) {
36 $existingMessage = new ConversationMessage($oldID);
37 if (!$existingMessage->messageID) {
38 $data['messageID'] = $oldID;
39 }
40 }
41
42 $message = ConversationMessageEditor::create($data);
43
44 ImportHandler::getInstance()->saveNewID('com.woltlab.wcf.conversation.message', $oldID, $message->messageID);
45
46 return $message->messageID;
47 }
48 }