foreach ($message as $MID) { $arrVars = array("FOLDER_ID" => intVal($folder_id), "USER_ID" => $USER->GetId()); if ($folder_id == 4 || $arResult["action"] != "move") { $arrVars["IS_READ"] = "Y"; } if (!CForumPrivateMessage::CheckPermissions($MID)) { $arError[] = array("id" => "BAD_PERMISSION_" . $MID, "text" => str_replace("#MID#", $MID, GetMessage("PM_ERR_MOVE_NO_PERM"))); } elseif ($arResult["action"] == "move") { if (!CForumPrivateMessage::Update($MID, $arrVars)) { $err = $APPLICATION->GetException(); $arError[] = array("id" => "BAD_MOVE_" . $MID, "text" => $err->GetString()); } else { $strOK .= str_replace("#MID#", $MID, GetMessage("PM_OK_MOVE")) . "\n"; } } else { if (!CForumPrivateMessage::Copy($MID, $arrVars)) { $err = $APPLICATION->GetException(); $arError[] = array("id" => "BAD_MOVE_" . $MID, "text" => $err->GetString()); } else { $strOK .= str_replace("#MID#", $MID, GetMessage("PM_OK_COPY")) . "\n"; } } } } BXClearCache(true, "/bitrix/forum/user/" . intVal($USER->GetID()) . "/"); $arComponentPath = array("bitrix:forum"); foreach ($arComponentPath as $path) { $componentRelativePath = CComponentEngine::MakeComponentPath($path); $arComponentDescription = CComponentUtil::GetComponentDescr($path); if (strLen($componentRelativePath) <= 0 || !is_array($arComponentDescription)) { continue;
$arError[] = array("id" => "bad_permission_" . $MID, "text" => str_replace("#MID#", $MID, GetMessage("PM_ERR_DELETE_NO_PERM"))); } elseif (!CForumPrivateMessage::Delete($MID, array("FOLDER_ID" => 4))) { $arError[] = array("id" => "not_delete_" . $MID, "text" => str_replace("#MID#", $MID, GetMessage("PM_ERR_DELETE"))); } else { $arOk[] = array("id" => "delete_" . $MID, "text" => str_replace("#MID#", $MID, GetMessage("PM_OK_DELETE"))); } } } elseif (($action == "copy" || $action == "move") && intVal($_REQUEST["folder_id"]) <= 0) { $arError[] = array("id" => "empty_folder_id_", "text" => GetMessage("PM_ERR_MOVE_NO_FOLDER")); } elseif ($action == "copy" || $action == "move") { $folder_id = intVal($_REQUEST["folder_id"]); $arrVars = array("FOLDER_ID" => intVal($folder_id), "USER_ID" => $USER->GetId(), "IS_READ" => "Y"); foreach ($message as $MID) { if (!CForumPrivateMessage::CheckPermissions($MID)) { $arError[] = array("id" => "bad_permission_" . $MID, "text" => str_replace("#MID#", intVal($MID), GetMessage("PM_ERR_MOVE_NO_PERM"))); } elseif ($action == "move" && !CForumPrivateMessage::Update($MID, $arrVars) || $action == "copy" && !CForumPrivateMessage::Copy($MID, $arrVars)) { $err = $APPLICATION->GetException(); if ($err) { $arError[] = array("id" => "bad_" . $action . "_" . $MID, "text" => $err->GetString()); } } else { $arOk[] = array("id" => $action . "_" . $MID, "text" => str_replace("#MID#", $MID, GetMessage("PM_OK_MOVE"))); } } } elseif ($action == "send_notification" && $arParams["version"] == 2 && $arResult["MESSAGE"]["REQUEST_IS_READ"] == "Y") { $arNotification["POST_SUBJ"] = GetMessage("SYSTEM_POST_SUBJ"); $arNotification["POST_MESSAGE"] = GetMessage("SYSTEM_POST_MESSAGE"); $arNotification["FIELDS"] = array("USER_NAME" => $arResult["MESSAGE"]["~RECIPIENT_NAME"], "USER_ID" => $arResult["MESSAGE"]["RECIPIENT_ID"], "USER_LINK" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arResult["MESSAGE"]["RECIPIENT_ID"])), "SUBJECT" => $arResult["MESSAGE"]["~POST_SUBJ"], "MESSAGE" => $arResult["MESSAGE"]["~POST_MESSAGE"], "MESSAGE_DATE" => $arResult["MESSAGE"]["POST_DATE"], "MESSAGE_LINK" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PM_READ"], array("FID" => "1", "MID" => $arResult["MESSAGE"]["ID"])), "SERVER_NAME" => SITE_SERVER_NAME); foreach ($arNotification["FIELDS"] as $key => $val) { $arNotification["POST_MESSAGE"] = str_replace("#" . $key . "#", $val, $arNotification["POST_MESSAGE"]); }