- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/copy/integration/group.php
- Класс: BitrixDiskCopyIntegrationGroup
- Вызов: Group::copy
public function copy($groupId, $copiedGroupId)
{
$this->addToQueue($copiedGroupId);
$storage = Driver::getInstance()->getStorageByGroupId($groupId);
$targetStorage = Driver::getInstance()->getStorageByGroupId($copiedGroupId);
if ($storage && $targetStorage)
{
if ($storage->isEnabledShowExtendedRights())
{
$targetStorage->enableShowExtendedRights();
}
$rootFolder = $storage->getRootObject();
$targetRootFolder = $targetStorage->getRootObject();
$mapFolderIds = [];
$this->copyFolders(
$groupId,
$copiedGroupId,
$rootFolder,
$targetRootFolder,
$mapFolderIds
);
if (!in_array("onlyFolders", $this->features))
{
Option::set(self::MODULE_ID, self::CHECKER_OPTION.$copiedGroupId, "Y");
$dataToCopy = [
"groupId" => $groupId,
"copiedGroupId" => $copiedGroupId,
"executiveUserId" => $this->executiveUserId,
"mapFolderIds" => $mapFolderIds
];
Option::set(
self::MODULE_ID,
self::STEPPER_OPTION . $copiedGroupId,
serialize($dataToCopy)
);
$agent = CAgent::getList([], [
"MODULE_ID" => self::MODULE_ID,
"NAME" => GroupStepper::class."::execAgent();"
])->fetch();
if (!$agent)
{
GroupStepper::bind(1);
}
}
}
}