- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/points.php
- Класс: CAllForumUserPoints
- Вызов: CAllForumUserPoints::Update
static function Update($FROM_USER_ID, $TO_USER_ID, $arFields)
{
global $DB;
$FROM_USER_ID = intval($FROM_USER_ID);
if ($FROM_USER_ID<=0) return False;
$TO_USER_ID = intval($TO_USER_ID);
if ($TO_USER_ID<=0) return False;
if (!CForumUserPoints::CheckFields("UPDATE", $arFields))
return false;
$strUpdate = $DB->PrepareUpdate("b_forum_user_points", $arFields);
$strDatePostValue = "";
if (!is_set($arFields, "DATE_UPDATE"))
{
$strDatePostValue .= ", DATE_UPDATE = ".$DB->GetNowFunction()." ";
}
$strSql = "UPDATE b_forum_user_points SET ".$strUpdate.$strDatePostValue." WHERE FROM_USER_ID = ".$FROM_USER_ID." AND TO_USER_ID = ".$TO_USER_ID;
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
// Recount user points.
$arUserFields = array();
$arUserFields["POINTS"] = CForumUser::CountUserPoints($TO_USER_ID);
$arUser = CForumUser::GetByUSER_ID($TO_USER_ID);
if ($arUser)
{
CForumUser::Update($arUser["ID"], $arUserFields);
}
else
{
$arUserFields["USER_ID"] = $TO_USER_ID;
$ID_tmp = CForumUser::Add($arUserFields);
}
return true;
}