- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_pages.php
- Класс: CSocNetLogPages
- Вызов: CSocNetLogPages::Set
static function Set($user_id, $page_last_date, $page_size, $page_num = 1, $site_id = SITE_ID, $group_code = '**', $traffic_avg = false, $traffic_cnt = false)
{
global $DB;
$user_id = intval($user_id);
$page_size = intval($page_size);
$page_num = intval($page_num);
$traffic_avg = intval($traffic_avg);
$traffic_cnt = intval($traffic_cnt);
if (
$user_id <= 0
|| $page_size <= 0
|| $page_last_date == ''
)
{
return false;
}
$page_last_date = new BitrixMainTypeDateTime($page_last_date);
$connection = BitrixMainApplication::getConnection();
$helper = $connection->getSqlHelper();
$arInsertFields = array(
"USER_ID" => $user_id,
"SITE_ID" => $DB->ForSQL($site_id),
"GROUP_CODE" => $DB->ForSQL($group_code),
"PAGE_SIZE" => $page_size,
"PAGE_NUM" => $page_num,
"PAGE_LAST_DATE" => $page_last_date
);
$arUpdateFields = array(
"PAGE_LAST_DATE" => $page_last_date
);
if ($traffic_cnt)
{
$arInsertFields["TRAFFIC_AVG"] = $arUpdateFields["TRAFFIC_AVG"] = $traffic_avg;
$arInsertFields["TRAFFIC_CNT"] = $arUpdateFields["TRAFFIC_CNT"] = $traffic_cnt;
$arInsertFields["TRAFFIC_LAST_DATE"] = $arUpdateFields["TRAFFIC_LAST_DATE"] = new BitrixMainDBSqlExpression($helper->getCurrentDateTimeFunction());
}
$merge = $helper->prepareMerge(
"b_sonet_log_page",
array("USER_ID", "SITE_ID", "GROUP_CODE", "PAGE_SIZE", "PAGE_NUM"),
$arInsertFields,
$arUpdateFields
);
if ($merge[0] != "")
{
$connection->query($merge[0]);
if ($traffic_cnt)
{
CSocNetLogFollow::checkAutoUnfollow($traffic_cnt, $traffic_avg, $user_id);
}
}
}