Описание и параметры
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>";
}
?>