- Модуль: report
- Путь к файлу: ~/bitrix/modules/report/classes/general/report.php
- Класс: CReport
- Вызов: CReport::Add
static function Add($settings)
{
global $DB, $USER;
$name = $settings['title'];
$description = $settings['description'];
$owner = $settings['owner'];
unset($settings['title']);
unset($settings['description']);
unset($settings['owner']);
$fields = array(
'TITLE' => $name,
'DESCRIPTION' => $description,
'OWNER_ID' => $owner,
'CREATED_DATE' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()+CTimeZone::GetOffset()),
'CREATED_BY' => $USER->GetID()
);
if (isset($settings['mark_default']))
{
$fields['MARK_DEFAULT'] = $settings['mark_default'];
unset($settings['mark_default']);
}
$fields['SETTINGS'] = serialize($settings);
// pre-events
foreach (GetModuleEvents("report", "OnBeforeReportAdd", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array(&$fields)) === false)
{
return false;
}
}
// save data
$ID = $DB->Add("b_report", $fields, array("SETTINGS", "DESCRIPTION"), "report");
// clear view params
self::clearViewParams($ID);
// post-events
foreach (GetModuleEvents("report", "OnReportAdd", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array($ID, &$fields));
}
return $ID;
}