function TicketMessageCreate()
 {
     Server::InitCacheManager();
     $message = new TicketMessage();
     $params = ApiV2::GetObjectFields("TicketMessage");
     if ($message = $this->CreateFromJSON($params, json_decode($_POST["p_data"]), $message, "TicketMessage")) {
         $ticket = new Ticket($message->TicketId, true);
         $ticket->LoadMessages();
         if (count($ticket->Messages) == 0) {
             $message->Id = $ticket->Id;
         } else {
             $message->Id = getid(32);
         }
         if (!empty($message->SenderId)) {
             if (Operator::GetSystemId($message->SenderId) != null) {
                 $message->SenderUserId = Operator::GetSystemId($message->SenderId);
             }
         }
         if (is_array($message->Customs)) {
             $message->Customs = ApiV2::ToNameBasedArray($message->Customs);
             $message->Customs = DataInput::ToIndexBased($message->Customs);
         }
         if (is_array($message->Comments)) {
             foreach ($message->Comments as $comar) {
                 $message->AddComment($comar[0], $ticket->Id, $comar[1]);
             }
         }
         if (empty($message->ChannelId)) {
             $message->ChannelId = getId(32);
         }
         $message->Hash = $ticket->GetHash();
         $message->Save($ticket->Id);
         if (!empty($_POST["p_sendemailreply"])) {
             $ticket->Load();
             $ticket->SendEditorReply($message->Id, !empty($_POST["p_quotemessageid"]) ? $_POST["p_quotemessageid"] : "");
         }
         if (!empty($_POST["p_sendemailresponder"])) {
             $ticket->Load();
             $ticket->SendAutoresponder(null, null, $message);
         }
         $ticket->SetLastUpdate(time());
         $this->JSONOutput = APIV2::Encode(array("TicketMessage" => ApiV2::ClearObject($params, $message)), $this->JSONParams);
     }
 }
Ejemplo n.º 2
0
 function TicketMessageCreate()
 {
     $message = new TicketMessage();
     $params = ApiV2::GetObjectFields("TicketMessage");
     if ($message = $this->CreateFromJSON($params, json_decode($_POST["p_data"]), $message, "TicketMessage")) {
         $ticket = new Ticket($message->TicketId, true);
         $ticket->LoadMessages();
         if (count($ticket->Messages) == 0) {
             $message->Id = $ticket->Id;
         } else {
             $message->Id = getid(32);
         }
         if (is_array($message->Customs)) {
             $message->Customs = ApiV2::ToNameBasedArray($message->Customs);
             $message->Customs = DataInput::ToIndexBased($message->Customs);
         }
         if (is_array($message->Comments)) {
             foreach ($message->Comments as $comar) {
                 $message->AddComment($comar[0], $ticket->Id, $comar[1]);
             }
         }
         if (empty($message->ChannelId)) {
             $message->ChannelId = getId(32);
         }
         $message->Hash = $ticket->GetHash();
         $message->Save($ticket->Id);
         $this->JSONOutput = APIV2::Encode(array("TicketMessage" => ApiV2::ClearObject($params, $message)), $this->JSONParams);
     }
 }