- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/page.php
- Класс: BitrixSocialnetworkComponentLogListPage
- Вызов: Page::getLogPageData
public function getLogPageData(&$result): void
{
$params = $this->getComponent()->arParams;
$processorInstance = $this->getProcessorInstance();
$this->setNeedSetLogPage(false);
if ($params['SET_LOG_PAGE_CACHE'] === 'Y')
{
$resPages = LogPageTable::getList([
'order' => [],
'filter' => [
'USER_ID' => $result['currentUserId'],
'=SITE_ID' => SITE_ID,
'=GROUP_CODE' => $result['COUNTER_TYPE'],
'PAGE_SIZE' => $params['PAGE_SIZE'],
'PAGE_NUM' => $result['PAGE_NUMBER']
],
'select' => [ 'PAGE_LAST_DATE', 'TRAFFIC_AVG', 'TRAFFIC_CNT', 'TRAFFIC_LAST_DATE' ]
]);
if ($pagesFields = $resPages->fetch())
{
$this->setDateLastPageStart($pagesFields['PAGE_LAST_DATE']);
$this->setLastPageData([
'TRAFFIC_LAST_DATE_TS' => ($pagesFields['TRAFFIC_LAST_DATE'] ? $processorInstance->makeTimeStampFromDateTime($pagesFields['TRAFFIC_LAST_DATE'], 'FULL') : 0),
'TRAFFIC_AVG' => (int)$pagesFields['TRAFFIC_AVG'],
'TRAFFIC_CNT' => (int)$pagesFields['TRAFFIC_CNT']
]);
$processorInstance->setFilterKey('>=LOG_UPDATE', convertTimeStamp($processorInstance->makeTimeStampFromDateTime($pagesFields['PAGE_LAST_DATE'], 'FULL') - 60*60*24*1, 'FULL'));
}
elseif(
$result['isExtranetSite']
&& !$this->getComponent()->getCurrentUserAdmin()
) // extranet user
{
$res = UserToGroupTable::getList([
'order' => [
'GROUP_DATE_CREATE' => 'ASC'
],
'filter' => [
'USER_ID' => $result['currentUserId'],
'@ROLE' => UserToGroupTable::getRolesMember(),
'!GROUP_DATE_CREATE' => false
],
'select' => [
'GROUP_DATE_CREATE' => 'GROUP.DATE_CREATE'
]
]);
if ($relation = $res->fetch())
{
$processorInstance->setFilterKey('>=LOG_UPDATE', $relation['GROUP_DATE_CREATE']);
}
}
elseif (
(
$result['COUNTER_TYPE'] !== '**'
|| $result['MY_GROUPS_ONLY'] !== 'Y'
)
&& $result['PAGE_NUMBER'] <= 1
)
{
$resPages = LogPageTable::getList([
'order' => [
'PAGE_LAST_DATE' => 'DESC'
],
'filter' => [
'=SITE_ID' => SITE_ID,
'=GROUP_CODE' => $result['COUNTER_TYPE'],
'PAGE_SIZE' => $params['PAGE_SIZE'],
'PAGE_NUM' => $result['PAGE_NUMBER']
],
'select' => [ 'PAGE_LAST_DATE' ]
]);
if ($pagesFields = $resPages->fetch())
{
$this->setDateLastPageStart($pagesFields['PAGE_LAST_DATE']);
$processorInstance->setFilterKey('>=LOG_UPDATE', convertTimeStamp($processorInstance->makeTimeStampFromDateTime($pagesFields['PAGE_LAST_DATE'], 'FULL') - 60*60*24*4, 'FULL'));
$this->setNeedSetLogPage(true);
}
}
}
}