Remove obsolete template code
[GitHub/WoltLab/com.woltlab.wcf.conversation.git] / files / lib / system / importer / ConversationImporter.class.php
1 <?php
2 namespace wcf\system\importer;
3 use wcf\data\conversation\Conversation;
4 use wcf\data\conversation\ConversationEditor;
5
6 /**
7 * Imports conversations.
8 *
9 * @author Marcel Werk
10 * @copyright 2001-2019 WoltLab GmbH
11 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
12 * @package WoltLabSuite\Core\System\Importer
13 */
14 class ConversationImporter extends AbstractImporter {
15 /**
16 * @inheritDoc
17 */
18 protected $className = Conversation::class;
19
20 /**
21 * @inheritDoc
22 */
23 public function import($oldID, array $data, array $additionalData = []) {
24 $oldUserID = $data['userID'];
25 $data['userID'] = ImportHandler::getInstance()->getNewID('com.woltlab.wcf.user', $data['userID']);
26
27 // check existing conversation
28 if (ctype_digit((string)$oldID)) {
29 $existingConversation = new Conversation($oldID);
30 if (!$existingConversation->conversationID) $data['conversationID'] = $oldID;
31 }
32
33 $conversation = ConversationEditor::create($data);
34
35 ImportHandler::getInstance()->saveNewID('com.woltlab.wcf.conversation', $oldID, $conversation->conversationID);
36
37 // add author
38 if (empty($data['isDraft'])) {
39 ImportHandler::getInstance()->getImporter('com.woltlab.wcf.conversation.user')->import(0, [
40 'conversationID' => $oldID,
41 'participantID' => $oldUserID,
42 'username' => $data['username'],
43 'hideConversation' => 0,
44 'isInvisible' => 0,
45 'lastVisitTime' => $data['time']
46 ], ['labelIDs' => []]);
47 }
48
49 return $conversation->conversationID;
50 }
51 }