- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/vote.php
- Класс: CAllVote
- Вызов: CAllVote::Copy
static function Copy($ID)
{
global $DB;
$err_mess = (CVote::err_mess())."
Function: Copy
Line: ";
$ID = intval($ID);
if ($ID <= 0):
return false;
endif;
$rCurrentVote = CVote::GetByID($ID);
if (!$arCurrentVote = $rCurrentVote->Fetch())
return false;
unset($arCurrentVote["ID"]);
$arCurrentVote['ACTIVE'] = "N";
$newImageId = false;
if (intval($arCurrentVote['IMAGE_ID'] > 0))
{
$imageId = $arCurrentVote['IMAGE_ID'];
$newImageId = CFile::CopyFile($imageId);
$arCurrentVote["IMAGE_ID"] = NULL;
}
$newID = CVote::Add($arCurrentVote);
if ($newID === false)
return false;
$DB->Update("b_vote", array("COUNTER"=>"0"), "WHERE ID=".$newID, $err_mess.__LINE__);
if ($newImageId)
{
$DB->Update("b_vote", array("IMAGE_ID"=>$newImageId), "WHERE ID=".$newID, $err_mess.__LINE__);
}
$state = true;
$rQuestions = CVoteQuestion::GetList($ID);
while ($arQuestion = $rQuestions->Fetch())
{
$state = $state && ( CVoteQuestion::Copy($arQuestion['ID'], $newID) !== false);
}
if ($state == true)
return $newID;
else return $state;
}