@@ -21,14 +21,15 @@ public function create( int $requester_id, array $data ): object {
2121 $ reference = Ticket::generate_reference ();
2222 $ now = current_time ( 'mysql ' );
2323 $ priority = $ data ['priority ' ] ?? \Escalated \Models \Setting::get ( 'default_priority ' , 'medium ' );
24+ $ valid_priorities = array_keys ( \Escalated \Helpers \Enums::ticket_priorities () );
2425
2526 $ ticket_data = [
2627 'reference ' => $ reference ,
2728 'requester_id ' => $ requester_id ,
2829 'subject ' => sanitize_text_field ( $ data ['subject ' ] ),
2930 'description ' => wp_kses_post ( $ data ['description ' ] ),
3031 'status ' => 'open ' ,
31- 'priority ' => sanitize_text_field ( $ priority ) ,
32+ 'priority ' => in_array ( $ priority, $ valid_priorities , true ) ? $ priority : ' medium ' ,
3233 'ticket_type ' => in_array ( $ data ['ticket_type ' ] ?? '' , ['question ' , 'problem ' , 'incident ' , 'task ' ], true ) ? $ data ['ticket_type ' ] : 'question ' ,
3334 'channel ' => sanitize_text_field ( $ data ['channel ' ] ?? 'web ' ),
3435 'department_id ' => ! empty ( $ data ['department_id ' ] ) ? absint ( $ data ['department_id ' ] ) : null ,
@@ -65,14 +66,15 @@ public function create_guest( array $data ): object {
6566 $ reference = Ticket::generate_reference ();
6667 $ now = current_time ( 'mysql ' );
6768 $ priority = $ data ['priority ' ] ?? \Escalated \Models \Setting::get ( 'default_priority ' , 'medium ' );
69+ $ valid_priorities = array_keys ( \Escalated \Helpers \Enums::ticket_priorities () );
6870
6971 $ ticket_data = [
7072 'reference ' => $ reference ,
7173 'requester_id ' => null ,
7274 'subject ' => sanitize_text_field ( $ data ['subject ' ] ),
7375 'description ' => wp_kses_post ( $ data ['description ' ] ),
7476 'status ' => 'open ' ,
75- 'priority ' => sanitize_text_field ( $ priority ) ,
77+ 'priority ' => in_array ( $ priority, $ valid_priorities , true ) ? $ priority : ' medium ' ,
7678 'ticket_type ' => in_array ( $ data ['ticket_type ' ] ?? '' , ['question ' , 'problem ' , 'incident ' , 'task ' ], true ) ? $ data ['ticket_type ' ] : 'question ' ,
7779 'channel ' => sanitize_text_field ( $ data ['channel ' ] ?? 'web ' ),
7880 'department_id ' => ! empty ( $ data ['department_id ' ] ) ? absint ( $ data ['department_id ' ] ) : null ,
0 commit comments