- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/undo.php
- Класс: CAutoSave
- Вызов: CAutoSave::Set
public function Set($data)
{
global $DB, $USER, $CACHE_MANAGER;
if (!$USER->IsAuthorized())
return false;
if (!is_array($data) || empty($data))
return false;
$ID = $this->GetID();
$arFields = array(
'MODULE_ID' => 'main',
'UNDO_TYPE' => 'autosave',
'UNDO_HANDLER' => 'CAutoSave::_Restore',
'CONTENT' => serialize($data),
'USER_ID' => $USER->GetID(),
'TIMESTAMP_X' => time(),
);
$arBinds = array(
"CONTENT" => $arFields["CONTENT"],
);
$strUpdate = $DB->PrepareUpdate("b_undo", $arFields);
$rs = $DB->QueryBind("UPDATE b_undo SET ".$strUpdate." WHERE ID = '".$DB->ForSQL($ID)."'", $arBinds);
if ($rs->AffectedRowsCount() == 0)
{
$arFields['ID'] = $ID;
$DB->Add("b_undo", $arFields, array("CONTENT"), "", true);
}
$CACHE_MANAGER->Clean(mb_substr($ID, 0, 3), "b_undo");
return true;
}