- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/private_message.php
- Класс: CAllForumPrivateMessage
- Вызов: CAllForumPrivateMessage::Copy
static function Copy($ID, $arFields = array())
{
global $DB;
$ID = intval($ID);
$list = array();
$list = CForumPrivateMessage::GetList(array(), array("ID"=>$ID));
$list = $list->GetNext();
foreach (GetModuleEvents("forum", "onBeforePMCopy", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array($ID, &$list, &$arFields)) === false)
return false;
}
if(CForumPrivateMessage::CheckFields($arFields))
{
$keys = array_keys($arFields);
foreach ($keys as $key)
if (is_set($list, $key))
$list[$key] = $arFields[$key];
if(!isset($list["POST_DATE"]))
$list["~POST_DATE"] = $DB->GetNowFunction();
$list["IS_READ"] = "Y";
$list["REQUEST_IS_READ"] = $list["REQUEST_IS_READ"]!="Y" ? "N" : "Y";
unset($list["ID"]);
unset($list["~ID"]);
$result = $DB->Add("b_forum_private_message", $list, Array("POST_MESSAGE"));
if ($result)
{
foreach (GetModuleEvents("forum", "onAfterPMCopy", true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($result, &$arFields));
}
return $result;
}
return false;
}