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

	$obQueryWhere = new CSQLWhere;
	$arFields = array(
		"ID" => array(
			"TABLE_ALIAS" => "h",
			"FIELD_NAME" => "h.ID",
			"FIELD_TYPE" => "int",
			"JOIN" => false,
		),
		"COUNTER_ID" => array(
			"TABLE_ALIAS" => "h",
			"FIELD_NAME" => "h.COUNTER_ID",
			"FIELD_TYPE" => "int",
			"JOIN" => false,
		),
		"NAME" => array(
			"TABLE_ALIAS" => "h",
			"FIELD_NAME" => "h.NAME",
			"FIELD_TYPE" => "string",
			"JOIN" => false,
		),
		"COMMAND_FROM" => array(
			"TABLE_ALIAS" => "h",
			"FIELD_NAME" => "h.COMMAND_FROM",
			"FIELD_TYPE" => "string",
			"JOIN" => false,
		),
		"COMMAND_TO" => array(
			"TABLE_ALIAS" => "h",
			"FIELD_NAME" => "h.COMMAND_TO",
			"FIELD_TYPE" => "string",
			"JOIN" => false,
		),
	);
	$obQueryWhere->SetFields($arFields);

	if(!is_array($arFilter))
		$arFilter = array();
	$strQueryWhere = $obQueryWhere->GetQuery($arFilter);

	$strSql = "
		SELECT h.*
			,".$DB->DateToCharFunction("h.TIMESTAMP_X", "FULL")." TIMESTAMP_X
			,".$DB->Concat("'('", "U.LOGIN", "') '", "U.NAME", "' '", "U.LAST_NAME")." USER_ID_USER
		FROM b_controller_counter_history h
		LEFT JOIN b_user U ON U.ID = h.USER_ID
	";

	if($strQueryWhere)
	{
		$strSql .= "
			WHERE
			".$strQueryWhere."
		";
	}

	$strSql .= "
		ORDER BY h.ID DESC
	";

	return $DB->Query($strSql);
}