- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/user.php
- Класс: CALLForumStat
- Вызов: CALLForumStat::RegisterUSER
static function RegisterUSER($arFields = array())
{
global $DB, $USER;
$tmp = ($_SESSION["FORUM"]["SHOW_NAME"] == "Y" && trim($USER->GetFullName()) <> '' ?
trim($USER->GetFullName()) : $USER->GetLogin());
if (method_exists(BitrixMainApplication::getInstance(), "getKernelSession"))
{
$session_id = BitrixMainApplication::getInstance()->getKernelSession()->getId();
}
else
{
$session_id = bitrix_sessid();
}
$session_id = "'".$DB->ForSQL($session_id, 255)."'";
$Fields = array(
"USER_ID" => intval($USER->GetID()),
"IP_ADDRESS" => "'".$DB->ForSql($_SERVER["REMOTE_ADDR"], 15)."'",
"SHOW_NAME" => "'".$DB->ForSQL($tmp, 255)."'",
"LAST_VISIT" => $DB->GetNowFunction(),
"SITE_ID" => "'".$DB->ForSQL($arFields["SITE_ID"], 2)."'",
"FORUM_ID" => intval($arFields["FORUM_ID"]),
"TOPIC_ID" => intval($arFields["TOPIC_ID"]));
$rows = $DB->Update("b_forum_stat", $Fields, "WHERE PHPSESSID=".$session_id."", "File: ".__FILE__."
Line: ".__LINE__);
if (intval($rows)<=0)
{
$Fields = array(
"USER_ID" => intval($USER->GetID()),
"IP_ADDRESS" => "'".$DB->ForSql($_SERVER["REMOTE_ADDR"], 15)."'",
"SHOW_NAME" => "'".$DB->ForSQL($tmp, 255)."'",
"PHPSESSID" => $session_id,
"LAST_VISIT" => $DB->GetNowFunction(),
"SITE_ID" => "'".$DB->ForSQL($arFields["SITE_ID"], 2)."'",
"FORUM_ID" => intval($arFields["FORUM_ID"]),
"TOPIC_ID" => intval($arFields["TOPIC_ID"]));
return $DB->Insert("b_forum_stat", $Fields, "File: ".__FILE__."
Line: ".__LINE__);
}
return true;
}