- Модуль: report
- Путь к файлу: ~/bitrix/modules/report/classes/general/report.php
- Класс: CReport
- Вызов: CReport::Update
static function Update($ID, $settings)
{
global $DB;
$name = $settings['title'];
$description = $settings['description'];
unset($settings['title']);
unset($settings['description']);
unset($settings['owner']);
$settings = serialize($settings);
$fields = array(
'TITLE' => $name,
'DESCRIPTION' => $description,
'SETTINGS' => $settings,
'MARK_DEFAULT' => false
);
// pre-events
foreach (GetModuleEvents("report", "OnBeforeReportUpdate", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array($ID, &$fields)) === false)
{
return false;
}
}
// save data
$strUpdate = $DB->PrepareUpdate("b_report", $fields, "report");
$strSql = "UPDATE b_report SET ".$strUpdate." WHERE ID='".$DB->ForSQL($ID)."'";
$result = $DB->QueryBind(
$strSql, array('SETTINGS' => $settings, 'DESCRIPTION' => $description),false,
"File: ".__FILE__."
Line: ".__LINE__
);
// post-events
if ($result)
{
foreach (GetModuleEvents("report", "OnReportUpdate", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array($ID, &$fields));
}
}
// clear view params
self::clearViewParams($ID);
return $result;
}