- Модуль: 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;
}