- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/counter.php
- Класс: BitrixSocialnetworkComponentLogListCounter
- Вызов: Counter::clearLogCounter
public function clearLogCounter(&$result): void
{
$params = $this->getComponent()->arParams;
if (
$params['SET_LOG_COUNTER'] !== 'Y'
|| (isset($result['EXPERT_MODE_SET']) && $result['EXPERT_MODE_SET'])
|| !Util::checkUserAuthorized()
)
{
return;
}
if (
(int)$result['LOG_COUNTER'] > 0
|| $this->getEmptyCounter()
)
{
CUserCounter::clear(
$result['currentUserId'],
$result['COUNTER_TYPE'],
[ SITE_ID, '**' ],
true, // sendPull
true // multiple
);
if ((int)$result['LOG_COUNTER_IMPORTANT'] > 0)
{
CUserCounter::clear(
$result['currentUserId'],
'BLOG_POST_IMPORTANT',
SITE_ID
);
}
$res = getModuleEvents('socialnetwork', 'OnSonetLogCounterClear');
while ($eventFields = $res->fetch())
{
executeModuleEventEx($eventFields, [ $result['COUNTER_TYPE'], (int)$result['LAST_LOG_TS'] ]);
}
}
elseif (in_array($result['COUNTER_TYPE'], [ '**', 'CRM_**' ], true)) // set last date only
{
$pool = BitrixMainApplication::getInstance()->getConnectionPool();
$pool->useMasterOnly(true);
CUserCounter::clear(
$result['currentUserId'],
$result['COUNTER_TYPE'],
[ SITE_ID, '**' ],
false, // sendPull
false, // multiple
false // cleanCache
);
$pool->useMasterOnly(false);
}
}