- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_entry.php
- Класс: CAllTimeManEntry
- Вызов: CAllTimeManEntry::Update
static function Update($id, $arFields)
{
global $DB, $USER;
if ($id <= 0)
{
return false;
}
$arFields['ID'] = $id;
$e = GetModuleEvents('timeman', 'OnBeforeTMEntryUpdate');
while ($a = $e->Fetch())
{
if (false === ExecuteModuleEventEx($a, [$arFields]))
{
return false;
}
}
if (!self::CheckFields('UPDATE', $arFields))
{
return false;
}
$strUpdate = $DB->PrepareUpdate('b_timeman_entries', $arFields);
$query = 'UPDATE b_timeman_entries SET ' . $strUpdate . ' WHERE ID='' . intval($id) . ''';
if ($strUpdate)
{
$arBind = [];
if (isset($arFields['TASKS']))
{
$arBind = ['TASKS' => $arFields['TASKS']];
}
$DB->QueryBind($query, $arBind);
if (isset($arFields['REPORTS']) && is_array($arFields['REPORTS']))
{
foreach ($arFields['REPORTS'] as $report)
{
$report['ENTRY_ID'] = $id;
$report['USER_ID'] = $USER->GetID(); // we need CURRENT user in this field
CTimeManReport::Add($report);
}
}
$e = GetModuleEvents('timeman', 'OnAfterTMEntryUpdate');
while ($a = $e->Fetch())
{
ExecuteModuleEventEx($a, [$id, $arFields]);
}
return $id;
}
return false;
}