@@ -774,6 +774,42 @@ public static function saveMessageAttachmentFile(
774774 }
775775 }
776776
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+
777813 /**
778814 * Get tickets by userId.
779815 *
@@ -1008,6 +1044,14 @@ public static function getTicketsByCurrentUser(
10081044<div class="blackboard_hide" id="div_ ' .$ row ['ticket_id ' ].'"> </div>
10091045</a> ' ;
10101046 }
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+
10111055 $ tickets [] = $ ticket ;
10121056 }
10131057
0 commit comments