diff --git a/ajax/ajax_recurring_ticket_edit.php b/ajax/ajax_recurring_ticket_edit.php index e6356739..12a3ab1f 100644 --- a/ajax/ajax_recurring_ticket_edit.php +++ b/ajax/ajax_recurring_ticket_edit.php @@ -2,56 +2,56 @@ require_once '../includes/ajax_header.php'; -$scheduled_ticket_id = intval($_GET['id']); +$recurring_ticket_id = intval($_GET['id']); -$sql = mysqli_query($mysqli, "SELECT * FROM scheduled_tickets WHERE scheduled_ticket_id = $scheduled_ticket_id LIMIT 1"); +$sql = mysqli_query($mysqli, "SELECT * FROM recurring_tickets WHERE recurring_ticket_id = $recurring_ticket_id LIMIT 1"); $row = mysqli_fetch_array($sql); -$client_id = intval($row['scheduled_ticket_client_id']); -$scheduled_ticket_subject = nullable_htmlentities($row['scheduled_ticket_subject']); -$scheduled_ticket_details = nullable_htmlentities($row['scheduled_ticket_details']); -$scheduled_ticket_priority = nullable_htmlentities($row['scheduled_ticket_priority']); -$scheduled_ticket_frequency = nullable_htmlentities($row['scheduled_ticket_frequency']); -$scheduled_ticket_next_run = nullable_htmlentities($row['scheduled_ticket_next_run']); -$scheduled_ticket_assigned_to = intval($row['scheduled_ticket_assigned_to']); -$scheduled_ticket_contact_id = intval($row['scheduled_ticket_contact_id']); -$scheduled_ticket_asset_id = intval($row['scheduled_ticket_asset_id']); -$scheduled_ticket_billable = intval($row['scheduled_ticket_billable']); +$client_id = intval($row['recurring_ticket_client_id']); +$recurring_ticket_subject = nullable_htmlentities($row['recurring_ticket_subject']); +$recurring_ticket_details = nullable_htmlentities($row['recurring_ticket_details']); +$recurring_ticket_priority = nullable_htmlentities($row['recurring_ticket_priority']); +$recurring_ticket_frequency = nullable_htmlentities($row['recurring_ticket_frequency']); +$recurring_ticket_next_run = nullable_htmlentities($row['recurring_ticket_next_run']); +$recurring_ticket_assigned_to = intval($row['recurring_ticket_assigned_to']); +$recurring_ticket_contact_id = intval($row['recurring_ticket_contact_id']); +$recurring_ticket_asset_id = intval($row['recurring_ticket_asset_id']); +$recurring_ticket_billable = intval($row['recurring_ticket_billable']); // Generate the HTML form content using output buffering. ob_start(); ?>
- + @@ -109,7 +109,7 @@ ob_start();
value="1" + value="1" >
@@ -117,7 +117,7 @@ ob_start();
-
+
@@ -152,7 +152,7 @@ ob_start(); } ?> - +
@@ -160,7 +160,7 @@ ob_start();
-
+
@@ -169,11 +169,11 @@ ob_start();
@@ -184,13 +184,13 @@ ob_start();
- +
-
+
@@ -208,7 +208,7 @@ ob_start(); $asset_name_select = nullable_htmlentities($row['asset_name']); $asset_contact_name_select = nullable_htmlentities($row['contact_name']); ?> - + CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.9.4'"); } - // if (CURRENT_DATABASE_VERSION == '1.9.4') { - // // Insert queries here required to update to DB version 1.9.5 + if (CURRENT_DATABASE_VERSION == '1.9.4') { + mysqli_query($mysqli, "RENAME TABLE `scheduled_tickets` TO `recurring_tickets`"); + + mysqli_query($mysqli, + "ALTER TABLE `recurring_tickets` + CHANGE COLUMN `scheduled_ticket_id` `recurring_ticket_id` INT(11) NOT NULL AUTO_INCREMENT, + CHANGE COLUMN `scheduled_ticket_category` `recurring_ticket_category` VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + CHANGE COLUMN `scheduled_ticket_subject` `recurring_ticket_subject` VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + CHANGE COLUMN `scheduled_ticket_details` `recurring_ticket_details` LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + CHANGE COLUMN `scheduled_ticket_priority` `recurring_ticket_priority` VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + CHANGE COLUMN `scheduled_ticket_frequency` `recurring_ticket_frequency` VARCHAR(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + CHANGE COLUMN `scheduled_ticket_billable` `recurring_ticket_billable` TINYINT(1) NOT NULL DEFAULT 0, + CHANGE COLUMN `scheduled_ticket_start_date` `recurring_ticket_start_date` DATE NOT NULL, + CHANGE COLUMN `scheduled_ticket_next_run` `recurring_ticket_next_run` DATE NOT NULL, + CHANGE COLUMN `scheduled_ticket_created_at` `recurring_ticket_created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(), + CHANGE COLUMN `scheduled_ticket_updated_at` `recurring_ticket_updated_at` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(), + CHANGE COLUMN `scheduled_ticket_created_by` `recurring_ticket_created_by` INT(11) NOT NULL DEFAULT 0, + CHANGE COLUMN `scheduled_ticket_assigned_to` `recurring_ticket_assigned_to` INT(11) NOT NULL DEFAULT 0, + CHANGE COLUMN `scheduled_ticket_client_id` `recurring_ticket_client_id` INT(11) NOT NULL DEFAULT 0, + CHANGE COLUMN `scheduled_ticket_contact_id` `recurring_ticket_contact_id` INT(11) NOT NULL DEFAULT 0, + CHANGE COLUMN `scheduled_ticket_asset_id` `recurring_ticket_asset_id` INT(11) NOT NULL DEFAULT 0 + " + ); + + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.9.5'"); + } + + // if (CURRENT_DATABASE_VERSION == '1.9.5') { + // // Insert queries here required to update to DB version 1.9.6 // // Then, update the database to the next sequential version - // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.9.5'"); + // mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '1.9.6'"); // } } else { diff --git a/db.sql b/db.sql index 42d864f9..0694d741 100644 --- a/db.sql +++ b/db.sql @@ -1494,6 +1494,34 @@ CREATE TABLE `recurring_payments` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; +-- +-- Table structure for table `recurring_tickets` +-- + +DROP TABLE IF EXISTS `recurring_tickets`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recurring_tickets` ( + `recurring_ticket_id` int(11) NOT NULL AUTO_INCREMENT, + `recurring_ticket_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `recurring_ticket_subject` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `recurring_ticket_details` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `recurring_ticket_priority` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, + `recurring_ticket_frequency` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + `recurring_ticket_billable` tinyint(1) NOT NULL DEFAULT 0, + `recurring_ticket_start_date` date NOT NULL, + `recurring_ticket_next_run` date NOT NULL, + `recurring_ticket_created_at` datetime NOT NULL DEFAULT current_timestamp(), + `recurring_ticket_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(), + `recurring_ticket_created_by` int(11) NOT NULL DEFAULT 0, + `recurring_ticket_assigned_to` int(11) NOT NULL DEFAULT 0, + `recurring_ticket_client_id` int(11) NOT NULL DEFAULT 0, + `recurring_ticket_contact_id` int(11) NOT NULL DEFAULT 0, + `recurring_ticket_asset_id` int(11) NOT NULL DEFAULT 0, + PRIMARY KEY (`recurring_ticket_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + -- -- Table structure for table `remember_tokens` -- @@ -1535,34 +1563,6 @@ CREATE TABLE `revenues` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; --- --- Table structure for table `scheduled_tickets` --- - -DROP TABLE IF EXISTS `scheduled_tickets`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `scheduled_tickets` ( - `scheduled_ticket_id` int(11) NOT NULL AUTO_INCREMENT, - `scheduled_ticket_category` varchar(200) DEFAULT NULL, - `scheduled_ticket_subject` varchar(500) NOT NULL, - `scheduled_ticket_details` longtext NOT NULL, - `scheduled_ticket_priority` varchar(200) DEFAULT NULL, - `scheduled_ticket_frequency` varchar(10) NOT NULL, - `scheduled_ticket_billable` tinyint(1) NOT NULL DEFAULT 0, - `scheduled_ticket_start_date` date NOT NULL, - `scheduled_ticket_next_run` date NOT NULL, - `scheduled_ticket_created_at` datetime NOT NULL DEFAULT current_timestamp(), - `scheduled_ticket_updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(), - `scheduled_ticket_created_by` int(11) NOT NULL DEFAULT 0, - `scheduled_ticket_assigned_to` int(11) NOT NULL DEFAULT 0, - `scheduled_ticket_client_id` int(11) NOT NULL DEFAULT 0, - `scheduled_ticket_contact_id` int(11) NOT NULL DEFAULT 0, - `scheduled_ticket_asset_id` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`scheduled_ticket_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - -- -- Table structure for table `service_assets` -- @@ -2400,4 +2400,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2025-03-11 15:09:10 +-- Dump completed on 2025-03-11 18:31:54 diff --git a/includes/client_side_nav.php b/includes/client_side_nav.php index 134d9cb3..bb1dbfc2 100644 --- a/includes/client_side_nav.php +++ b/includes/client_side_nav.php @@ -74,8 +74,8 @@

