2namespace Bitrix\Forum\Copy;
4use Bitrix\Forum\Copy\Implement\Comment as CommentImplementer;
5use Bitrix\Forum\Copy\Implement\Topic as TopicImplementer;
6use Bitrix\Main\Copy\Container;
7use Bitrix\Main\Copy\ContainerCollection;
8use Bitrix\Main\Copy\EntityCopier;
12 private $executiveUserId;
13 private $topicIdsToCopy = [];
17 $this->executiveUserId = $executiveUserId;
18 $this->topicIdsToCopy = $topicIdsToCopy;
23 $containerCollection = $this->getContainerCollection();
25 $topicCopier = $this->getTopicCopier();
27 return $topicCopier->copy($containerCollection);
30 private function getContainerCollection()
34 foreach ($this->topicIdsToCopy as $topicId)
36 $containerCollection[] =
new Container($topicId);
39 return $containerCollection;
42 private function getTopicCopier()
44 return new EntityCopier($this->getTopicImplementer());
47 private function getTopicImplementer()
51 $commentImplementer =
new CommentImplementer();
53 $commentImplementer->setExecutiveUserId($this->executiveUserId);
54 $commentCopier =
new EntityCopier($commentImplementer);
56 $topicImplementer =
new TopicImplementer();
57 $topicImplementer->setCommentCopier($commentCopier);
59 return $topicImplementer;
__construct($executiveUserId, array $topicIdsToCopy)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
global $USER_FIELD_MANAGER