Описание и параметры
CDBResult
CSession::GetList(
string &by = "s_id",
string &order = "desc",
array filter = array(),
bool &is_filtered
)
Возвращает список сессий.
Параметры метода
Параметр | Описание |
by | Поле для сортировки. Возможные значения:
- s_id - ID сессии;
- s_last_site_id - ID сайта последнего хита сессии;
- s_first_site_id - ID сайта первого хита сессии;
- s_date_first - время первого хита сессии;
- s_date_last - время последнего хита сессии;
- s_user_id - ID пользователя под которым последний раз был авторизован посетитель;
- s_guest_id - ID посетителя;
- s_ip - IP адрес посетителя на последнем хите сессии;
- s_hits - количество хитов в данной сессии;
- s_events - количество событий в данной сессии;
- s_adv_id - ID рекламной кампании по которой пришел посетитель;
- s_country_id - ID страны посетителя;
- s_url_last - страница первого хита сессии;
- s_url_to - страница последнего хита сессии.
|
оrder | Порядок сортировки. Возможные значения:
- asc - по возрастанию;
- desc - по убыванию.
|
filter | Массив для фильтрации результирующего списка. В массиве допустимы следующие ключи:
- ID* - ID сессии;
- ID_EXACT_MATCH - если значение равно "N", то при фильтрации по ID будет искаться вхождение;
- GUEST_ID* - ID посетителя;
- GUEST_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по GUEST_ID будет искаться вхождение;
- NEW_GUEST - флаг "новый посетитель", возможные значения:
- Y - посетитель впервые на портале;
- N - посетитель уже посещал ранее портал.
- USER_ID* - ID пользователя под которым последний раз был авторизован посетитель;
- USER_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по USER_ID будет искаться вхождение;
- USER_AUTH - флаг "был ли посетитель авторизован в данной сессии", возможные значения:
- USER* - ID, логин, имя, фамилия пользователя под которым последний раз был авторизован посетитель;
- USER_EXACT_MATCH - если значение равно "Y", то при фильтрации по USER будет искаться точное совпадение;
- REGISTERED - флаг "был ли авторизован посетитель в данной сессии или до этого", возможные значения:
- FAVORITES - флаг "добавлял ли посетитель сайт в "Избранное"", возможные значения:
- EVENTS1 - начальное значение интервала для поля "количество событий данной сессии";
- EVENTS2 - конечное значение интервала для поля "количество событий данной сессии";
- HITS1 - начальное значение интервала для поля "количество хитов данной сессии";
- HITS2 - конечное значение интервала для поля "количество хитов данной сессии";
- ADV - флаг "приходил ли посетитель в данной сессии по какой-либо рекламной кампании", возможные значения:
- ADV_ID* - ID рекламной кампании;
- ADV_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по ADV_ID будет искаться вхождение;
- ADV_BACK - флаг "возврат по рекламной кампании", возможные значения:
- REFERER1* - идентификатор referer1 рекламной кампании;
- REFERER1_EXACT_MATCH - если значение равно "Y", то при фильтрации по REFERER1 будет искаться точное совпадение;
- REFERER2* - идентификатор referer2 рекламной кампании;
- REFERER2_EXACT_MATCH - если значение равно "Y", то при фильтрации по REFERER2 будет искаться точное совпадение;
- REFERER3* - дополнительный параметр referer3 рекламной кампании;
- REFERER3_EXACT_MATCH - если значение равно "Y", то при фильтрации по REFERER3 будет искаться точное совпадение;
- STOP - флаг "попал ли посетитель под какую либо запись стоп-листа", возможные значения:
- STOP_LIST_ID* - ID записи стоп-листа под которую попал посетитель, если это имело место быть;
- STOP_LIST_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по STOP_LIST_ID будет искаться вхождение;
- COUNTRY_ID* - ID страны посетителя;
- COUNTRY_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по COUNTRY_ID будет искаться вхождение;
- COUNTRY* - наименование страны посетителя;
- COUNTRY_EXACT_MATCH - если значение равно "Y", то при фильтрации по COUNTRY будет искаться точное совпадение;
- IP* - IP адрес посетителя на последнем хите сессии;
- IP_EXACT_MATCH - если значение равно "Y", то при фильтрации по IP будет искаться точное совпадение;
- USER_AGENT* - UserAgent посетителя;
- USER_AGENT_EXACT_MATCH - если значение равно "Y", то при фильтрации по USER_AGENT будет искаться точное совпадение;
- DATE_START_1 - начальное значение интервала для поля "время первого хита сессии";
- DATE_START_2 - конечное значение интервала для поля "время первого хита сессии";
- DATE_END_1 - начальное значение интервала для поля "время последнего хита сессии";
- DATE_END_2 - конечное значение интервала для поля "время последнего хита сессии";
- URL_TO* - первая страница сессии;
- URL_TO_EXACT_MATCH - если значение равно "Y", то при фильтрации по URL_TO будет искаться точное совпадение;
- URL_TO_404 - была ли 404 ошибка на первой страницы сессии
- FIRST_SITE_ID* - ID сайта на первом хите сессии;
- FIRST_SITE_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по FIRST_SITE_ID будет искаться вхождение;
- URL_LAST* - последняя страница сессии;
- URL_LAST_EXACT_MATCH - если значение равно "Y", то при фильтрации по URL_LAST будет искаться точное совпадение;
- URL_LAST_404 - была ли 404 ошибка на последней страницы сессии
- LAST_SITE_ID* - ID сайта на последнем хите сессии;
- LAST_SITE_ID_EXACT_MATCH - если значение равно "N", то при фильтрации по LAST_SITE_ID будет искаться вхождение.
* - допускается сложная логика |
is_filtered | Флаг отфильтрованности результирующего списка. Если значение равно "true", то список был отфильтрован. |
Структура возвращаемой записи
Array
(
[ID] => ID сессии
[GUEST_ID] => ID посетителя
[NEW_GUEST] => флаг "новый посетитель" (Y - новый; N - вернувшийся)
[USER_ID] => ID пользователя под которым последний раз был авторизован посетитель
[USER_AUTH] => флаг "авторизован ли посетитель в данной сессии" (Y - да; N - нет)
[C_EVENTS] => количество событий произведенных в данной сессии
[HITS] => количество хитов произведенных в данной сессии
[FAVORITES] => флаг "добавлял ли посетитель сайт в "Избранное" в данной сессии
[STOP_LIST_ID] => ID записи стоп-листа, под которую попал посетитель (если это имело место быть)
[COUNTRY_ID] => ID страны посетителя
[USER_AGENT] => UserAgent посетителя
[URL_FROM] => ссылающаяся страница для первого хита сессии
[DATE_STAT] => дата первого хита сессии
[DATE_FIRST] => время первого хита сессии
[URL_TO] => страница первого хита сессии
[URL_TO_404] => флаг 404 ошибки на первой странице сессии (Y - да; N - нет)
[FIRST_HIT_ID] => ID первого хита
[FIRST_SITE_ID] => ID сайта для первого хита сессии
[IP_FIRST] => IP адрес посетителя на первом хите сессии (в виде: XXX.XXX.XXX.XXX)
[IP_FIRST_NUMBER] => IP адрес посетителя на первом хите сессии (в числовом представлении)
[DATE_LAST] => время последнего хита сессии
[URL_LAST] => страница последнего хита сессии
[URL_LAST_404] => флаг 404 ошибки на последней странице сессии (Y - да; N - нет)
[LAST_HIT_ID] => ID последнего хита
[LAST_SITE_ID] => ID сайта для последнего хита сессии
[IP_LAST] => IP адрес посетителя на последнем хите сессии (в виде: XXX.XXX.XXX.XXX)
[IP_LAST_NUMBER] => IP адрес посетителя на последнем хите сессии (в числовом представлении)
[ADV_ID] => ID рекламной кампании
[ADV_BACK] => флаг прямого захода (N) или возврата (Y) по рекламной кампании
[REFERER1] => идентификатор referer1 рекламной кампании
[REFERER2] => идентификатор referer2 рекламной кампании
[REFERER3] => дополнительный параметр referer3 рекламной кампании
[SESSION_TIME] => разница во времени между первым и последним хитом сессии (сек.)
[PHPSESSID] => идентификатор сессии выданный PHP
)
Примеры использования
<?
// выберем все неудаленные сессии посетителя #1025
$arFilter = array(
"GUEST_ID" => "1025"
);
// получим список записей
$rs = CSession::GetList(
($by = "s_id"),
($order = "desc"),
$arFilter,
$is_filtered
);
// выведем все записи
while ($ar = $rs->Fetch())
{
echo "<pre>"; print_r($ar); echo "</pre>";
}
?>
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.