CDBResult
CFormResult::GetList(
int form_id,
string &by = "s_timestamp",
string &order = "desc",
array filter = array(),
bool &is_filtered,
string check_rights = "Y",
mixed limit = false
)
Возвращает список результатов
веб-формы в виде объекта класса CDBResult.
Примечание Возвращаемый список содержит только поля результата. Значения ответов и полей можно
получить с помощью функции CForm::GetResultAnswerArray
или CFormResult::GetDataByID.
Параметры функции
| Параметр |
Описание |
| form_id |
ID веб-формы. |
| by |
Ссылка на переменную с полем для сортировки; может принимать значения:
- s_id - ID результата;
- s_date_create - дата создания;
- s_timestamp - дата изменения (значение по умолчанию);
- s_user_id - ID пользователя, создавшего результат;
- s_guest_id - ID посетителя, создавшего результат;
- s_session_id - ID сессии, в которой был создан результат;
- s_status - ID статуса.
|
| order |
Ссылка на переменную с порядком сортировки. Допустимы следующие значения:
- desc - по убыванию (значение по умолчанию);
- asc - по возрастанию.
|
| filter |
Массив содержащий параметры фильтра. В массиве допустимы следующие ключи:
- ID* - ID результата (по умолчанию будет искаться точное совпадение);
- ID_EXACT_MATCH - если значение равно "N", то при фильтрации по
ID будет искаться вхождение;
- STATUS_ID* - ID статуса (по умолчанию будет искаться точное
совпадение);
- STATUS_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по
STATUS_ID будет искаться вхождение;
- TIMESTAMP_1 - левое значение интервала ("с") по дате изменения
(задается в формате даты текущего сайта);
- TIMESTAMP_2 - правое значение интервала ("по") по дате изменения
(задается в формате даты текущего сайта);
- DATE_CREATE_1 - левое значение интервала ("с") по дате создания
(задается в формате даты текущего сайта);
- DATE_CREATE_2 - правое значение интервала ("по") по дате создания
(задается в формате даты текущего сайта);
- TIME_CREATE_1 - левое значение интервала ("с") по дате создания в
полном формате (дата и время);
- TIME_CREATE_2 - правое значение интервала ("по") по дате создания в
полном формате (дата и время);
- REGISTERED - флаг зарегистрированности автора результата; допустимы
следующие значения:
- Y - автор был зарегистрирован как пользователь;
- N - автор не был зарегистрирован как пользователь.
- USER_AUTH - флаг авторизованности автора результата; допустимы
следующие значения:
- Y - автор был авторизован;
- N - автор не был авторизован.
- USER_ID* - ID пользователя, создавшего результат (автор результата)
(по умолчанию будет искаться точное совпадение);
- USER_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по
USER_ID будет искаться вхождение;
- GUEST_ID* - ID посетителя создавшего результат (автор результата) (по
умолчанию будет искаться точное совпадение);
- GUEST_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по
GUEST_ID будет искаться вхождение;
- SESSION_ID* - ID сессии в которой был создан результат (по умолчанию
будет искаться точное совпадение);
- SESSION_ID_EXACT_MATCH - если значение равно "N", то при фильтрации
по SESSION_ID будет искаться вхождение;
- FIELDS - массив, содержащий параметры фильтра для фильтрации результатов по значениям ответов и полей веб-формы. Каждый элемент данного
массива представляет из себя массив, описывающий параметры фильтра по вопросу или полю веб-формы; ключами подобного массива
могут быть:
- SID - символьный идентификатор вопроса или поля веб-формы;
- PARAMETER_NAME - тип данных по которым фильтруем, допустимы следующие
значения:
- USER - фильтруем по ответам введенных авторами с клавиатуры;
- ANSWER_TEXT - фильтруем по параметру ANSWER_TEXT;
- ANSWER_VALUE - фильтруем по параметру ANSWER_VALUE.
- VALUE - значение, по которому фильтруем (допускается сложная логика);
- FILTER_TYPE - тип фильтра, определяет, как интерпретировать данные по
которым фильтруем:
- integer - означает, что данные, по которым будет осуществляться
фильтрация, считать числами (используется только с
PARAMETER_NAME=[USER|ANSWER_TEXT|ANSWER_VALUE]);
- text - означает, что данные, по которым будет осуществляться
фильтрация, должны обрабатываться как текстовые поля (используется только с
PARAMETER_NAME=[USER|ANSWER_TEXT|ANSWER_VALUE]);
- date - означает, что данные по которым будет осуществляться
фильтрация, должны обрабатываться как даты (используется только с
PARAMETER_NAME=USER);
- answer_id - означает, что фильтрация будет производиться только по
прямому совпадению с ID ответа (при
этом PARAMETER_NAME не имеет значения).
- PART - если тип фильтра FILTER_TYPE=[integer|date], то данное
поле должносодержать одно из трех значений:
- 0 - прямое совпадение со значением;
- 1 - левое значение интервала ("с");
- 2 - правое значение интервала ("по")
- EXACT_MATCH - если FILTER_TYPE="text", то в данном поле можно
задать следующие значения:
- Y - прямое совпадение;
- N - будет искаться вхождение (по умолчанию).
|
| is_filtered |
Ссылка на переменную хранящую флаг отфильтрованности результирующего списка.
Если значение равно "true", то список был отфильтрован. |
| check_rights
| Флаг необходимости проверки прав текущего пользователя. Возможны следующие
значения:
- Y - права необходимо проверить;
- N - права не нужно проверять.
Для того чтобы результат попал в результирующий список,
необходимо обладать следующими правами:
- На веб-форму form_id:
[20] Работа со всеми результатами в
соответствии с их статусами
или
[15] Работа со своим
результатом в соответствии с его статусом - в этом случае результирующий
список будет состоять только из тех результатов создателем которых является
текущий пользователь.
- На статус, в котором находится результат, необходимо иметь право:
[VIEW] просмотр
или
[EDIT] редактирование
или
[DELETE] удаление Параметр необязательный.
По умолчанию - "Y" (права необходимо проверить). |
| limit |
Максимальное количество результатов, которые войдут в результирующий
список.
Параметр необязательный. По умолчанию - "false" (без
ограничений). |
|