'That recurring ticket no longer exists.']); exit; } $client_id = intval($recurring['recurring_ticket_client_id']); if ($client_id) { enforceClientAccess(); } $contact_id = intval($recurring['recurring_ticket_contact_id']); $asset_id = intval($recurring['recurring_ticket_asset_id']); $assigned_to = intval($recurring['recurring_ticket_assigned_to']); $category_id = intval($recurring['recurring_ticket_category']); $billable = intval($recurring['recurring_ticket_billable']); $frequency = recurringTicketFrequency($recurring['recurring_ticket_frequency']); $next_run = substr((string) $recurring['recurring_ticket_next_run'], 0, 10); $paused = recurringTicketPaused($recurring); $upcoming = recurringTicketUpcoming($recurring, 4); // Tasks already on this schedule, pre-filling the editable rows $existing_tasks = []; $sql_tasks = mysqli_query($mysqli, "SELECT recurring_ticket_task_name, recurring_ticket_task_completion_estimate FROM recurring_ticket_tasks WHERE recurring_ticket_task_recurring_ticket_id = $recurring_ticket_id ORDER BY recurring_ticket_task_order ASC, recurring_ticket_task_id ASC"); while ($row = mysqli_fetch_assoc($sql_tasks)) { $existing_tasks[] = ['name' => $row['recurring_ticket_task_name'], 'estimate' => intval($row['recurring_ticket_task_completion_estimate'])]; } $other_asset_ids = []; $sql_other_assets = mysqli_query($mysqli, "SELECT asset_id FROM recurring_ticket_assets WHERE recurring_ticket_id = $recurring_ticket_id"); while ($row = mysqli_fetch_row($sql_other_assets)) { $other_asset_ids[] = intval($row[0]); } ob_start(); ?>