diff --git a/classes/events.php b/classes/events.php index 1a3b245..01cdfe3 100644 --- a/classes/events.php +++ b/classes/events.php @@ -62,4 +62,30 @@ public static function course_section_created($event) { $format->update_section_format_options($sectiondata); } } + + + /** + * After course module deleted, deleted the format_designer_options data related to the format_designer options. + * + * @param object $event + * @return void + */ + public static function course_module_deleted($event) { + global $DB; + $courseid = $event->courseid; + $cmid = $event->objectid; + $DB->delete_records('format_designer_options', ['courseid' => $courseid, 'cmid' => $cmid]); + } + + /** + * After course deleted, deleted the format_designer_options data related to the format_designer options. + * + * @param object $event + * @return void + */ + public static function course_deleted($event) { + global $DB; + $courseid = $event->courseid; + $DB->delete_records('format_designer_options', ['courseid' => $courseid]); + } } diff --git a/db/events.php b/db/events.php index e587ca1..0f7eab2 100644 --- a/db/events.php +++ b/db/events.php @@ -33,4 +33,12 @@ 'eventname' => 'core\event\course_section_created', 'callback' => '\format_designer\events::course_section_created', ], + [ + 'eventname' => 'core\event\course_module_deleted', + 'callback' => '\format_designer\events::course_module_deleted', + ], + [ + 'eventname' => 'core\event\course_deleted', + 'callback' => '\format_designer\events::course_deleted', + ], ]; diff --git a/db/upgrade.php b/db/upgrade.php index ca278ff..9b115ef 100644 --- a/db/upgrade.php +++ b/db/upgrade.php @@ -106,5 +106,17 @@ function xmldb_format_designer_upgrade($oldversion) { upgrade_plugin_savepoint(true, 2023040601, 'format', 'designer'); } + + if ($oldversion < 2024073000) { + $deletesql = <<delete_records_subquery('format_designer_options', 'id', 'optionid', $deletesql); + upgrade_plugin_savepoint(true, 2024073000, 'format', 'designer'); + } + return true; } diff --git a/version.php b/version.php index c623ba9..7e30440 100644 --- a/version.php +++ b/version.php @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2024061900; // The current plugin version (Date: YYYYMMDDXX). +$plugin->version = 2024073100; // The current plugin version (Date: YYYYMMDDXX). $plugin->requires = 2020061500; // Requires this Moodle version. $plugin->component = 'format_designer'; // Full name of the plugin (used for diagnostics). $plugin->release = 'Version 1.5';