本文整理汇总了PHP中Ticket::Save方法的典型用法代码示例。如果您正苦于以下问题:PHP Ticket::Save方法的具体用法?PHP Ticket::Save怎么用?PHP Ticket::Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ticket
的用法示例。
在下文中一共展示了Ticket::Save方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processTicketActions
function processTicketActions($count = 0)
{
global $GROUPS, $CONFIG;
$temporaryIds = array();
while (isset($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vc"])) {
$type = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vc"];
if ($type == "SetTicketStatus") {
$Ticket = new Ticket();
$Ticket->Id = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"];
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]) {
$Ticket->Log(0, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
}
if (!empty($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"]) && $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]) {
$Ticket->Log(2, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]);
}
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]) {
$Ticket->Log(3, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]);
}
$TicketEditor = new TicketEditor($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"]);
if (!empty($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"])) {
$TicketEditor->Editor = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"];
}
$TicketEditor->Status = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"];
$TicketEditor->GroupId = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"];
$TicketEditor->Save();
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]) {
$Ticket->SetGroup($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
}
$Ticket->Editor = $TicketEditor;
$Ticket->LoadMessages();
$Ticket->SetLastUpdate(time());
} else {
if ($type == "AddTicketEditorReply") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]);
$Ticket->Group = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"];
$Ticket->Messages[0]->Id = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_6"];
$Ticket->Messages[0]->ChannelId = getId(32);
$Ticket->Messages[0]->Hash = $Ticket->GetHash(false);
$Ticket->Messages[0]->SenderUserId = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"];
$Ticket->Messages[0]->Type = 1;
$Ticket->Messages[0]->Email = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"];
$Ticket->Messages[0]->Text = Mailbox::FinalizeEmail($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"]);
$Ticket->Messages[0]->Subject = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_5"];
$Ticket->Messages[0]->Save($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"], time());
$acount = 7;
$att = array();
while (isset($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount])) {
$att[$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount]] = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount];
$Ticket->Messages[0]->ApplyAttachment($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount++]);
}
$mailbox = Mailbox::GetById($GROUPS[$Ticket->Group]->TicketEmailOut, true);
$Ticket->SendEditorReply($mailbox, $Ticket->Messages[0]->Text, getPredefinedMessage($GROUPS[$Ticket->Group]->PredefinedMessages, $Ticket->Language), $att, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_5"]);
if (!empty($CONFIG["gl_ctor"])) {
$Ticket->LoadStatus();
$Ticket->Editor->Status = TICKET_STATUS_CLOSED;
$Ticket->Editor->Save();
}
$Ticket->SetLastUpdate(time());
} else {
if ($type == "SetTicketLanguage") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->SetLanguage($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->Log(1, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
$Ticket->SetLastUpdate(time());
} else {
if ($type == "DeleteTicketFromServer") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], "");
$Ticket->Destroy();
$Ticket->Log(7, CALLER_SYSTEM_ID, 0, 1);
$Ticket->SetLastUpdate(time());
} else {
if ($type == "AddComment") {
$Ticket = new TicketMessage($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], "");
$Ticket->AddComment(CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"], "");
$Ticket->SetLastUpdate(time());
} else {
if ($type == "LinkChat") {
if (!empty($temporaryIds[$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"]])) {
$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"] = $temporaryIds[$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"]];
}
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], "");
$Ticket->LinkChat($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], getId(32));
$Ticket->Log(5, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->SetLastUpdate(time());
} else {
if ($type == "LinkTicket") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], "");
$TicketSub = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], "");
$counts[$Ticket->Id] = Ticket::GetMessageCount($Ticket->Id);
$counts[$TicketSub->Id] = Ticket::GetMessageCount($TicketSub->Id);
if ($counts[$Ticket->Id] > $counts[$TicketSub->Id]) {
$Ticket->LinkTicket($TicketSub->Id, getId(32));
} else {
$TicketSub->LinkTicket($Ticket->Id, getId(32));
}
$Ticket->SetLastUpdate(time());
} else {
if ($type == "EditMessage") {
$ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], "");
//.........这里部分代码省略.........
示例2: DownloadEmails
static function DownloadEmails($cronJob = false, $exists = false, $reload = false)
{
if (is_array(Server::$Groups)) {
foreach (Server::$Groups as $group) {
$gmbout = Mailbox::GetById($group->TicketEmailOut);
if (is_array($group->TicketEmailIn)) {
foreach ($group->TicketEmailIn as $mid) {
if (!empty(Server::$Configuration->Database["gl_email"][$mid]) && Server::$Configuration->Database["gl_email"][$mid]->LastConnect < time() - Server::$Configuration->Database["gl_email"][$mid]->ConnectFrequency * 60) {
CacheManager::FlushKey(DATA_CACHE_KEY_DBCONFIG);
Server::$Configuration->Database["gl_email"][$mid]->SetLastConnect(time());
$newmails = Server::$Configuration->Database["gl_email"][$mid]->Download($reload, Server::$Configuration->Database["gl_email"][$mid]->Delete);
if ($reload) {
Server::$Configuration->Database["gl_email"][$mid]->SetLastConnect(0);
}
if (!empty($newmails) && is_array($newmails)) {
foreach ($newmails as $temail) {
if (TicketEmail::Exists($temail->Id)) {
continue;
}
$Ticket = null;
$temail->MailboxId = $mid;
$temail->GroupId = $group->Id;
if (preg_match_all("/\\[[a-zA-Z\\d]{12}\\]/", $temail->Subject . $temail->Body . $temail->BodyHTML, $matches)) {
if (empty(Server::$Configuration->File["gl_avhe"])) {
$temail->BodyHTML = "";
}
foreach ($matches[0] as $match) {
$id = $groupid = $language = "";
if ($exists = Ticket::Exists($match, $id, $groupid, $language)) {
$Ticket = new Ticket($id, true);
$Ticket->ChannelId = $mid;
$Ticket->Group = $groupid;
$Ticket->Language = strtoupper($language);
$Ticket->Messages[0]->Type = $gmbout != null && $temail->Email == $gmbout->Email || $temail->Email == Server::$Configuration->Database["gl_email"][$mid]->Email ? 1 : 3;
$Ticket->Messages[0]->Text = $temail->Body;
$Ticket->Messages[0]->Email = !empty($temail->ReplyTo) ? $temail->ReplyTo : $temail->Email;
$Ticket->Messages[0]->ChannelId = $temail->Id;
$Ticket->Messages[0]->Fullname = $temail->Name;
$Ticket->Messages[0]->Subject = $temail->Subject;
$Ticket->Messages[0]->Hash = strtoupper(str_replace(array("[", "]"), "", $match));
$Ticket->Messages[0]->Created = $temail->Created;
$Ticket->Messages[0]->Save($id, false, null, $Ticket);
$Ticket->Reactivate();
$Ticket->SetLastUpdate(time());
Logging::DebugLog("SAVE EMAIL REPLY: " . $Ticket->Messages[0]->Id . " - " . $temail->Id . " - " . $temail->Subject);
break;
}
}
}
if (!$exists) {
if ($group->TicketHandleUnknownEmails == 1) {
$temail->Save();
} else {
if ($group->TicketHandleUnknownEmails == 0) {
$temail->Save();
$temail->Destroy();
$Ticket = new Ticket(CacheManager::GetObjectId("ticket_id", DATABASE_TICKETS), true);
$Ticket->ChannelId = $mid;
$Ticket->Group = $group->Id;
$Ticket->CreationType = 1;
$Ticket->Language = strtoupper(Server::$Configuration->File["gl_default_language"]);
$Ticket->Messages[0]->Id = $Ticket->Id;
$Ticket->Messages[0]->Type = 3;
$Ticket->Messages[0]->Text = $temail->Body;
$Ticket->Messages[0]->Email = !empty($temail->ReplyTo) ? $temail->ReplyTo : $temail->Email;
$Ticket->Messages[0]->ChannelId = $temail->Id;
$Ticket->Messages[0]->Fullname = $temail->Name;
$Ticket->Messages[0]->Created = $temail->Created;
$Ticket->Messages[0]->Subject = $temail->Subject;
$Ticket->Messages[0]->Attachments = $temail->Attachments;
$Ticket->Messages[0]->SaveAttachments();
$Ticket->Save();
$Ticket->AutoAssignEditor();
$Ticket->SetLastUpdate(time());
LocalizationManager::AutoLoad(strtolower(Server::$Configuration->File["gl_default_language"]), true);
$Ticket->SendAutoresponder(new Visitor(""), new VisitorBrowser("", false));
LocalizationManager::AutoLoad("", true);
}
}
}
foreach ($temail->Attachments as $attid => $attdata) {
file_put_contents(PATH_UPLOADS . $attdata[0], $attdata[2]);
KnowledgeBase::Process("SYSTEM", $attid, $attdata[0], 3, $attdata[1], 0, 100, 1);
if (!$exists && $group->TicketHandleUnknownEmails == 1) {
$temail->SaveAttachment($attid);
}
if (!empty($Ticket)) {
$Ticket->Messages[0]->ApplyAttachment($attid);
}
}
}
}
if (!$cronJob) {
return;
}
}
}
}
}
}
//.........这里部分代码省略.........
示例3: SaveTicket
function SaveTicket($_group, $_name, $_email, $_company, $_country, $_phone, $_cmb = false, $_text, $_custom = true, $_url = "")
{
global $INPUTS, $CONFIG, $INTERNAL;
$isSpam = !empty($CONFIG["gl_sft"]) && createSPAMFilter();
$ticket = new Ticket(getObjectId("ticket_id", DATABASE_TICKETS), strtoupper(!empty($this->Language) ? $this->Language : $CONFIG["gl_default_language"]));
$ticket->Messages[0]->Id = $ticket->Id;
$ticket->Messages[0]->IP = getIP();
if (!isTicketFlood() && !$isSpam) {
initData(array("INPUTS"));
$ticket->SenderUserId = $ticket->Messages[0]->SenderUserId = $this->UserId;
$ticket->Group = $_group;
$ticket->Messages[0]->Fullname = $this->Browsers[0]->Fullname = $_name;
$ticket->Messages[0]->Email = $this->Browsers[0]->Email = $_email;
$ticket->Messages[0]->Company = $this->Browsers[0]->Company = $_company;
$ticket->Messages[0]->Phone = $this->Browsers[0]->Phone = $_phone;
$ticket->Messages[0]->Text = $_text;
$ticket->Messages[0]->CallMeBack = $_cmb;
$ticket->Messages[0]->Country = $_country;
$ticket->Messages[0]->EmailId = getId(32);
$ticket->Messages[0]->ChannelId = getId(32);
$ticket->Messages[0]->Edited = $ticket->Messages[0]->Created = time();
$ticket->Messages[0]->Subject = $_url;
$this->Browsers[0]->DesiredChatGroup = $ticket->Group;
$this->Browsers[0]->SetCookieGroup();
if ($_custom) {
foreach ($INPUTS as $index => $input) {
if ($input->Active && $input->Custom) {
if (isset($_POST["p_cf" . $index]) && !isset($_group->TicketInputsHidden[$index])) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = base64UrlDecode($_POST["p_cf" . $index]);
} else {
if (isset($_GET["cf" . $index]) && !isset($_group->TicketInputsHidden[$index])) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = base64UrlDecode($_GET["cf" . $index]);
}
}
if ($input->Cookie && !empty($ticket->Messages[0]->Customs[$index])) {
setCookieValue("cf_" . $index, $ticket->Messages[0]->Customs[$index]);
}
} else {
if ($input->Active) {
if ($input->Index == 111 && $input->Cookie) {
setCookieValue("form_111", $ticket->Messages[0]->Fullname);
} else {
if ($input->Index == 112 && $input->Cookie) {
setCookieValue("form_112", $ticket->Messages[0]->Email);
} else {
if ($input->Index == 113 && $input->Cookie) {
setCookieValue("form_113", $ticket->Messages[0]->Company);
} else {
if ($input->Index == 114 && $input->Cookie) {
setCookieValue("form_114", $ticket->Messages[0]->Text);
} else {
if ($input->Index == 116 && $input->Cookie) {
setCookieValue("form_116", $ticket->Messages[0]->Phone);
}
}
}
}
}
}
}
}
}
if ($CONFIG["gl_adct"] == 1 || !(!empty($CONFIG["gl_rm_om"]) && $CONFIG["gl_rm_om_time"] == 0)) {
$ticket->Save();
$ticket->AutoAssignEditor();
$ticket->SetLastUpdate(time());
}
$this->AddFunctionCall("lz_chat_mail_callback(true);", false);
if (!empty($_POST[POST_EXTERN_REQUESTED_INTERNID]) && !empty($INTERNAL[Operator::GetSystemId(base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]))])) {
$TicketEditor = new TicketEditor($ticket->Id);
$TicketEditor->Editor = Operator::GetSystemId(base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]));
$TicketEditor->Status = 0;
$TicketEditor->GroupId = $ticket->Group;
$TicketEditor->Save();
}
return $ticket;
} else {
$this->AddFunctionCall("lz_chat_mail_callback(false);", false);
}
return false;
}
示例4: processTicketActions
function processTicketActions($count = 0)
{
$temporaryIds = array();
$updateRequiredTickets = $updateRequiredEmails = false;
while (isset($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vc"])) {
$type = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vc"];
if ($type == "SetTicketStatus") {
$Ticket = new Ticket();
$Ticket->Id = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"];
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]) {
$Ticket->Log(0, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
}
if (!empty($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"]) && $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]) {
$Ticket->Log(2, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]);
}
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]) {
$Ticket->Log(3, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]);
}
$TicketEditor = new TicketEditor($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"]);
if (!empty($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"])) {
$TicketEditor->Editor = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"];
}
$TicketEditor->Status = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"];
$TicketEditor->GroupId = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"];
$TicketEditor->Save();
if ($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"] != $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"]) {
$Ticket->SetGroup($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
}
$Ticket->Editor = $TicketEditor;
$Ticket->LoadMessages();
$time = SystemTime::GetUniqueMessageTime(DATABASE_TICKETS, "last_update");
$Ticket->SetLastUpdate($time);
$updateRequiredTickets = true;
} else {
if ($type == "AddTicketEditorReply") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_3"]);
$Ticket->Load(false, false);
$Ticket->Group = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_4"];
$Ticket->Messages[0]->Id = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_7"];
$Ticket->Messages[0]->ChannelId = getId(32);
$Ticket->Messages[0]->Hash = $Ticket->GetHash(false);
$Ticket->Messages[0]->SenderUserId = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vb"];
$Ticket->Messages[0]->Type = 1;
$Ticket->Messages[0]->Email = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"];
$Ticket->Messages[0]->Text = $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"];
if ($Ticket->CreationType >= 6 && !empty($Ticket->ChannelId)) {
$twchannel = SocialMediaChannel::GetChannelById($Ticket->ChannelId);
if ($Ticket->CreationType == 7 && $twchannel->StreamType == 1) {
$Ticket->Messages[0]->Text = $twchannel->AddScreenName($Ticket->Messages[0]->Text, $Ticket->Messages[0]->Email);
} else {
if ($Ticket->CreationType == 6) {
$Ticket->Messages[0]->Email = $twchannel->PageId;
}
}
}
$Ticket->Messages[0]->Subject = cutString($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_5"], 255, false);
$Ticket->Messages[0]->Save($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_va"], time());
$acount = 8;
while (isset($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount])) {
$Ticket->Messages[0]->ApplyAttachment($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_" . $acount++]);
}
$Ticket->SendEditorReply($Ticket->Messages[0]->Id, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_6"]);
if (!empty(Server::$Configuration->File["gl_ctor"])) {
$Ticket->LoadStatus();
$Ticket->Editor->Status = TICKET_STATUS_CLOSED;
$Ticket->Editor->Save();
}
$Ticket->SetLastUpdate(time());
$updateRequiredTickets = true;
} else {
if ($type == "SetTicketLanguage") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->SetLanguage($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->Log(1, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
$Ticket->SetLastUpdate(time());
$updateRequiredTickets = true;
} else {
if ($type == "DeleteTicketFromServer") {
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], "");
$Ticket->Destroy();
$Ticket->Log(7, CALLER_SYSTEM_ID, 0, 1);
$Ticket->SetLastUpdate(time());
$updateRequiredTickets = true;
} else {
if ($type == "AddComment") {
$Ticket = new TicketMessage($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], "");
$Ticket->AddComment(CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"]);
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_2"], "");
$Ticket->SetLastUpdate(time());
$updateRequiredTickets = true;
} else {
if ($type == "LinkChat") {
if (!empty($temporaryIds[$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"]])) {
$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"] = $temporaryIds[$_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"]];
}
$Ticket = new Ticket($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], "");
$Ticket->LinkChat($_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"], getId(32));
$Ticket->Log(5, CALLER_SYSTEM_ID, $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_0"], $_POST[POST_INTERN_PROCESS_TICKET_ACTIONS . "_" . $count . "_vd_1"]);
$Ticket->SetLastUpdate(time());
$updateRequiredTickets = true;
//.........这里部分代码省略.........
示例5: downloadEmails
function downloadEmails($cronJob = false, $exists = false, $reload = false)
{
global $GROUPS, $CONFIG, $INTERNAL;
if (is_array($GROUPS)) {
foreach ($GROUPS as $group) {
$gmbout = Mailbox::GetById($group->TicketEmailOut);
if (is_array($group->TicketEmailIn)) {
foreach ($group->TicketEmailIn as $mid) {
if (!empty($CONFIG["db"]["gl_email"][$mid]) && $CONFIG["db"]["gl_email"][$mid]->LastConnect < time() - $CONFIG["db"]["gl_email"][$mid]->ConnectFrequency * 60) {
$CONFIG["db"]["gl_email"][$mid]->SetLastConnect(time());
$newmails = downloadFromMailbox($reload, $CONFIG["db"]["gl_email"][$mid]->Type, $CONFIG["db"]["gl_email"][$mid]->Host, $CONFIG["db"]["gl_email"][$mid]->Port, $CONFIG["db"]["gl_email"][$mid]->Password, $CONFIG["db"]["gl_email"][$mid]->Username, $CONFIG["db"]["gl_email"][$mid]->SSL, $CONFIG["db"]["gl_email"][$mid]->Delete);
if ($reload) {
$CONFIG["db"]["gl_email"][$mid]->SetLastConnect(0);
}
if (!empty($newmails) && is_array($newmails)) {
foreach ($newmails as $temail) {
if (TicketEmail::Exists($temail->Id)) {
continue;
}
$Ticket = null;
$temail->MailboxId = $mid;
$temail->GroupId = $group->Id;
if (preg_match_all("/\\[[a-zA-Z\\d]{12}\\]/", $temail->Subject . $temail->Body, $matches)) {
foreach ($matches[0] as $match) {
$id = $groupid = $language = "";
if ($exists = Ticket::Exists($match, $id, $groupid, $language)) {
$Ticket = new Ticket($id, true);
$Ticket->Group = $groupid;
$Ticket->Language = strtoupper($language);
$Ticket->Messages[0]->Type = $temail->Email == $gmbout->Email || $temail->Email == $CONFIG["db"]["gl_email"][$mid]->Email ? 1 : 3;
$Ticket->Messages[0]->Text = $temail->Body;
$Ticket->Messages[0]->Email = !empty($temail->ReplyTo) ? $temail->ReplyTo : $temail->Email;
$Ticket->Messages[0]->ChannelId = $temail->Id;
$Ticket->Messages[0]->Fullname = $temail->Name;
$Ticket->Messages[0]->Subject = $temail->Subject;
$Ticket->Messages[0]->Hash = strtoupper(str_replace(array("[", "]"), "", $match));
$Ticket->Messages[0]->Edited = $Ticket->Messages[0]->Created = $temail->Created;
if (DEBUG_MODE) {
logit("SAVE EMAIL REPLY: " . $temail->Id . " - " . $temail->Subject);
}
$Ticket->Messages[0]->Save($id, $temail->Created);
$Ticket->Reactivate();
$Ticket->SetLastUpdate(time());
}
}
}
if (!$exists) {
if ($group->TicketHandleUnknownEmails == 1) {
if (DEBUG_MODE) {
logit("SAVE EMAIL: " . $temail->Id . " - " . $temail->Subject);
}
$temail->Save();
} else {
if ($group->TicketHandleUnknownEmails == 0) {
$Ticket = new Ticket(getObjectId("ticket_id", DATABASE_TICKETS), true);
$Ticket->Group = $group->Id;
$Ticket->CreationType = 1;
$Ticket->Language = strtoupper($CONFIG["gl_default_language"]);
$Ticket->Messages[0]->Id = $Ticket->Id;
$Ticket->Messages[0]->Type = 3;
$Ticket->Messages[0]->Text = $temail->Body;
$Ticket->Messages[0]->Email = !empty($temail->ReplyTo) ? $temail->ReplyTo : $temail->Email;
$Ticket->Messages[0]->ChannelId = $temail->Id;
$Ticket->Messages[0]->Fullname = $temail->Name;
$Ticket->Messages[0]->Created = $temail->Created;
$Ticket->Messages[0]->Subject = $temail->Subject;
$Ticket->Messages[0]->Attachments = $temail->Attachments;
$Ticket->Messages[0]->SaveAttachments();
$Ticket->Save();
$Ticket->AutoAssignEditor();
$Ticket->SetLastUpdate(time());
languageSelect(strtolower($CONFIG["gl_default_language"]), true);
Visitor::SendTicketAutoresponder($Ticket, strtoupper($CONFIG["gl_default_language"]), false);
languageSelect("", true);
}
}
if (!empty($CONFIG["gl_mpm"])) {
foreach ($INTERNAL as $operator) {
if ($operator->IsInPushMessageState()) {
if ($operator->HasAccessToEmail($group->Id)) {
$operator->AddPushMessage($temail->Id, $this->SystemId, !empty($temail->Name) ? $temail->Name : $temail->Email, 3, $temail->Body);
}
}
}
}
}
foreach ($temail->Attachments as $attid => $attdata) {
file_put_contents(PATH_UPLOADS . $attdata[0], $attdata[2]);
processResource("SYSTEM", $attid, $attdata[0], 3, $attdata[1], 0, 100, 1);
if (!$exists && $group->TicketHandleUnknownEmails == 1) {
$temail->SaveAttachment($attid);
}
if (!empty($Ticket)) {
$Ticket->Messages[0]->ApplyAttachment($attid);
}
}
}
}
if (!$cronJob) {
return;
//.........这里部分代码省略.........
示例6: SaveTicket
function SaveTicket($_group, $_country, $_cmb = false, $_custom = true, $_url = "", $changed = false)
{
global $INPUTS, $CONFIG, $INTERNAL, $GROUPS;
$isSpam = !empty($CONFIG["gl_sft"]) && createSPAMFilter();
$ticket = new Ticket(getObjectId("ticket_id", DATABASE_TICKETS), strtoupper(!empty($this->Language) ? $this->Language : $CONFIG["gl_default_language"]));
$ticket->Messages[0]->Id = $ticket->Id;
$ticket->Messages[0]->IP = getIP();
$group = $GROUPS[$_group];
if (!isTicketFlood() && !$isSpam) {
initData(array("INPUTS"));
$ticket->SenderUserId = $ticket->Messages[0]->SenderUserId = $this->UserId;
$ticket->Group = $_group;
$ticket->Messages[0]->Fullname = $this->Browsers[0]->Fullname = $group->GetServerInput($INPUTS[111], false, "", $changed);
$ticket->Messages[0]->Email = $this->Browsers[0]->Email = $group->GetServerInput($INPUTS[112], false, "", $changed);
$ticket->Messages[0]->Company = $this->Browsers[0]->Company = $group->GetServerInput($INPUTS[113], false, "", $changed);
$ticket->Messages[0]->Phone = $this->Browsers[0]->Phone = $group->GetServerInput($INPUTS[116], false, "", $changed);
$ticket->Messages[0]->Text = $group->GetServerInput($INPUTS[114], false, "", $changed);
$ticket->Messages[0]->CallMeBack = $_cmb;
$ticket->Messages[0]->Country = $_country;
$ticket->Messages[0]->EmailId = getId(32);
$ticket->Messages[0]->ChannelId = getId(32);
$ticket->Messages[0]->Edited = $ticket->Messages[0]->Created = time();
if (empty($_url)) {
$_url = Visitor::GetLastURLFromVisitor($this->UserId);
}
$ticket->Messages[0]->Subject = $_url;
$this->Browsers[0]->DesiredChatGroup = $ticket->Group;
$this->Browsers[0]->SetCookieGroup();
if ($_custom) {
foreach ($INPUTS as $index => $input) {
if ($input->Active && $input->Custom) {
$value = $group->GetServerInput($input, false, "", $changed);
if ($input->Type != "File" && !empty($value) && !in_array($index, $group->TicketInputsHidden)) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = $value;
} else {
if ($input->Type == "File" && isset($_FILES["p_cf" . $index]) && !in_array($index, $group->TicketInputsHidden)) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = $ticket->Messages[0]->AppendPostFile("p_cf" . $index, $this->UserId);
}
}
if ($input->Cookie && !empty($ticket->Messages[0]->Customs[$index]) && $input->Type != "File") {
setCookieValue("cf_" . $index, $ticket->Messages[0]->Customs[$index]);
}
} else {
if ($input->Active) {
if ($input->Index == 111 && $input->Cookie) {
setCookieValue("form_111", $ticket->Messages[0]->Fullname);
} else {
if ($input->Index == 112 && $input->Cookie) {
setCookieValue("form_112", $ticket->Messages[0]->Email);
} else {
if ($input->Index == 113 && $input->Cookie) {
setCookieValue("form_113", $ticket->Messages[0]->Company);
} else {
if ($input->Index == 114 && $input->Cookie) {
setCookieValue("form_114", $ticket->Messages[0]->Text);
} else {
if ($input->Index == 116 && $input->Cookie) {
setCookieValue("form_116", $ticket->Messages[0]->Phone);
}
}
}
}
}
}
}
}
}
if ($CONFIG["gl_adct"] == 1 || !(!empty($CONFIG["gl_rm_om"]) && $CONFIG["gl_rm_om_time"] == 0)) {
$ticket->Save();
$ticket->AutoAssignEditor();
$ticket->SetLastUpdate(time());
}
$this->AddFunctionCall("lz_chat_mail_callback(true);", false);
if (!empty($_POST[POST_EXTERN_REQUESTED_INTERNID]) && !empty($INTERNAL[Operator::GetSystemId(base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]))])) {
$TicketEditor = new TicketEditor($ticket->Id);
$TicketEditor->Editor = Operator::GetSystemId(base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]));
$TicketEditor->Status = 0;
$TicketEditor->GroupId = $ticket->Group;
$TicketEditor->Save();
}
if (!empty($CONFIG["gl_mpm"])) {
foreach ($INTERNAL as $operator) {
if ($operator->IsInPushMessageState()) {
if ($operator->HasAccessToTicket($ticket)) {
$operator->AddPushMessage($ticket->Id, $this->SystemId, $_name, 2, $_text);
}
}
}
}
return $ticket;
} else {
$this->AddFunctionCall("lz_chat_mail_callback(false);", false);
}
return false;
}
示例7: SaveTicket
function SaveTicket($_group, $_country, $_cmb = false, $_custom = true, $_url = "", $changed = false)
{
$isSpam = !empty(Server::$Configuration->File["gl_sft"]) && Visitor::CreateSPAMFilter($this->UserId);
$ticket = new Ticket(CacheManager::GetObjectId("ticket_id", DATABASE_TICKETS), strtoupper(!empty($this->Language) ? $this->Language : Server::$Configuration->File["gl_default_language"]));
$ticket->Messages[0]->Id = $ticket->Id;
$ticket->Messages[0]->IP = Communication::GetIP();
$group = Server::$Groups[$_group];
if (!isTicketFlood() && !$isSpam) {
Server::InitDataBlock(array("INPUTS"));
$ticket->SenderUserId = $ticket->Messages[0]->SenderUserId = $this->UserId;
$ticket->Group = $_group;
$ticket->Messages[0]->Fullname = $this->Browsers[0]->Fullname = $group->GetServerInput(Server::$Inputs[111], false, "", $changed);
$ticket->Messages[0]->Email = $this->Browsers[0]->Email = $group->GetServerInput(Server::$Inputs[112], false, "", $changed);
$ticket->Messages[0]->Company = $this->Browsers[0]->Company = $group->GetServerInput(Server::$Inputs[113], false, "", $changed);
$ticket->Messages[0]->Phone = $this->Browsers[0]->Phone = $group->GetServerInput(Server::$Inputs[116], false, "", $changed);
$ticket->Messages[0]->Text = $group->GetServerInput(Server::$Inputs[114], false, "", $changed);
$ticket->Messages[0]->CallMeBack = $_cmb;
$ticket->Messages[0]->Country = $_country;
$ticket->Messages[0]->EmailId = getId(32);
$ticket->Messages[0]->ChannelId = getId(32);
$ticket->Messages[0]->Edited = $ticket->Messages[0]->Created = time();
if (empty($_url)) {
$_url = Visitor::GetLastURLFromVisitor($this->UserId);
}
$ticket->Messages[0]->Subject = $_url;
$this->Browsers[0]->DesiredChatGroup = $ticket->Group;
$this->Browsers[0]->SetCookieGroup();
if ($_custom) {
foreach (Server::$Inputs as $index => $input) {
if ($input->Active && $input->Custom) {
$value = $group->GetServerInput($input, false, "", $changed);
if ($input->Type != "File" && !empty($value) && !in_array($index, $group->TicketInputsHidden)) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = $value;
} else {
if ($input->Type == "File" && isset($_FILES["p_cf" . $index]) && !in_array($index, $group->TicketInputsHidden)) {
$ticket->Messages[0]->Customs[$index] = $this->Browsers[0]->Customs[$index] = $ticket->Messages[0]->AppendPostFile("p_cf" . $index, $this->UserId);
}
}
}
$ud = new UserData($ticket->Messages[0]->Fullname, $ticket->Messages[0]->Email, $ticket->Messages[0]->Company, $ticket->Messages[0]->Phone, $ticket->Messages[0]->Customs);
$ud->Save();
$ud->SaveToCookie();
}
}
if (Server::$Configuration->File["gl_adct"] == 1 || !(!empty(Server::$Configuration->File["gl_rm_om"]) && Server::$Configuration->File["gl_rm_om_time"] == 0)) {
$ticket->Save();
$ticket->AutoAssignEditor();
$ticket->SetLastUpdate(time());
}
$this->AddFunctionCall("lz_chat_mail_callback(true);", false);
if (!empty($_POST[POST_EXTERN_REQUESTED_INTERNID]) && !empty(Server::$Operators[Operator::GetSystemId(Encoding::Base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]))])) {
$TicketEditor = new TicketEditor($ticket->Id);
$TicketEditor->Editor = Operator::GetSystemId(Encoding::Base64UrlDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]));
$TicketEditor->Status = 0;
$TicketEditor->GroupId = $ticket->Group;
$TicketEditor->Save();
}
if (!empty(Server::$Configuration->File["gl_mpm"])) {
foreach (Server::$Operators as $operator) {
if ($operator->IsInPushMessageState()) {
if ($operator->HasAccessToTicket($ticket)) {
$operator->AddPushMessage($ticket->Id, $this->SystemId, $ticket->Messages[0]->Fullname, 2, $ticket->Messages[0]->Text);
}
}
}
}
return $ticket;
} else {
$this->AddFunctionCall("lz_chat_mail_callback(false);", false);
}
return false;
}