@@ -774,6 +774,42 @@ public static function saveMessageAttachmentFile(
774
774
}
775
775
}
776
776
777
+ public static function deleteTicket ($ ticketId )
778
+ {
779
+ $ ticketId = (int ) $ ticketId ;
780
+ if ($ ticketId <= 0 ) {
781
+ return false ;
782
+ }
783
+ $ table_support_tickets = Database::get_main_table (TABLE_TICKET_TICKET );
784
+ $ table_ticket_message = Database::get_main_table ('ticket_message ' );
785
+ $ table_ticket_assigned_log = Database::get_main_table ('ticket_assigned_log ' );
786
+ $ table_ticket_message_attachments = Database::get_main_table ('ticket_message_attachments ' );
787
+
788
+ $ sql_get_message_ids = "SELECT id FROM $ table_ticket_message WHERE ticket_id = $ ticketId " ;
789
+ $ sql_delete_attachments = "DELETE FROM $ table_ticket_message_attachments WHERE message_id IN ( $ sql_get_message_ids) " ;
790
+ Database::query ($ sql_delete_attachments );
791
+
792
+ $ sql_assigned_log = "DELETE FROM $ table_ticket_assigned_log WHERE ticket_id = $ ticketId " ;
793
+ Database::query ($ sql_assigned_log );
794
+
795
+ $ sql_messages = "DELETE FROM $ table_ticket_message WHERE ticket_id = $ ticketId " ;
796
+ Database::query ($ sql_messages );
797
+
798
+ $ sql_get_category = "SELECT category_id FROM $ table_support_tickets WHERE id = $ ticketId " ;
799
+ $ res = Database::query ($ sql_get_category );
800
+ if ($ row = Database::fetch_array ($ res )) {
801
+ $ category_id = (int )$ row ['category_id ' ];
802
+ $ table_ticket_category = Database::get_main_table ('ticket_category ' );
803
+ $ sql_update_category = "UPDATE $ table_ticket_category SET total_tickets = total_tickets - 1 WHERE id = $ category_id AND total_tickets > 0 " ;
804
+ Database::query ($ sql_update_category );
805
+ }
806
+
807
+ $ sql_ticket = "DELETE FROM $ table_support_tickets WHERE id = $ ticketId " ;
808
+ Database::query ($ sql_ticket );
809
+
810
+ return true ;
811
+ }
812
+
777
813
/**
778
814
* Get tickets by userId.
779
815
*
@@ -1008,6 +1044,14 @@ public static function getTicketsByCurrentUser(
1008
1044
<div class="blackboard_hide" id="div_ ' .$ row ['ticket_id ' ].'"> </div>
1009
1045
</a> ' ;
1010
1046
}
1047
+ if ($ isAdmin ) {
1048
+ $ project_id = isset ($ row ['project_id ' ]) ? $ row ['project_id ' ] : (isset ($ _GET ['project_id ' ]) ? $ _GET ['project_id ' ] : 0 );
1049
+ $ delete_link = '<a href="tickets.php?action=delete&ticket_id= ' .$ row ['ticket_id ' ].'&project_id= ' .$ project_id .'" onclick="return confirm( \'' .htmlentities (get_lang ('AreYouSureYouWantToDeleteThisTicket ' )).'\')"> '
1050
+ . Display::return_icon ('delete.png ' , get_lang ('Delete ' )) .
1051
+ '</a> ' ;
1052
+ $ ticket [] = $ delete_link ;
1053
+ }
1054
+
1011
1055
$ tickets [] = $ ticket ;
1012
1056
}
1013
1057
0 commit comments