diff --git a/cron_ticket_email_parser.php b/cron_ticket_email_parser.php index 9acc0b38d..58be38ba5 100644 --- a/cron_ticket_email_parser.php +++ b/cron_ticket_email_parser.php @@ -22,6 +22,7 @@ $config_ticket_prefix = sanitizeInput($config_ticket_prefix); $config_ticket_from_name = sanitizeInput($config_ticket_from_name); +$config_ticket_email_parse_unknown_senders = intval($row['config_ticket_email_parse_unknown_senders']); // Get company name & phone & timezone $sql = mysqli_query($mysqli, "SELECT * FROM companies, settings WHERE companies.company_id = settings.company_id AND companies.company_id = 1"); @@ -132,7 +133,7 @@ function addTicket($contact_id, $contact_name, $contact_email, $client_id, $date } $data = []; - if ($config_ticket_client_general_notifications == 1) { + if ($config_ticket_client_general_notifications == 1 && $client_id != 0) { $subject_email = "Ticket created - [$config_ticket_prefix$ticket_number] - $subject"; $body = "##- Please type your reply above this line -##

Hello $contact_name,

Thank you for your email. A ticket regarding \"$subject\" has been automatically created for you.

Ticket: $config_ticket_prefix$ticket_number
Subject: $subject
Status: New
https://$config_base_url/portal/ticket.php?id=$id

--
$company_name - Support
$config_ticket_from_email
$company_phone"; @@ -416,6 +417,12 @@ function getInboxFolder($client, $inboxNames) { if (addTicket($contact_id, $contact_name, $contact_email, $client_id, $date, $subject, $message_body, $message->getAttachments(), $original_message_file)) { $email_processed = true; } + } else if ($config_ticket_email_parse_unknown_senders) { + // Parse even if the sender is unknown + + if (addTicket(0, 'Guest', $from_email, 0, $date, $subject, $message_body, $message->getAttachments(), $original_message_file)) { + $email_processed = true; + } } } } diff --git a/database_updates.php b/database_updates.php index 0d0af3aec..b4a01cfad 100644 --- a/database_updates.php +++ b/database_updates.php @@ -2085,9 +2085,15 @@ } // if (CURRENT_DATABASE_VERSION == '1.4.2') { - // // Insert queries here required to update to DB version 1.4.3 + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_ticket_email_parse_unknown_senders` INT(1) NOT NULL DEFAULT '0' AFTER `config_ticket_email_parse`"); + + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.4.3'"); + // } + + // if (CURRENT_DATABASE_VERSION == '1.4.3') { + // // Insert queries here required to update to DB version 1.4.4 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.4.3'"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.4.4'"); // } } else { diff --git a/database_version.php b/database_version.php index d8db970e6..08c5bdfc1 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "1.4.2"); +DEFINE("LATEST_DATABASE_VERSION", "1.4.3"); diff --git a/db.sql b/db.sql index cceaca6cf..9a8d8815f 100644 --- a/db.sql +++ b/db.sql @@ -1467,6 +1467,7 @@ CREATE TABLE `settings` ( `config_ticket_from_name` varchar(200) DEFAULT NULL, `config_ticket_from_email` varchar(200) DEFAULT NULL, `config_ticket_email_parse` tinyint(1) NOT NULL DEFAULT 0, + `config_ticket_email_parse_unknown_senders` tinyint(1) NOT NULL DEFAULT 0, `config_ticket_client_general_notifications` tinyint(1) NOT NULL DEFAULT 1, `config_ticket_autoclose` tinyint(1) NOT NULL DEFAULT 0, `config_ticket_autoclose_hours` int(5) NOT NULL DEFAULT 72, diff --git a/get_settings.php b/get_settings.php index 01db4e91a..aad912363 100644 --- a/get_settings.php +++ b/get_settings.php @@ -68,12 +68,14 @@ $config_ticket_from_name = $row['config_ticket_from_name']; $config_ticket_from_email = $row['config_ticket_from_email']; $config_ticket_email_parse = intval($row['config_ticket_email_parse']); +$config_ticket_email_parse_unknown_senders = intval($row['config_ticket_email_parse_unknown_senders']); $config_ticket_client_general_notifications = intval($row['config_ticket_client_general_notifications']); $config_ticket_autoclose = intval($row['config_ticket_autoclose']); $config_ticket_autoclose_hours = intval($row['config_ticket_autoclose_hours']); $config_ticket_new_ticket_notification_email = $row['config_ticket_new_ticket_notification_email']; $config_ticket_default_billable = intval($row['config_ticket_default_billable']); + // Cron $config_enable_cron = intval($row['config_enable_cron']); $config_cron_key = $row['config_cron_key']; diff --git a/post/setting.php b/post/setting.php index 5e9b77040..be19da587 100644 --- a/post/setting.php +++ b/post/setting.php @@ -306,12 +306,13 @@ $config_ticket_prefix = sanitizeInput($_POST['config_ticket_prefix']); $config_ticket_next_number = intval($_POST['config_ticket_next_number']); $config_ticket_email_parse = intval($_POST['config_ticket_email_parse']); + $config_ticket_email_parse_unknown_senders = intval($_POST['config_ticket_email_parse_unknown_senders']); $config_ticket_default_billable = intval($_POST['config_ticket_default_billable']); $config_ticket_autoclose = intval($_POST['config_ticket_autoclose']); $config_ticket_autoclose_hours = intval($_POST['config_ticket_autoclose_hours']); $config_ticket_new_ticket_notification_email = sanitizeInput($_POST['config_ticket_new_ticket_notification_email']); - mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_email_parse = $config_ticket_email_parse, config_ticket_autoclose = $config_ticket_autoclose, config_ticket_autoclose_hours = $config_ticket_autoclose_hours, config_ticket_new_ticket_notification_email = '$config_ticket_new_ticket_notification_email', config_ticket_default_billable = $config_ticket_default_billable WHERE company_id = 1"); + mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_email_parse = $config_ticket_email_parse, config_ticket_email_parse_unknown_senders = $config_ticket_email_parse_unknown_senders, config_ticket_autoclose = $config_ticket_autoclose, config_ticket_autoclose_hours = $config_ticket_autoclose_hours, config_ticket_new_ticket_notification_email = '$config_ticket_new_ticket_notification_email', config_ticket_default_billable = $config_ticket_default_billable WHERE company_id = 1"); //Logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified ticket settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); diff --git a/settings_ticket.php b/settings_ticket.php index 91739f4b1..0cb81964a 100644 --- a/settings_ticket.php +++ b/settings_ticket.php @@ -10,6 +10,7 @@
+ @@ -40,6 +41,13 @@ +
+
+ value="1" id="emailToTicketAnonParseSwitch" > + +
+
+