From f7f1ffed3c8c1bb0c11610d90139c92d29e3d2a5 Mon Sep 17 00:00:00 2001 From: Zankaria Date: Sun, 14 Jul 2024 00:25:52 +0200 Subject: [PATCH] Delete stale unreferenced ban appeals via foreign key constrain --- inc/mod/pages.php | 4 ---- install.sql | 3 ++- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/inc/mod/pages.php b/inc/mod/pages.php index eec5d364..88e3161d 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -1041,10 +1041,6 @@ function mod_ban_appeals() { if (!hasPermission($config['mod']['view_ban_appeals'])) error($config['error']['noaccess']); - // Remove stale ban appeals - query("DELETE FROM ``ban_appeals`` WHERE NOT EXISTS (SELECT 1 FROM ``bans`` WHERE `ban_id` = ``bans``.`id`)") - or error(db_error()); - if (isset($_POST['appeal_id']) && (isset($_POST['unban']) || isset($_POST['deny']))) { if (!hasPermission($config['mod']['ban_appeals'])) error($config['error']['noaccess']); diff --git a/install.sql b/install.sql index 5b3076b2..a9160308 100644 --- a/install.sql +++ b/install.sql @@ -295,7 +295,8 @@ CREATE TABLE IF NOT EXISTS `ban_appeals` ( `message` text NOT NULL, `denied` tinyint(1) NOT NULL, PRIMARY KEY (`id`), - KEY `ban_id` (`ban_id`) + KEY `ban_id` (`ban_id`), + CONSTRAINT `fk_ban_id` FOREIGN KEY (`ban_id`) REFERENCES `bans`(`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ; -- --------------------------------------------------------