- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/messages.php
- Класс: CAllSocNetMessages
- Вызов: CAllSocNetMessages::MarkMessageRead
static function MarkMessageRead($senderUserID, $messageID, $bRead = true)
{
global $APPLICATION;
$senderUserID = intval($senderUserID);
if ($senderUserID <= 0)
{
$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_SENDER_USER_ID"), "ERROR_SENDER_USER_ID");
return false;
}
$messageID = intval($messageID);
if ($messageID <= 0)
{
$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_MESSAGE_ID"), "ERROR_MESSAGE_ID");
return false;
}
$arFilter = array(
"ID" => $messageID,
"TO_USER_ID" => $senderUserID,
"IS_LOG_ALL" => "Y"
);
if ($bRead)
$arFilter["DATE_VIEW"] = "";
$dbResult = CSocNetMessages::GetList(
array(),
$arFilter,
false,
false,
array("ID", "DATE_CREATE")
);
if ($arResult = $dbResult->Fetch())
{
if ($bRead)
$arFields = array("=DATE_VIEW" => $GLOBALS["DB"]->CurrentTimeFunction());
else
$arFields = array("DATE_VIEW" => false);
if (!CSocNetMessages::Update($arResult["ID"], $arFields))
{
$errorMessage = "";
if ($e = $GLOBALS["APPLICATION"]->GetException())
$errorMessage = $e->GetString();
if ($errorMessage == '')
$errorMessage = GetMessage("SONET_UR_ERROR_UPDATE_MESSAGE");
$GLOBALS["APPLICATION"]->ThrowException($errorMessage, "ERROR_UPDATE_MESSAGE");
return false;
}
else
{
CSocNetMessages::__SpeedFileCheckMessages($senderUserID);
}
}
else
{
$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_NO_MESSAGE"), "ERROR_NO_MESSAGE");
return false;
}
return true;
}