• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/private_message.php
  • Класс: CAllForumPrivateMessage
  • Вызов: CAllForumPrivateMessage::Update
static function Update($ID, $arFields)
{
	global $DB, $USER;
	$ID = intval($ID);

	if (is_set($arFields, "AUTHOR_ID")&&(intval($arFields["AUTHOR_ID"])))
		$arFields["AUTHOR_ID"] = $arFields["USER_ID"];
	if (is_set($arFields, "RECIPIENT_ID")&&(intval($arFields["RECIPIENT_ID"])))
		$arFields["RECIPIENT_ID"] = $arFields["USER_ID"];
	if (is_set($arFields, "POST_DATE")&&(trim($arFields["POST_DATE"]) == ''))
		$arFields["~POST_DATE"] =  $DB->GetNowFunction();
	if(is_set($arFields, "USE_SMILES") && $arFields["USE_SMILES"]!="Y")
		$arFields["USE_SMILES"]="N";
	if(is_set($arFields, "IS_READ") && $arFields["IS_READ"]!="Y")
		$arFields["IS_READ"]="N";
	if(is_set($arFields, "FOLDER_ID") && (intval($arFields["FOLDER_ID"]) < 0))
		$arFields["FOLDER_ID"] = 4;

	foreach (GetModuleEvents("forum", "onBeforePMUpdate", true) as $arEvent)
	{
		if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false)
			return false;
	}

	if(CForumPrivateMessage::CheckFields($arFields, true))
	{
		$strUpdate = $DB->PrepareUpdate("b_forum_private_message", $arFields);
		$strSql = "UPDATE b_forum_private_message SET ".$strUpdate." WHERE ID=".$ID;
		$res = $DB->QueryBind($strSql, Array("POST_MESSAGE"=>$arFields["POST_MESSAGE"]), false, "FILE: ".__FILE__."
LINE: ".__LINE__); return $res; } return false; }