diff --git a/post.php b/post.php
index 19571196..527840e2 100644
--- a/post.php
+++ b/post.php
@@ -5354,12 +5354,62 @@ if(isset($_POST['add_ticket_reply'])){
$ticket_reply_type = 'Internal';
}
+ // Add reply
mysqli_query($mysqli,"INSERT INTO ticket_replies SET ticket_reply = '$ticket_reply', ticket_reply_time_worked = '$ticket_reply_time_worked', ticket_reply_type = '$ticket_reply_type', ticket_reply_created_at = NOW(), ticket_reply_by = $session_user_id, ticket_reply_ticket_id = $ticket_id, company_id = $session_company_id") or die(mysqli_error($mysqli));
- //UPDATE Ticket Last Response Field
+ // Update Ticket Last Response Field
mysqli_query($mysqli,"UPDATE tickets SET ticket_status = '$ticket_status', ticket_updated_at = NOW() WHERE ticket_id = $ticket_id AND company_id = $session_company_id") or die(mysqli_error($mysqli));
- //Logging
+ // Send e-mail to client if public update & email is setup
+ if($ticket_reply_type == 'Public' && !empty($config_smtp_host)){
+
+ $ticket_sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject FROM tickets
+ LEFT JOIN clients ON ticket_client_id = client_id
+ LEFT JOIN contacts ON ticket_contact_id = contact_id
+ WHERE ticket_id = $ticket_id AND tickets.company_id = $session_company_id");
+ $ticket_details = mysqli_fetch_array($ticket_sql);
+
+ $contact_name = $ticket_details['contact_name'];
+ $contact_email = $ticket_details['contact_email'];
+
+ $ticket_prefix = $ticket_details['ticket_prefix'];
+ $ticket_number = $ticket_details['ticket_number'];
+ $ticket_subject = $ticket_details['ticket_subject'];
+
+ if(filter_var($contact_email, FILTER_VALIDATE_EMAIL)){
+
+ $mail = new PHPMailer(true);
+
+ try{
+ //Mail Server Settings
+ $mail->SMTPDebug = 2; // Enable verbose debug output
+ $mail->isSMTP(); // Set mailer to use SMTP
+ $mail->Host = $config_smtp_host; // Specify main and backup SMTP servers
+ $mail->SMTPAuth = true; // Enable SMTP authentication
+ $mail->Username = $config_smtp_username; // SMTP username
+ $mail->Password = $config_smtp_password; // SMTP password
+ $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
+ $mail->Port = $config_smtp_port; // TCP port to connect to
+
+ //Recipients
+ $mail->setFrom($config_mail_from_email, $config_mail_from_name);
+ $mail->addAddress("$contact_email", "$contact_name"); // Add a recipient
+
+ // Content
+ $mail->isHTML(true); // Set email format to HTML
+
+ $mail->Subject = "Ticket update - [$ticket_prefix$ticket_number] - $ticket_subject";
+ $mail->Body = "Hello, $contact_name
Your ticket regarding \"$ticket_subject\" has been updated.
--------------------------------
$ticket_reply--------------------------------
Ticket: $ticket_prefix$ticket_number
Subject: $ticket_subject
Status: $ticket_status
~
$session_company_name";
+ $mail->send();
+ }
+ catch(Exception $e){
+ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
+ }
+ }
+ }
+ //End Mail IF Try-Catch
+
+ // Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket Reply', log_action = 'Created', log_description = '$ticket_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
$_SESSION['alert_message'] = "Posted an update";