Recurring Tickets - + if ($num_recurring_tickets) { ?> +

diff --git a/includes/database_version.php b/includes/database_version.php index 7f247a89..34ef3cc8 100644 --- a/includes/database_version.php +++ b/includes/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "1.9.4"); +DEFINE("LATEST_DATABASE_VERSION", "1.9.5"); diff --git a/includes/get_side_nav_counts.php b/includes/get_side_nav_counts.php index c448632c..35c59e11 100644 --- a/includes/get_side_nav_counts.php +++ b/includes/get_side_nav_counts.php @@ -10,7 +10,7 @@ $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('ticket_id') AS nu $num_active_tickets = $row['num']; // Recurring Ticket Count -$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('scheduled_ticket_id') AS num FROM scheduled_tickets LEFT JOIN clients ON client_id = scheduled_ticket_client_id WHERE 1 = 1 $access_permission_query")); +$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('recurring_ticket_id') AS num FROM recurring_tickets LEFT JOIN clients ON client_id = recurring_ticket_client_id WHERE 1 = 1 $access_permission_query")); $num_recurring_tickets = $row['num']; // Active Project Count diff --git a/includes/inc_all_client.php b/includes/inc_all_client.php index aa25a4d6..461d91b8 100644 --- a/includes/inc_all_client.php +++ b/includes/inc_all_client.php @@ -145,8 +145,8 @@ if (isset($_GET['client_id'])) { $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('ticket_id') AS num FROM tickets WHERE ticket_archived_at IS NULL AND ticket_closed_at IS NOT NULL AND ticket_client_id = $client_id")); $num_closed_tickets = $row['num']; - $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('scheduled_ticket_id') AS num FROM scheduled_tickets WHERE scheduled_ticket_client_id = $client_id")); - $num_scheduled_tickets = $row['num']; + $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('recurring_ticket_id') AS num FROM recurring_tickets WHERE recurring_ticket_client_id = $client_id")); + $num_recurring_tickets = $row['num']; $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('service_id') AS num FROM services WHERE service_client_id = $client_id")); $num_services = $row['num']; diff --git a/post/user/ticket.php b/post/user/ticket.php index daca7392..d676ab24 100644 --- a/post/user/ticket.php +++ b/post/user/ticket.php @@ -2041,12 +2041,12 @@ if (isset($_POST['add_recurring_ticket'])) { $start_date = sanitizeInput($_POST['start_date']); - mysqli_query($mysqli, "INSERT INTO scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_billable = $billable, scheduled_ticket_start_date = '$start_date', scheduled_ticket_next_run = '$start_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_created_by = $session_user_id, scheduled_ticket_client_id = $client_id, scheduled_ticket_contact_id = $contact_id, scheduled_ticket_asset_id = $asset_id"); + mysqli_query($mysqli, "INSERT INTO recurring_tickets SET recurring_ticket_subject = '$subject', recurring_ticket_details = '$details', recurring_ticket_priority = '$priority', recurring_ticket_frequency = '$frequency', recurring_ticket_billable = $billable, recurring_ticket_start_date = '$start_date', recurring_ticket_next_run = '$start_date', recurring_ticket_assigned_to = $assigned_to, recurring_ticket_created_by = $session_user_id, recurring_ticket_client_id = $client_id, recurring_ticket_contact_id = $contact_id, recurring_ticket_asset_id = $asset_id"); - $scheduled_ticket_id = mysqli_insert_id($mysqli); + $recurring_ticket_id = mysqli_insert_id($mysqli); // Logging - logAction("Recurring Ticket", "Create", "$session_name created recurring ticket for $subject - $frequency", $client_id, $scheduled_ticket_id); + logAction("Recurring Ticket", "Create", "$session_name created recurring ticket for $subject - $frequency", $client_id, $recurring_ticket_id); $_SESSION['alert_message'] = "Recurring ticket $subject - $frequency created"; @@ -2059,13 +2059,13 @@ if (isset($_POST['edit_recurring_ticket'])) { require_once 'post/user/ticket_recurring_model.php'; - $scheduled_ticket_id = intval($_POST['scheduled_ticket_id']); + $recurring_ticket_id = intval($_POST['recurring_ticket_id']); $next_run_date = sanitizeInput($_POST['next_date']); - mysqli_query($mysqli, "UPDATE scheduled_tickets SET scheduled_ticket_subject = '$subject', scheduled_ticket_details = '$details', scheduled_ticket_priority = '$priority', scheduled_ticket_frequency = '$frequency', scheduled_ticket_billable = $billable, scheduled_ticket_next_run = '$next_run_date', scheduled_ticket_assigned_to = $assigned_to, scheduled_ticket_asset_id = $asset_id, scheduled_ticket_contact_id = $contact_id WHERE scheduled_ticket_id = $scheduled_ticket_id"); + mysqli_query($mysqli, "UPDATE recurring_tickets SET recurring_ticket_subject = '$subject', recurring_ticket_details = '$details', recurring_ticket_priority = '$priority', recurring_ticket_frequency = '$frequency', recurring_ticket_billable = $billable, recurring_ticket_next_run = '$next_run_date', recurring_ticket_assigned_to = $assigned_to, recurring_ticket_asset_id = $asset_id, recurring_ticket_contact_id = $contact_id WHERE recurring_ticket_id = $recurring_ticket_id"); // Logging - logAction("Recurring Ticket", "Edit", "$session_name edited recurring ticket $subject", $client_id, $scheduled_ticket_id); + logAction("Recurring Ticket", "Edit", "$session_name edited recurring ticket $subject", $client_id, $recurring_ticket_id); $_SESSION['alert_message'] = "Recurring ticket $subject - $frequency updated"; @@ -2077,24 +2077,24 @@ if (isset($_GET['force_recurring_ticket'])) { enforceUserPermission('module_support', 2); validateCSRFToken($_GET['csrf_token']); - $scheduled_ticket_id = intval($_GET['force_recurring_ticket']); + $recurring_ticket_id = intval($_GET['force_recurring_ticket']); - $sql = mysqli_query($mysqli, "SELECT * FROM scheduled_tickets WHERE scheduled_ticket_id = $scheduled_ticket_id"); + $sql = mysqli_query($mysqli, "SELECT * FROM recurring_tickets WHERE recurring_ticket_id = $recurring_ticket_id"); if (mysqli_num_rows($sql) > 0) { $row = mysqli_fetch_array($sql); - $schedule_id = intval($row['scheduled_ticket_id']); - $subject = sanitizeInput($row['scheduled_ticket_subject']); - $details = mysqli_real_escape_string($mysqli, $row['scheduled_ticket_details']); - $priority = sanitizeInput($row['scheduled_ticket_priority']); - $frequency = sanitizeInput(strtolower($row['scheduled_ticket_frequency'])); - $billable = intval($row['scheduled_ticket_billable']); - $old_next_scheduled_date = sanitizeInput($row['scheduled_ticket_next_run']); - $created_id = intval($row['scheduled_ticket_created_by']); - $assigned_id = intval($row['scheduled_ticket_assigned_to']); - $contact_id = intval($row['scheduled_ticket_contact_id']); - $client_id = intval($row['scheduled_ticket_client_id']); - $asset_id = intval($row['scheduled_ticket_asset_id']); + $schedule_id = intval($row['recurring_ticket_id']); + $subject = sanitizeInput($row['recurring_ticket_subject']); + $details = mysqli_real_escape_string($mysqli, $row['recurring_ticket_details']); + $priority = sanitizeInput($row['recurring_ticket_priority']); + $frequency = sanitizeInput(strtolower($row['recurring_ticket_frequency'])); + $billable = intval($row['recurring_ticket_billable']); + $old_next_recurring_date = sanitizeInput($row['recurring_ticket_next_run']); + $created_id = intval($row['recurring_ticket_created_by']); + $assigned_id = intval($row['recurring_ticket_assigned_to']); + $contact_id = intval($row['recurring_ticket_contact_id']); + $client_id = intval($row['recurring_ticket_client_id']); + $asset_id = intval($row['recurring_ticket_asset_id']); $url_key = randomString(156); $ticket_status = 1; // Default @@ -2167,22 +2167,22 @@ if (isset($_GET['force_recurring_ticket'])) { addToMailQueue($data); // Set the next run date (based on the scheduled date, rather than now, so things keep their schedule) - $dt_old_next_scheduled_date = new DateTime($old_next_scheduled_date); + $dt_old_next_recurring_date = new DateTime($old_next_recurring_date); if ($frequency == "weekly") { - $next_run = date_add($dt_old_next_scheduled_date, date_interval_create_from_date_string('1 week')); + $next_run = date_add($dt_old_next_recurring_date, date_interval_create_from_date_string('1 week')); } elseif ($frequency == "monthly") { - $next_run = date_add($dt_old_next_scheduled_date, date_interval_create_from_date_string('1 month')); + $next_run = date_add($dt_old_next_recurring_date, date_interval_create_from_date_string('1 month')); } elseif ($frequency == "quarterly") { - $next_run = date_add($dt_old_next_scheduled_date, date_interval_create_from_date_string('3 months')); + $next_run = date_add($dt_old_next_recurring_date, date_interval_create_from_date_string('3 months')); } elseif ($frequency == "biannually") { - $next_run = date_add($dt_old_next_scheduled_date, date_interval_create_from_date_string('6 months')); + $next_run = date_add($dt_old_next_recurring_date, date_interval_create_from_date_string('6 months')); } elseif ($frequency == "annually") { - $next_run = date_add($dt_old_next_scheduled_date, date_interval_create_from_date_string('12 months')); + $next_run = date_add($dt_old_next_recurring_date, date_interval_create_from_date_string('12 months')); } // Update the run date $next_run = $next_run->format('Y-m-d'); - mysqli_query($mysqli, "UPDATE scheduled_tickets SET scheduled_ticket_next_run = '$next_run' WHERE scheduled_ticket_id = $schedule_id"); + mysqli_query($mysqli, "UPDATE recurring_tickets SET recurring_ticket_next_run = '$next_run' WHERE recurring_ticket_id = $schedule_id"); // Logging logAction("Ticket", "Create", "$session_name force created recurring scheduled $frequency ticket - $config_ticket_prefix$ticket_number - $subject", $client_id, $id); @@ -2204,21 +2204,21 @@ if (isset($_GET['delete_recurring_ticket'])) { enforceUserPermission('module_support', 3); validateCSRFToken($_GET['csrf_token']); - $scheduled_ticket_id = intval($_GET['delete_recurring_ticket']); + $recurring_ticket_id = intval($_GET['delete_recurring_ticket']); // Get Scheduled Ticket Subject Ticket Prefix, Number and Client ID for logging and alert message - $sql = mysqli_query($mysqli, "SELECT * FROM scheduled_tickets WHERE scheduled_ticket_id = $scheduled_ticket_id"); + $sql = mysqli_query($mysqli, "SELECT * FROM recurring_tickets WHERE recurring_ticket_id = $recurring_ticket_id"); $row = mysqli_fetch_array($sql); - $subject = sanitizeInput($row['scheduled_ticket_subject']); - $frequency = sanitizeInput($row['scheduled_ticket_frequency']); + $subject = sanitizeInput($row['recurring_ticket_subject']); + $frequency = sanitizeInput($row['recurring_ticket_frequency']); - $client_id = intval($row['scheduled_ticket_client_id']); + $client_id = intval($row['recurring_ticket_client_id']); // Delete - mysqli_query($mysqli, "DELETE FROM scheduled_tickets WHERE scheduled_ticket_id = $scheduled_ticket_id"); + mysqli_query($mysqli, "DELETE FROM recurring_tickets WHERE recurring_ticket_id = $recurring_ticket_id"); // Logging - logAction("Recurring Ticket", "Delete", "$session_name deleted recurring ticket $subject", $client_id, $scheduled_ticket_id); + logAction("Recurring Ticket", "Delete", "$session_name deleted recurring ticket $subject", $client_id, $recurring_ticket_id); $_SESSION['alert_type'] = "error"; $_SESSION['alert_message'] = "Recurring ticket $subject - $frequency deleted"; @@ -2226,23 +2226,23 @@ if (isset($_GET['delete_recurring_ticket'])) { header("Location: " . $_SERVER["HTTP_REFERER"]); } -if (isset($_POST['bulk_delete_scheduled_tickets']) || isset($_POST['bulk_delete_recurring_tickets'])) { +if (isset($_POST['bulk_delete_recurring_tickets']) || isset($_POST['bulk_delete_recurring_tickets'])) { enforceUserPermission('module_support', 3); validateCSRFToken($_POST['csrf_token']); - if (isset($_POST['scheduled_ticket_ids'])) { + if (isset($_POST['recurring_ticket_ids'])) { - $count = count($_POST['scheduled_ticket_ids']); + $count = count($_POST['recurring_ticket_ids']); // Cycle through array and delete each recurring scheduled ticket - foreach ($scheduled_ticket_ids as $scheduled_ticket_id) { + foreach ($recurring_ticket_ids as $recurring_ticket_id) { - $scheduled_ticket_id = intval($scheduled_ticket_id); - mysqli_query($mysqli, "DELETE FROM scheduled_tickets WHERE scheduled_ticket_id = $scheduled_ticket_id"); + $recurring_ticket_id = intval($recurring_ticket_id); + mysqli_query($mysqli, "DELETE FROM recurring_tickets WHERE recurring_ticket_id = $recurring_ticket_id"); // Logging - logAction("Recurring Ticket", "Delete", "$session_name deleted recurring ticket", 0, $scheduled_ticket_id); + logAction("Recurring Ticket", "Delete", "$session_name deleted recurring ticket", 0, $recurring_ticket_id); } diff --git a/recurring_tickets.php b/recurring_tickets.php index 08c17716..246eb073 100644 --- a/recurring_tickets.php +++ b/recurring_tickets.php @@ -1,13 +1,13 @@ - - Subject + + Subject - - Priority + + Priority - - Frequency + + Frequency - - Next Run Date + + Next Run Date = 2) { ?> @@ -155,24 +155,24 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
- +
- + @@ -181,17 +181,17 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); data-toggle="ajax-modal" data-modal-size="lg" data-ajax-url="ajax/ajax_recurring_ticket_edit.php" - data-ajax-id="" + data-ajax-id="" > - + - + - + - + = 2) { ?> @@ -204,17 +204,17 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); data-toggle="ajax-modal" data-modal-size="lg" data-ajax-url="ajax/ajax_recurring_ticket_edit.php" - data-ajax-id="" + data-ajax-id="" > Edit - + Force Reoccur - + Delete diff --git a/scripts/cron.php b/scripts/cron.php index 25c700d4..d147a0d4 100644 --- a/scripts/cron.php +++ b/scripts/cron.php @@ -280,25 +280,25 @@ if ($tickets_pending_assignment > 0) { logApp("Cron", "info", "Cron created notifications for new tickets that are pending assignment"); } -// Recurring (Scheduled) tickets +// Recurring tickets // Get recurring tickets for today -$sql_scheduled_tickets = mysqli_query($mysqli, "SELECT * FROM scheduled_tickets WHERE scheduled_ticket_next_run = CURDATE()"); +$sql_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_tickets WHERE recurring_ticket_next_run = CURDATE()"); -if (mysqli_num_rows($sql_scheduled_tickets) > 0) { - while ($row = mysqli_fetch_array($sql_scheduled_tickets)) { +if (mysqli_num_rows($sql_recurring_tickets) > 0) { + while ($row = mysqli_fetch_array($sql_recurring_tickets)) { - $schedule_id = intval($row['scheduled_ticket_id']); - $subject = sanitizeInput($row['scheduled_ticket_subject']); - $details = mysqli_real_escape_string($mysqli, $row['scheduled_ticket_details']); - $priority = sanitizeInput($row['scheduled_ticket_priority']); - $frequency = sanitizeInput(strtolower($row['scheduled_ticket_frequency'])); - $billable = intval($row['scheduled_ticket_billable']); - $created_id = intval($row['scheduled_ticket_created_by']); - $assigned_id = intval($row['scheduled_ticket_assigned_to']); - $client_id = intval($row['scheduled_ticket_client_id']); - $contact_id = intval($row['scheduled_ticket_contact_id']); - $asset_id = intval($row['scheduled_ticket_asset_id']); + $schedule_id = intval($row['recurring_ticket_id']); + $subject = sanitizeInput($row['recurring_ticket_subject']); + $details = mysqli_real_escape_string($mysqli, $row['recurring_ticket_details']); + $priority = sanitizeInput($row['recurring_ticket_priority']); + $frequency = sanitizeInput(strtolower($row['recurring_ticket_frequency'])); + $billable = intval($row['recurring_ticket_billable']); + $created_id = intval($row['recurring_ticket_created_by']); + $assigned_id = intval($row['recurring_ticket_assigned_to']); + $client_id = intval($row['recurring_ticket_client_id']); + $contact_id = intval($row['recurring_ticket_contact_id']); + $asset_id = intval($row['recurring_ticket_asset_id']); $ticket_status = 1; // Default if ($assigned_id > 0) { @@ -408,7 +408,7 @@ if (mysqli_num_rows($sql_scheduled_tickets) > 0) { // Update the run date $next_run = $next_run->format('Y-m-d'); - $a = mysqli_query($mysqli, "UPDATE scheduled_tickets SET scheduled_ticket_next_run = '$next_run' WHERE scheduled_ticket_id = $schedule_id"); + $a = mysqli_query($mysqli, "UPDATE recurring_tickets SET recurring_ticket_next_run = '$next_run' WHERE recurring_ticket_id = $schedule_id"); } }