2 namespace wcf\system\importer
;
3 use wcf\data\conversation\Conversation
;
4 use wcf\data\conversation\ConversationEditor
;
7 * Imports conversations.
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
14 class ConversationImporter
extends AbstractImporter
{
18 protected $className = Conversation
::class;
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']);
27 // check existing conversation
28 if (ctype_digit((string)$oldID)) {
29 $existingConversation = new Conversation($oldID);
30 if (!$existingConversation->conversationID
) $data['conversationID'] = $oldID;
33 $conversation = ConversationEditor
::create($data);
35 ImportHandler
::getInstance()->saveNewID('com.woltlab.wcf.conversation', $oldID, $conversation->conversationID
);
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,
45 'lastVisitTime' => $data['time']
46 ], ['labelIDs' => []]);
49 return $conversation->conversationID
;