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

	if (!CControllerGroup::CheckFields($arFields, $ID))
		return false;

	if (!$USER_FIELD_MANAGER->CheckFields("CONTROLLER_GROUP", $ID, $arFields))
		return false;

	if (isset($arFields["UPDATE_PERIOD"]) || isset($arFields["COUNTER_UPDATE_PERIOD"]))
	{
		$dbr_group = CControllerGroup::GetByID($ID);
		$ar_group = $dbr_group->Fetch();
		if (isset($arFields["UPDATE_PERIOD"]) && $ar_group["UPDATE_PERIOD"] != $arFields["UPDATE_PERIOD"])
			CControllerGroup::__UpdateAgentPeriod($ID, $arFields["UPDATE_PERIOD"]);
		if (isset($arFields["COUNTER_UPDATE_PERIOD"]) && $ar_group["COUNTER_UPDATE_PERIOD"] != $arFields["COUNTER_UPDATE_PERIOD"])
			CControllerGroup::__CounterUpdateAgentPeriod($ID, $arFields["COUNTER_UPDATE_PERIOD"]);
	}

	unset($arFields["TIMESTAMP_X"]);
	$arFields["~TIMESTAMP_X"] = $DB->CurrentTimeFunction();

	$arUpdateBinds = array();
	$strUpdate = $DB->PrepareUpdateBind("b_controller_group", $arFields, "", false, $arUpdateBinds);

	$strSql = "UPDATE b_controller_group SET ".$strUpdate." WHERE ID=".intval($ID);

	$arBinds = array();
	foreach ($arUpdateBinds as $field_id)
		$arBinds[$field_id] = $arFields[$field_id];

	$res = $DB->QueryBind($strSql, $arBinds);
	if ($res)
	{
		$USER_FIELD_MANAGER->Update("CONTROLLER_GROUP", $ID, $arFields);
	}

	if (!$res)
		return false;
	else
		return true;
}