86 $counterPageSize = (int)static::getPageSizeOption(100);
88 $userSQL =
"SELECT USER_ID FROM b_user_counter WHERE SENT='0' GROUP BY USER_ID LIMIT ".$counterPageSize;
94 while ($row =
$res->fetch())
96 $userIdList[] = (int)$row[
"USER_ID"];
101 &&
$USER->isAuthorized()
102 &&
count($userIdList) >= $counterPageSize
103 && !in_array((
int)
$USER->getId(), $userIdList,
true)
106 $userIdList[] = (int)
$USER->getId();
110 foreach($userIdList as
$userId)
112 $userString .= ($userString <>
''?
', ' :
'').
$userId;
115 if ($userString <>
'')
121 while($row =
$res->Fetch())
129 SELECT uc.USER_ID as CHANNEL_ID, uc.USER_ID, uc.SITE_ID, uc.CODE, uc.CNT
130 FROM b_user_counter uc
131 INNER JOIN b_user u ON u.ID = uc.USER_ID AND (CASE WHEN u.EXTERNAL_AUTH_ID IN ('" . implode(
"', '", \
Bitrix\Main\UserTable::getExternalUserTypes()) .
"') THEN 'Y' ELSE 'N' END) = 'N' AND u.LAST_ACTIVITY_DATE > " . $helper->addSecondsToDateTime(
'(-3600)').
"
132 WHERE uc.USER_ID IN (".$userString.
") AND uc.CODE NOT LIKE '" . CUserCounter::LIVEFEED_CODE .
"L%' AND uc.SENT = '0'
136 while($row =
$res->Fetch())
138 CUserCounter::addValueToPullMessage($row,
$arSites, $pullMessage);
142 SELECT uc.USER_ID as CHANNEL_ID, uc.USER_ID, uc.SITE_ID, uc.CODE, uc.CNT
143 FROM b_user_counter uc
144 INNER JOIN b_user u ON u.ID = uc.USER_ID AND (CASE WHEN u.EXTERNAL_AUTH_ID IN ('" . implode(
"', '", \
Bitrix\Main\UserTable::getExternalUserTypes()) .
"') THEN 'Y' ELSE 'N' END) = 'N' AND u.LAST_ACTIVITY_DATE > " . $helper->addSecondsToDateTime(
'(-3600)').
"
145 WHERE uc.USER_ID IN (" . $userString .
") AND uc.CODE LIKE '" . CUserCounter::LIVEFEED_CODE .
"L%'
149 while($row =
$res->Fetch())
151 CUserCounter::addValueToPullMessage($row,
$arSites, $pullMessage);
154 $DB->Query(
"UPDATE b_user_counter SET SENT = '1' WHERE SENT = '0' AND USER_ID IN (".$userString.
")");
159 if (\CUserCounter::CheckLiveMode())
161 foreach ($pullMessage as
$channelId => $arMessage)
164 'module_id' =>
'main',
165 'command' =>
'user_counter',
167 'params' => $arMessage,