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

	if(!CControllerCounter::CheckFields($arFields))
		return false;

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

	$ID = $DB->Add("b_controller_counter", $arFields, array("COMMAND"));

	if(array_key_exists("CONTROLLER_GROUP_ID", $arFields))
		CControllerCounter::UpdateGroups($ID, $arFields["CONTROLLER_GROUP_ID"]);

	$rsCounter = $DB->Query("select * from b_controller_counter where ID = ".$ID);
	$arCounter = $rsCounter->Fetch();
	if ($arCounter)
	{
		$counterHistory = BitrixControllerCounterHistoryTable::createObject();
		$counterHistory->setCounterId($ID);
		$counterHistory->setTimestampX(new BitrixMainTypeDateTime());
		$counterHistory->setUserId(is_object($USER)? $USER->GetID(): 0);
		$counterHistory->setName($arCounter["NAME"]);
		$counterHistory->setCommandFrom('');
		$counterHistory->setCommandTo($arCounter["COMMAND"]);
		$counterHistory->save();
	}

	return $ID;
}