2namespace Bitrix\Forum\Copy\Implement;
4use Bitrix\Main\Copy\Container;
5use Bitrix\Main\Copy\ContainerCollection;
6use Bitrix\Main\Copy\CopyImplementer;
7use Bitrix\Main\Copy\EntityCopier;
18 private $commentCopier;
25 $this->commentCopier = $commentCopier;
35 $topicId = \CForumTopic::add(
$fields);
39 $this->result->addError(
new Error(
"Error creating a new topic", self::TOPIC_COPY_ERROR));
56 return ($topic ? $topic : []);
72 if (!empty($dictionary[
"XML_ID"]))
74 $fields[
"XML_ID"] = $dictionary[
"XML_ID"];
90 if (!$this->commentCopier)
99 $queryObject = \CForumMessage::getList([], [
"TOPIC_ID" => $topicId]);
100 while ($forumMessage = $queryObject->Fetch())
102 $container =
new Container($forumMessage[
"ID"]);
103 $container->setParentId($copiedTopicId);
104 $container->setDictionary($topicDictionary);
105 $containerCollection[] = $container;
110 if (!$containerCollection->isEmpty())
112 $results[] = $this->commentCopier->copy($containerCollection);
123 unset(
$fields[
"LAST_POST_DATE"]);
124 unset(
$fields[
"ABS_LAST_POST_DATE"]);
getFields(Container $container, $entityId)
setCommentCopier(EntityCopier $commentCopier)
add(Container $container, array $fields)
copyChildren(Container $topicContainer, $topicId, $copiedTopicId)
prepareFieldsToCopy(Container $container, array $fields)
getResult(array $results=[])
static GetByIDEx($ID, $arAddParams=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)