public static function DeleteConversation($CurrentUserID, $PartnerUserID) { global $APPLICATION, $DB; $CurrentUserID = IntVal($CurrentUserID); $PartnerUserID = IntVal($PartnerUserID); if ($CurrentUserID <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_SENDER_USER_ID"), "ERROR_USER_ID"); return false; } if ($PartnerUserID <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_TARGET_USER_ID"), "ERROR_USER_ID"); return false; } $dbMessages = CSocNetMessages::GetMessagesForChat($CurrentUserID, $PartnerUserID); while ($arMessages = $dbMessages->GetNext()) { CSocNetMessages::DeleteMessage($arMessages["ID"], $CurrentUserID, false); } CSocNetMessages::__SpeedFileCheckMessages($CurrentUserID); return true; }
$arTmpData["MESSAGE"] = str_replace("#BR#", "<br />", $arTmpData["MESSAGE"]); $arTmpData["URL_MESSAGE"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MESSAGE_FORM_MESS"], array("user_id" => $arUserRequests["FROM_USER_ID"], "message_id" => $arUserRequests["ID"])); $arTmpData["URL_BAN"] = "EventType=Message&userID=" . $arUserRequests["FROM_USER_ID"] . "&action=ban"; $arTmpData["CAN_ANSWER"] = $arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE && $canAnsver ? "Y" : "N"; $arTmpData["CAN_BAN"] = !CSocNetUser::IsUserModuleAdmin($arUserRequests["FROM_USER_ID"], $site) && $arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE ? "Y" : "N"; if ($arTmpData["CAN_ANSWER"] == "Y") { $arTmpData["BUTTONS"] = array(array("NAME" => GetMessage("SONET_C2_ANSWER"), "ID" => "reply", "ONCLICK" => "function () \n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\twindow.open('" . $arTmpData["URL_MESSAGE"] . "', '', 'location=yes,status=no,scrollbars=yes,resizable=yes,width=700,height=550,top='+Math.floor((screen.height - 550)/2-14)+',left='+Math.floor((screen.width - 700)/2-5));\n\t\t\t\t\t\t\t\t\t\t_this.Next();\n\t\t\t\t\t\t\t\t\t\t_this.oData.splice(_this.oCurrentMessagePointer-1, 1);\n\t\t\t\t\t\t\t\t\t\tif (_this.oCurrentMessagePointer > 0)\n\t\t\t\t\t\t\t\t\t\t\t_this.oCurrentMessagePointer--;\n\t\t\t\t\t\t\t\t\t\t_this.adjustPaging();\n\t\t\t\t\t\t\t\t\t\t_this.ShowContent(_this.oCurrentMessagePointer);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}")); } $arData[] = $arTmpData; } // while } // if bGet } if (count($arData) <= 0 || $arData[0] != "*") { CSocNetMessages::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID()); CSocNetUserToGroup::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID()); CSocNetUserRelations::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID()); } global $tmpSite; $tmpSite = $site; function date_cmp($a, $b) { global $tmpSite, $DB; $ts_a = $DB->CharToDateFunction($a["DATE"], "FULL", $tmpSite); $ts_b = $DB->CharToDateFunction($b["DATE"], "FULL", $tmpSite); if ($ts_a == $ts_b) { return 0; } return $ts_a < $ts_b ? -1 : 1; }