- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/rest/user.php
- Класс: BitrixMainRestUser
- Вызов: User::getHistoryFieldsList
static function getHistoryFieldsList($query, $nav = 0, CRestServer $server)
{
global $USER;
$query = array_change_key_case($query, CASE_LOWER);
$filter = ($query['filter'] ?? array());
$order = ($query['order'] ?? array('ID' => 'ASC'));
static $filterFields = array("HISTORY_ID", "FIELD");
static $orderFields = array("ID");
$queryFilter = static::sanitizeFilter(
$filter,
$filterFields,
function($field, $value, $operation)
{
switch($field)
{
case 'HISTORY_ID':
case 'FIELD':
if($operation <> '=')
{
throw new RestRestException("Only '=' operation is allowed for the filter field {$field}.", RestRestException::ERROR_ARGUMENT, CRestServer::STATUS_WRONG_REQUEST);
}
break;
}
return $value;
}
);
if(!isset($queryFilter["=HISTORY_ID"]))
{
throw new RestRestException("HISTORY_ID filter field is required.", RestRestException::ERROR_ARGUMENT, CRestServer::STATUS_WRONG_REQUEST);
}
if(!$USER->CanDoOperation('edit_all_users'))
{
$queryFilter["=HISTORY.USER_ID"] = $USER->GetID();
}
$order = static::sanitizeOrder($order, $orderFields);
$dbRes = MainUserProfileRecordTable::getList(array(
'filter' => $queryFilter,
'order' => $order,
));
$result = $dbRes->fetchAll();
return $result;
}