Add configuration setting to control whether clients should get automatic ticket-related emails (ticket open/close)
This commit is contained in:
@@ -159,7 +159,7 @@ while($row = mysqli_fetch_array($sql_companies)){
|
|||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Create', log_description = 'System created scheduled $frequency ticket - $subject', log_created_at = NOW(), log_client_id = $client_id, company_id = $company_id, log_user_id = $created_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Create', log_description = 'System created scheduled $frequency ticket - $subject', log_created_at = NOW(), log_client_id = $client_id, company_id = $company_id, log_user_id = $created_id");
|
||||||
|
|
||||||
// E-mail client
|
// E-mail client
|
||||||
if (!empty($config_smtp_host)) {
|
if (!empty($config_smtp_host) && $config_ticket_client_general_notifications == 1) {
|
||||||
|
|
||||||
// Get contact/ticket/company details
|
// Get contact/ticket/company details
|
||||||
$sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
$sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ if ($emails) {
|
|||||||
|
|
||||||
|
|
||||||
// E-mail client notification that ticket has been created
|
// E-mail client notification that ticket has been created
|
||||||
|
if ($config_ticket_client_general_notifications == 1) {
|
||||||
|
|
||||||
$email_subject = "Ticket created - [$config_ticket_prefix$ticket_number] - $subject";
|
$email_subject = "Ticket created - [$config_ticket_prefix$ticket_number] - $subject";
|
||||||
$email_body = "<i style='color: #808080'>#--itflow--#</i><br><br>Hello, $contact_name<br><br>Thank you for your email. A ticket regarding \"$subject\" has been automatically created for you.<br><br>Ticket: $config_ticket_prefix$ticket_number<br>Subject: $subject<br>Status: Open<br>https://$config_base_url/portal/ticket.php?id=$id<br><br>~<br>$session_company_name<br>Support Department<br>$config_ticket_from_email<br>$company_phone";
|
$email_body = "<i style='color: #808080'>#--itflow--#</i><br><br>Hello, $contact_name<br><br>Thank you for your email. A ticket regarding \"$subject\" has been automatically created for you.<br><br>Ticket: $config_ticket_prefix$ticket_number<br>Subject: $subject<br>Status: Open<br>https://$config_base_url/portal/ticket.php?id=$id<br><br>~<br>$session_company_name<br>Support Department<br>$config_ticket_from_email<br>$company_phone";
|
||||||
@@ -186,6 +187,7 @@ if ($emails) {
|
|||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Mail', log_action = 'Error', log_description = 'Failed to send email to $contact_email regarding $subject. $mail', company_id = $session_company_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Mail', log_action = 'Error', log_description = 'Failed to send email to $contact_email regarding $subject. $mail', company_id = $session_company_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+10
-3
@@ -453,11 +453,18 @@ if(LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION){
|
|||||||
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.9'");
|
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.2.9'");
|
||||||
}
|
}
|
||||||
|
|
||||||
//if(CURRENT_DATABASE_VERSION == '0.2.9'){
|
if(CURRENT_DATABASE_VERSION == '0.2.9'){
|
||||||
// Insert queries here required to update to DB version 0.3.0
|
|
||||||
|
mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_ticket_client_general_notifications` INT(1) NOT NULL DEFAULT '1' AFTER `config_ticket_email_parse`");
|
||||||
|
|
||||||
|
mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.3.0'");
|
||||||
|
}
|
||||||
|
|
||||||
|
//if(CURRENT_DATABASE_VERSION == '0.3.0'){
|
||||||
|
// Insert queries here required to update to DB version 0.3.1
|
||||||
|
|
||||||
// Then, update the database to the next sequential version
|
// Then, update the database to the next sequential version
|
||||||
// mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.3.0'");
|
// mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.3.1'");
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,4 +5,4 @@
|
|||||||
* It is used in conjunction with database_updates.php
|
* It is used in conjunction with database_updates.php
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DEFINE("LATEST_DATABASE_VERSION", "0.2.9");
|
DEFINE("LATEST_DATABASE_VERSION", "0.3.0");
|
||||||
@@ -1066,6 +1066,7 @@ CREATE TABLE `settings` (
|
|||||||
`config_ticket_from_name` varchar(200) DEFAULT NULL,
|
`config_ticket_from_name` varchar(200) DEFAULT NULL,
|
||||||
`config_ticket_from_email` varchar(200) DEFAULT NULL,
|
`config_ticket_from_email` varchar(200) DEFAULT NULL,
|
||||||
`config_ticket_email_parse` int(1) NOT NULL DEFAULT 0,
|
`config_ticket_email_parse` int(1) NOT NULL DEFAULT 0,
|
||||||
|
`config_ticket_client_general_notifications` int(1) NOT NULL DEFAULT 0,
|
||||||
`config_enable_cron` tinyint(1) DEFAULT NULL,
|
`config_enable_cron` tinyint(1) DEFAULT NULL,
|
||||||
`config_recurring_auto_send_invoice` tinyint(1) DEFAULT NULL,
|
`config_recurring_auto_send_invoice` tinyint(1) DEFAULT NULL,
|
||||||
`config_enable_alert_domain_expire` tinyint(1) DEFAULT NULL,
|
`config_enable_alert_domain_expire` tinyint(1) DEFAULT NULL,
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ $config_ticket_next_number = $row['config_ticket_next_number'];
|
|||||||
$config_ticket_from_name = $row['config_ticket_from_name'];
|
$config_ticket_from_name = $row['config_ticket_from_name'];
|
||||||
$config_ticket_from_email = $row['config_ticket_from_email'];
|
$config_ticket_from_email = $row['config_ticket_from_email'];
|
||||||
$config_ticket_email_parse = $row['config_ticket_email_parse'];
|
$config_ticket_email_parse = $row['config_ticket_email_parse'];
|
||||||
|
$config_ticket_client_general_notifications = $row['config_ticket_client_general_notifications'];
|
||||||
|
|
||||||
// Alerts
|
// Alerts
|
||||||
$config_enable_cron = $row['config_enable_cron'];
|
$config_enable_cron = $row['config_enable_cron'];
|
||||||
|
|||||||
@@ -980,9 +980,9 @@ if(isset($_POST['edit_ticket_settings'])){
|
|||||||
$config_ticket_from_email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_ticket_from_email'])));
|
$config_ticket_from_email = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_ticket_from_email'])));
|
||||||
$config_ticket_from_name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_ticket_from_name'])));
|
$config_ticket_from_name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['config_ticket_from_name'])));
|
||||||
$config_ticket_email_parse = intval($_POST['config_ticket_email_parse']);
|
$config_ticket_email_parse = intval($_POST['config_ticket_email_parse']);
|
||||||
|
$config_ticket_client_general_notifications = intval($_POST['config_ticket_client_general_notifications']);
|
||||||
|
|
||||||
|
mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_from_email = '$config_ticket_from_email', config_ticket_from_name = '$config_ticket_from_name', config_ticket_email_parse = '$config_ticket_email_parse', config_ticket_client_general_notifications = $config_ticket_client_general_notifications WHERE company_id = $session_company_id");
|
||||||
mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_from_email = '$config_ticket_from_email', config_ticket_from_name = '$config_ticket_from_name', config_ticket_email_parse = '$config_ticket_email_parse' WHERE company_id = $session_company_id");
|
|
||||||
|
|
||||||
//Logging
|
//Logging
|
||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = 'Ticket settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = 'Ticket settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
|
||||||
@@ -5957,7 +5957,7 @@ if(isset($_POST['add_ticket'])){
|
|||||||
$id = mysqli_insert_id($mysqli);
|
$id = mysqli_insert_id($mysqli);
|
||||||
|
|
||||||
// E-mail client
|
// E-mail client
|
||||||
if (!empty($config_smtp_host)) {
|
if (!empty($config_smtp_host) && $config_ticket_client_general_notifications == 1) {
|
||||||
|
|
||||||
// Get contact/ticket details
|
// Get contact/ticket details
|
||||||
$sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
$sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
||||||
@@ -6385,7 +6385,7 @@ if(isset($_GET['close_ticket'])){
|
|||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Closed', log_description = '$ticket_id Closed', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Ticket', log_action = 'Closed', log_description = '$ticket_id Closed', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
|
||||||
|
|
||||||
// Client notification email
|
// Client notification email
|
||||||
if (!empty($config_smtp_host)) {
|
if (!empty($config_smtp_host) && $config_ticket_client_general_notifications == 1) {
|
||||||
|
|
||||||
// Get details
|
// Get details
|
||||||
$ticket_sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
$ticket_sql = mysqli_query($mysqli,"SELECT contact_name, contact_email, ticket_prefix, ticket_number, ticket_subject, company_phone FROM tickets
|
||||||
|
|||||||
@@ -53,6 +53,11 @@
|
|||||||
<label class="custom-control-label" for="customSwitch1">Email-to-ticket parsing (Beta) <small>(cron_ticket_email_parser.php must also be added to cron and run every few mins)</small></label>
|
<label class="custom-control-label" for="customSwitch1">Email-to-ticket parsing (Beta) <small>(cron_ticket_email_parser.php must also be added to cron and run every few mins)</small></label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="custom-control custom-switch mb-2">
|
||||||
|
<input type="checkbox" class="custom-control-input" name="config_ticket_client_general_notifications" <?php if($config_ticket_client_general_notifications == 1){ echo "checked"; } ?> value="1" id="customSwitch2">
|
||||||
|
<label class="custom-control-label" for="customSwitch2">Send clients general notification emails <small>(Should clients receive automatic emails when tickets are raised/closed?)</small></label>
|
||||||
|
</div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<button type="submit" name="edit_ticket_settings" class="btn btn-primary text-bold"><i class="fa fa-check"></i> Save</button>
|
<button type="submit" name="edit_ticket_settings" class="btn btn-primary text-bold"><i class="fa fa-check"></i> Save</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user