From bb099be88fb8637e751ea6028f08a268edd21d7c Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Mon, 13 Jul 2020 19:38:57 -0500 Subject: [PATCH] Add hook at the end of the quiz - refs BT#16791 --- main/exercise/exercise_result.php | 4 +++ main/inc/lib/hook/HookQuizEnd.php | 29 +++++++++++++++++++ .../interfaces/HookQuizEndEventInterface.php | 13 +++++++++ .../HookQuizEndObserverInterface.php | 15 ++++++++++ 4 files changed, 61 insertions(+) create mode 100644 main/inc/lib/hook/HookQuizEnd.php create mode 100644 main/inc/lib/hook/interfaces/HookQuizEndEventInterface.php create mode 100644 main/inc/lib/hook/interfaces/HookQuizEndObserverInterface.php diff --git a/main/exercise/exercise_result.php b/main/exercise/exercise_result.php index 1eab150c6c..7a46b49a39 100755 --- a/main/exercise/exercise_result.php +++ b/main/exercise/exercise_result.php @@ -199,6 +199,10 @@ if (!empty($learnpath_id) && $saveResults) { Exercise::saveExerciseInLp($learnpath_item_id, $exe_id); } +$hookQuizEnd = HookQuizEnd::create(); +$hookQuizEnd->setEventData(['exe_id' => $exe_id]); +$hookQuizEnd->notifyQuizEnd(); + // Unset session for clock time ExerciseLib::exercise_time_control_delete( $objExercise->id, diff --git a/main/inc/lib/hook/HookQuizEnd.php b/main/inc/lib/hook/HookQuizEnd.php new file mode 100644 index 0000000000..bcab39df9a --- /dev/null +++ b/main/inc/lib/hook/HookQuizEnd.php @@ -0,0 +1,29 @@ +observers as $observer) { + $observer->hookQuizEnd($this); + } + } +} diff --git a/main/inc/lib/hook/interfaces/HookQuizEndEventInterface.php b/main/inc/lib/hook/interfaces/HookQuizEndEventInterface.php new file mode 100644 index 0000000000..30234da260 --- /dev/null +++ b/main/inc/lib/hook/interfaces/HookQuizEndEventInterface.php @@ -0,0 +1,13 @@ +