value */ $selected_ticket_template_id = intval($selected_ticket_template_id ?? 0); $ticket_template_field = $ticket_template_field ?? 'ticket_template_id'; $ticket_template_apply_on_load = !empty($ticket_template_apply_on_load); $ticket_template_hint = $ticket_template_hint ?? 'Picking one fills in the ticket - change anything before it is made. [Client], [Month] and the like are filled in when it is saved.'; $ticket_template_fill_in_values = $ticket_template_fill_in_values ?? []; $ticket_template_rows = []; $sql_ticket_templates = mysqli_query($mysqli, "SELECT ticket_templates.*, category_name, user_name AS assignee_name FROM ticket_templates LEFT JOIN categories ON category_id = ticket_template_category_id AND ticket_template_category_id > 0 LEFT JOIN users ON user_id = ticket_template_assigned_to AND ticket_template_assigned_to > 0 WHERE ticket_template_archived_at IS NULL OR ticket_template_id = $selected_ticket_template_id ORDER BY ticket_template_name ASC"); while ($row = mysqli_fetch_assoc($sql_ticket_templates)) { $ticket_template_rows[intval($row['ticket_template_id'])] = $row; } // Every template's tasks, fill-ins and tags in one pass each, rather than a query per option $ticket_template_tasks = ticketTemplateTasksFor(array_keys($ticket_template_rows)); $ticket_template_fill_in_rows = ticketTemplateFillInRowsFor(array_keys($ticket_template_rows)); $ticket_template_tags = []; $sql_ticket_template_tags = mysqli_query($mysqli, "SELECT ticket_template_id, ticket_template_tags.tag_id FROM ticket_template_tags JOIN tags ON tags.tag_id = ticket_template_tags.tag_id AND tag_archived_at IS NULL"); while ($row = mysqli_fetch_row($sql_ticket_template_tags)) { $ticket_template_tags[intval($row[0])][] = intval($row[1]); } ?>