Example #1
0
 $replies = $ascreplies = array();
 $ascreplies[] = array("id" => "", "userid" => $userid, "contactid" => $contactid, "name" => $admin ? $admin : $clientname, "email" => $admin ? "" : $clientemail, "admin" => $admin ? true : false, "user" => $user, "admin" => $admin, "date" => $date, "message" => $message, "attachments" => $attachments, "rating" => $rating);
 $result = select_query("tblticketreplies", "", array("tid" => $id), "date", "ASC");
 while ($data = mysql_fetch_array($result)) {
     $ids = $data['id'];
     $userid = $data['userid'];
     $contactid = $data['contactid'];
     $admin = $data['admin'];
     $name = $data['name'];
     $email = $data['email'];
     $date = $data['date'];
     $message = $data['message'];
     $attachment = $data['attachment'];
     $rating = $data['rating'];
     $date = fromMySQLDate($date, 1, 1);
     $message = ticketMessageFormat($message);
     if ($admin) {
         $user = "******" . $admin . "</strong><br />" . $_LANG['supportticketsstaff'];
     } else {
         if (0 < $userid) {
             $clientsdata = get_query_vals("tblclients", "firstname,lastname,email", array("id" => $userid));
             $clientname = $clientsdata['firstname'] . " " . $clientsdata['lastname'];
             $clientemail = $clientsdata['email'];
             $user = "******" . $clientname . "</strong><br />" . $_LANG['supportticketsclient'];
             if (0 < $contactid) {
                 $contactdata = get_query_vals("tblcontacts", "firstname,lastname,email", array("id" => $contactid, "userid" => $userid));
                 $clientname = $contactdata['firstname'] . " " . $contactdata['lastname'];
                 $clientemail = $contactdata['email'];
                 $user = "******" . $clientname . "</strong><br />" . $_LANG['supportticketscontact'];
             }
         } else {
Example #2
0
function AddReply($ticketid, $userid, $contactid, $message, $admin, $attachfile = "", $from = "", $status = "", $noemail = "", $api = false)
{
    global $CONFIG;
    if ($admin) {
        $data = get_query_vals("tbltickets", "userid,contactid,name,email", array("id" => $ticketid));
        if (0 < $data['userid']) {
            if (0 < $data['contactid']) {
                $data = get_query_vals("tblcontacts", "firstname,lastname,email", array("id" => $data['contactid'], "userid" => $data['userid']));
            } else {
                $data = get_query_vals("tblclients", "firstname,lastname,email", array("id" => $data['userid']));
            }
            $message = str_replace("[NAME]", $data['firstname'] . " " . $data['lastname'], $message);
            $message = str_replace("[FIRSTNAME]", $data['firstname'], $message);
            $message = str_replace("[EMAIL]", $data['email'], $message);
        } else {
            $message = str_replace("[NAME]", $data['name'], $message);
            $message = str_replace("[FIRSTNAME]", current(explode(" ", $data['name'])), $message);
            $message = str_replace("[EMAIL]", $data['email'], $message);
        }
        if (!function_exists("getAdminName")) {
            require ROOTDIR . "/includes/adminfunctions.php";
        }
        $adminname = $api ? $admin : getAdminName();
    }
    $table = "tblticketreplies";
    $array = array("tid" => $ticketid, "userid" => $userid, "contactid" => $contactid, "name" => $from['name'], "email" => $from['email'], "date" => "now()", "message" => $message, "admin" => $adminname, "attachment" => $attachfile);
    $ticketreplyid = insert_query($table, $array);
    $result = select_query("tbltickets", "tid,did,title,urgency,flag", array("id" => $ticketid));
    $data = mysql_fetch_array($result);
    $tid = $data['tid'];
    $deptid = $data['did'];
    $tickettitle = $data['title'];
    $urgency = $data['urgency'];
    $flagadmin = $data['flag'];
    if ($userid) {
        $result = select_query("tblclients", "firstname,lastname", array("id" => $userid));
        $data = mysql_fetch_array($result);
        $clientname = $data['firstname'] . " " . $data['lastname'];
    } else {
        $clientname = $from['name'];
    }
    $deptname = getDepartmentName($deptid);
    if ($admin) {
        if ($status == "") {
            $status = "Answered";
        }
        $updateqry = array("status" => $status, "clientunread" => "1", "lastreply" => "now()");
        if ($CONFIG['TicketLastReplyUpdateClientOnly']) {
            unset($updateqry['lastreply']);
        }
        update_query("tbltickets", $updateqry, array("id" => $ticketid));
        addTicketLog($ticketid, "New Ticket Response");
        if (!$noemail) {
            sendMessage("Support Ticket Reply", $ticketid, $ticketreplyid);
        }
        run_hook("TicketAdminReply", array("ticketid" => $ticketid, "replyid" => $ticketreplyid, "deptid" => $deptid, "deptname" => $deptname, "subject" => $tickettitle, "message" => $message, "priority" => $urgency, "admin" => $adminname, "status" => $status));
        return null;
    }
    $status = "Customer-Reply";
    update_query("tbltickets", array("status" => "Customer-Reply", "clientunread" => "1", "adminunread" => "", "lastreply" => "now()"), array("id" => $ticketid));
    addTicketLog($ticketid, "New Ticket Response made by User");
    if ($flagadmin) {
        sendAdminMessage("Support Ticket Response", array("ticket_id" => $ticketid, "ticket_tid" => $tid, "client_id" => $userid, "client_name" => $clientname, "ticket_department" => $deptname, "ticket_subject" => $tickettitle, "ticket_priority" => $urgency, "ticket_message" => ticketMessageFormat($message)), "support", "", $flagadmin);
    } else {
        if (!$noemail) {
            sendAdminMessage("Support Ticket Response", array("ticket_id" => $ticketid, "ticket_tid" => $tid, "client_id" => $userid, "client_name" => $clientname, "ticket_department" => $deptname, "ticket_subject" => $tickettitle, "ticket_priority" => $urgency, "ticket_message" => ticketMessageFormat($message)), "support", $deptid, "", true);
        }
    }
    run_hook("TicketUserReply", array("ticketid" => $ticketid, "replyid" => $ticketreplyid, "userid" => $userid, "deptid" => $deptid, "deptname" => $deptname, "subject" => $tickettitle, "message" => $message, "priority" => $urgency, "status" => $status));
}
Example #3
0
            }
            if ($flagto) {
                $updateqry['flag'] = $flagto;
                sendAdminMessage("Support Ticket Flagged", array("ticket_id" => $ticketid, "ticket_tid" => $tickettid, "client_id" => $ticketuserid, "client_name" => get_query_val("tblclients", "CONCAT(firstname,' ',lastname)", array("id" => $ticketuserid)), "ticket_department" => getDepartmentName($newdepartment ? $newdepartment : $ticketdeptid), "ticket_subject" => $ticketsubject, "ticket_priority" => $newpriority ? $newpriority : $ticketpriority, "ticket_message" => ticketMessageFormat($ticketmsg)), "support", $newdepartment ? $newdepartment : $ticketdeptid, $flagto);
            }
            if (count($updateqry)) {
                update_query("tbltickets", $updateqry, array("id" => $ticketid));
            }
            if ($notify) {
                $notify = explode(",", $notify);
                if (in_array("all", $notify)) {
                    sendAdminMessage("Escalation Rule Notification", array("rule_name" => $name, "ticket_id" => $ticketid, "ticket_tid" => $tickettid, "client_id" => $ticketuserid, "client_name" => get_query_val("tblclients", "CONCAT(firstname,' ',lastname)", array("id" => $ticketuserid)), "ticket_department" => getDepartmentName($newdepartment ? $newdepartment : $ticketdeptid), "ticket_subject" => $ticketsubject, "ticket_priority" => $newpriority ? $newpriority : $ticketpriority, "ticket_message" => ticketMessageFormat($ticketmsg)), "support", $newdepartment ? $newdepartment : $ticketdeptid);
                }
                foreach ($notify as $notifyid) {
                    if (is_numeric($notifyid)) {
                        sendAdminMessage("Escalation Rule Notification", array("rule_name" => $name, "ticket_id" => $ticketid, "ticket_tid" => $tickettid, "client_id" => $ticketuserid, "client_name" => get_query_val("tblclients", "CONCAT(firstname,' ',lastname)", array("id" => $ticketuserid)), "ticket_department" => getDepartmentName($newdepartment ? $newdepartment : $ticketdeptid), "ticket_subject" => $ticketsubject, "ticket_priority" => $newpriority ? $newpriority : $ticketpriority, "ticket_message" => ticketMessageFormat($ticketmsg), "ticket_status" => $ticketstatus), "support", "", $notifyid);
                        continue;
                    }
                }
            }
            if ($addreply) {
                if (!$newstatus) {
                    $newstatus = $ticketstatus;
                }
                AddReply($ticketid, "", "", $addreply, "System", "", "", $newstatus, "", true);
            }
        }
    }
    update_query("tblconfiguration", array("value" => date("Y-m-d H:i:s")), array("setting" => "TicketEscalationLastRun"));
    exit;
}