From 19bc9db2967e769cdeb441d371d8f7ed976addc9 Mon Sep 17 00:00:00 2001 From: lenaherf Date: Wed, 3 Jun 2026 15:03:14 +0200 Subject: [PATCH 1/3] deletes now groups from the block_groups_hide table when deleted --- classes/observers/group_observer.php | 11 +++++++++++ db/events.php | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/classes/observers/group_observer.php b/classes/observers/group_observer.php index b7c7b78..4c13c0f 100644 --- a/classes/observers/group_observer.php +++ b/classes/observers/group_observer.php @@ -51,4 +51,15 @@ public static function group_created(\core\event\group_created $event) { $DB->insert_record_raw('block_groups_hide', ['id' => $groupid], true, false, true); } } + + public static function group_deleted(\core\event\group_deleted $event) { + global $DB; + + $groupid = $event->objectid; + + // Remove the group from the block_groups_hide table if it exists. + if ($DB->record_exists('block_groups_hide', ['id' => $groupid])) { + $DB->delete_records('block_groups_hide', ['id' => $groupid]); + } + } } diff --git a/db/events.php b/db/events.php index 7d90229..fc279cc 100644 --- a/db/events.php +++ b/db/events.php @@ -29,4 +29,8 @@ 'eventname' => '\core\event\group_created', 'callback' => '\block_groups\observers\group_observer::group_created', ], + [ + 'eventname' => '\core\event\group_deleted', + 'callback' => '\block_groups\observers\group_observer::group_deleted', + ], ]; From 890dd78ff0008106205c14de8b86fa5a554a025b Mon Sep 17 00:00:00 2001 From: lenaherf Date: Wed, 3 Jun 2026 15:26:18 +0200 Subject: [PATCH 2/3] Adding docblock to function --- classes/observers/group_observer.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/classes/observers/group_observer.php b/classes/observers/group_observer.php index 4c13c0f..85ac083 100644 --- a/classes/observers/group_observer.php +++ b/classes/observers/group_observer.php @@ -52,6 +52,12 @@ public static function group_created(\core\event\group_created $event) { } } + /** + * Handles the group_deleted event. + * Automatically deletes the groups from the block_groups_hide table when a group itself has been deleted. + * + * @param \core\event\group_deleted $event + */ public static function group_deleted(\core\event\group_deleted $event) { global $DB; From 2babea2677b137779697384b5323a693cd3b1a8b Mon Sep 17 00:00:00 2001 From: lenaherf Date: Tue, 9 Jun 2026 13:44:36 +0200 Subject: [PATCH 3/3] remove check --- classes/observers/group_observer.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/classes/observers/group_observer.php b/classes/observers/group_observer.php index 85ac083..535835b 100644 --- a/classes/observers/group_observer.php +++ b/classes/observers/group_observer.php @@ -63,9 +63,7 @@ public static function group_deleted(\core\event\group_deleted $event) { $groupid = $event->objectid; - // Remove the group from the block_groups_hide table if it exists. - if ($DB->record_exists('block_groups_hide', ['id' => $groupid])) { - $DB->delete_records('block_groups_hide', ['id' => $groupid]); - } + // Remove the group from the block_groups_hide table. + $DB->delete_records('block_groups_hide', ['id' => $groupid]); } }