• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report_daily.php
  • Класс: CAllTimeManReportDaily
  • Вызов: CAllTimeManReportDaily::Update
static function Update($ID, $arFields)
{
	global $DB;

	$e = GetModuleEvents('timeman', 'OnBeforeTMReportDailyUpdate');
	while ($a = $e->Fetch())
	{
		if (false === ExecuteModuleEventEx($a, array(&$arFields)))
			return false;
	}

	if (!self::CheckFields('UPDATE', $arFields))
		return false;

	CTimeZone::Disable();
	$strUpdate = $DB->PrepareUpdate('b_timeman_report_daily', $arFields);
	CTimeZone::Enable();

	$query = 'UPDATE b_timeman_report_daily SET '.$strUpdate.' WHERE ID=''.intval($ID).''';

	if (($dbRes = $DB->Query($query)) && ($dbRes->AffectedRowsCount() > 0))
	{
		$arBinds = array();

		if (isset($arFields['REPORT']))
			$arBinds['REPORT'] = $arFields['REPORT'];
		if (isset($arFields['TASKS']))
			$arBinds['TASKS'] = $arFields['TASKS'];
		if (isset($arFields['EVENTS']))
			$arBinds['EVENTS'] = $arFields['EVENTS'];

		if (count($arBinds) > 0)
		{
			$DB->QueryBind($query, $arBinds);
		}

		$e = GetModuleEvents('timeman', 'OnAfterTMReportDailyUpdate');
		while ($a = $e->Fetch())
			ExecuteModuleEventEx($a, array($ID, $arFields));

		return $ID;
	}

	return false;
}