- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/lib/uf/voteusertype.php
- Класс: BitrixVoteUfVoteUserType
- Вызов: VoteUserType::onBeforeCopy
static function onBeforeCopy(array $userField, int $newEntityId, $attachedId, $implementer, $userId = false)
{
if (empty($userField) || empty($attachedId))
{
return "";
}
$userId = self::getOrCheckUserId($userId);
$userFieldManager = Manager::getInstance($userField);
$attachedObject = $userFieldManager->loadFromAttachId($attachedId);
$voteId = 0;
if (is_callable([$implementer, "copyVote"]))
{
$voteId = $implementer->copyVote($attachedObject->getVoteId());
}
$attachedId = "";
if ($voteId > 0)
{
$attachedId = AttachTable::add([
"MODULE_ID" => $attachedObject->getModuleId(),
"OBJECT_ID" => $voteId,
"ENTITY_ID" => $newEntityId,
"ENTITY_TYPE" => $attachedObject->getEntityType(),
"CREATED_BY" => $userId,
"CREATE_TIME" => new DateTime()
])->getId();
}
return $attachedId;
}