Update npm dependencies
[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 * @package WoltLabSuite\Core\System\Importer
15 */
16 class ConversationMessageImporter extends AbstractImporter
17 {
18 /**
19 * @inheritDoc
20 */
21 protected $className = ConversationMessage::class;
22
23 /**
24 * @inheritDoc
25 */
26 public function import($oldID, array $data, array $additionalData = [])
27 {
28 $data['conversationID'] = ImportHandler::getInstance()
29 ->getNewID('com.woltlab.wcf.conversation', $data['conversationID']);
30 if (!$data['conversationID']) {
31 return 0;
32 }
33 $data['userID'] = ImportHandler::getInstance()->getNewID('com.woltlab.wcf.user', $data['userID']);
34
35 // check existing message
36 if (\ctype_digit((string)$oldID)) {
37 $existingMessage = new ConversationMessage($oldID);
38 if (!$existingMessage->messageID) {
39 $data['messageID'] = $oldID;
40 }
41 }
42
43 $message = ConversationMessageEditor::create($data);
44
45 ImportHandler::getInstance()->saveNewID('com.woltlab.wcf.conversation.message', $oldID, $message->messageID);
46
47 return $message->messageID;
48 }
49 }