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

	foreach(GetModuleEvents('timeman', 'OnBeforeFullReportUpdate', true) as $a)
	{
		if (false === ExecuteModuleEventEx($a, array(&$arFields)))
			return false;
	}

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

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

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

	$arBinds = array();
	if(isset($arFields['REPORT']))
	{
		$arBinds['REPORT'] = $arFields['REPORT'];
	}
	if(isset($arFields['PLANS']))
	{
		$arBinds['PLANS'] = $arFields['PLANS'];
	}
	if(isset($arFields['TASKS']))
	{
		$arBinds['TASKS'] = $arFields['TASKS'];
	}
	if(isset($arFields['EVENTS']))
	{
		$arBinds['EVENTS'] = $arFields['EVENTS'];
	}
	if(isset($arFields['FILES']))
	{
		$arBinds['FILES'] = $arFields['FILES'];
	}

	if (($dbRes = $DB->QueryBind($query, $arBinds)) && ($dbRes->AffectedRowsCount() > 0))
	{
		foreach(GetModuleEvents('timeman', 'OnAfterFullReportUpdate', true) as $a)
		{
			ExecuteModuleEventEx($a, array($ID, $arFields));
		}

		return $ID;
	}

	return false;
}