• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/support.php
  • Класс: CAllTicket
  • Вызов: CAllTicket::SplitTicket
static function SplitTicket($arParam)
{
	global $DB;
	$err_mess = (CAllTicket::err_mess())."
Function: SplitTicket
Line: "; $intLastTicketID = intval($arParam['SOURCE_TICKET_ID']); $arTicket = CTicket::GetByID($intLastTicketID, $lang = LANG, $checkRights="N", $get_user_name="N", $get_extra_names="N")->Fetch(); $arSite = CSite::GetById($arTicket['SITE_ID'])->Fetch(); $stLastTicketTitle = htmlspecialcharsEx($arParam['SOURCE_TICKET_TITLE']); $intSplitMesageID = intval($arParam['SOURCE_MESSAGE_NUM']); $stSplitMesageDate = MakeTimeStamp($arParam['SOURCE_MESSAGE_DATE'], "DD.MM.YYYY HH:MI:SS") ? $arParam['SOURCE_MESSAGE_DATE'] : ''; BitrixMainLocalizationLoc::loadLanguageFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/support/admin/ticket_edit.php', $arSite['LANGUAGE_ID']); // add to the previous post about ticket allocation of posts in a separate branch $arFields = array( "MESSAGE_CREATED_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], "MESSAGE_CREATED_MODULE_NAME" => "support", "MESSAGE_CREATED_GUEST_ID" => "null", "MESSAGE_SOURCE_ID" => $arParam['SOURCE_MESSAGE_ID'], "MESSAGE" => BitrixMainLocalizationLoc::getMessage("SUP_SPLIT_MESSAGE_USER_1", array("#MESSAGE_DATE#" => $stSplitMesageDate, "#TITLE#" => '# '.$arParam['SPLIT_TICKET_ID'].' "'.$arParam['SPLIT_TICKET_TITLE'].'"'), $arSite['LANGUAGE_ID']), "LOG" => "N", "HIDDEN" => "N", "NOT_CHANGE_STATUS" => "Y", "MESSAGE_AUTHOR_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], ); CTicket::AddMessage($intLastTicketID, $arFields, $arFiles=Array(), "N"); // add to the previous post about ticket allocation of posts in a separate branch (support log) $arFields_log = array( "MESSAGE_CREATED_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], "MESSAGE_CREATED_MODULE_NAME" => "support", "MESSAGE_CREATED_GUEST_ID" => "null", "MESSAGE_SOURCE_ID" => $arParam['SOURCE_MESSAGE_ID'], "MESSAGE" => BitrixMainLocalizationLoc::getMessage("SUP_SPLIT_MESSAGE_LOG_1", array("#MESSAGE_ID#" => $intSplitMesageID, "#TITLE#" => ' # '.$arParam['SPLIT_TICKET_ID'].' "'.$arParam['SPLIT_TICKET_TITLE'].'"'), $arSite['LANGUAGE_ID']), "LOG" => "Y", ); CTicket::AddMessage($intLastTicketID, $arFields_log, $arFiles_log=Array(), "N"); // add a new ticket allocation message posted in a separate branch $arFields = array( "MESSAGE_CREATED_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], "MESSAGE_CREATED_MODULE_NAME" => "support", "MESSAGE_CREATED_GUEST_ID" => "null", "MESSAGE_SOURCE_ID" => $arParam['SOURCE_MESSAGE_ID'], "MESSAGE" => BitrixMainLocalizationLoc::getMessage("SUP_SPLIT_MESSAGE_USER_2", array("#MESSAGE_DATE#" => $stSplitMesageDate, "#TITLE#" => '# '.$intLastTicketID.' "'.$stLastTicketTitle.'"'), $arSite['LANGUAGE_ID']), "LOG" => "N", "HIDDEN" => "N", "NOT_CHANGE_STATUS" => "Y", "MESSAGE_AUTHOR_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], ); CTicket::AddMessage($arParam['SPLIT_TICKET_ID'], $arFields, $arFiles=Array(), "N"); // add a new ticket allocation message posted in a separate branch (support log) $arFields_log = array( "MESSAGE_CREATED_USER_ID" => $arParam['SPLIT_MESSAGE_USER_ID'], "MESSAGE_CREATED_MODULE_NAME" => "support", "MESSAGE_CREATED_GUEST_ID" => "null", "MESSAGE_SOURCE_ID" => $arParam['SOURCE_MESSAGE_ID'], "MESSAGE" => BitrixMainLocalizationLoc::getMessage("SUP_SPLIT_MESSAGE_LOG_2", array("#MESSAGE_ID#" => $intSplitMesageID, "#TITLE#" => ' # '.$intLastTicketID.' "'.$stLastTicketTitle.'"'), $arSite['LANGUAGE']), "LOG" => "Y", ); CTicket::AddMessage($arParam['SPLIT_TICKET_ID'], $arFields_log, $arFiles_log=Array(), "N"); // If the message that we want to separate, there are attached files, copy them if (isset($arParam['SPLIT_ATTACH_FILE'])) { $res = CTicket::GetMessageList('ID', 'ASC', array('TICKET_ID'=>$arParam['SPLIT_TICKET_ID'])); $MESSAGE = $res->Fetch(); foreach($arParam['SPLIT_ATTACH_FILE'] as $key => $iAttachFile) { $fid = CFile::CopyFile(intval($iAttachFile)); if ($fid>0) { $arFields_fi = array( "HASH" => "'".$DB->ForSql(md5(uniqid(mt_rand(), true).time()), 255)."'", "MESSAGE_ID" => $MESSAGE['ID'], "FILE_ID" => $fid, "TICKET_ID" => $arParam['SPLIT_TICKET_ID'], "EXTENSION_SUFFIX" => "null" ); $DB->Insert("b_ticket_message_2_file",$arFields_fi, $err_mess.__LINE__); } } } }