From 7b07325a1996c44be6dc27d0da123663e7f23a8e Mon Sep 17 00:00:00 2001 From: Juan Pablo de Castro Date: Thu, 20 Jun 2024 13:14:14 +0000 Subject: [PATCH 1/2] Compatibility with 402+ --- rule.php | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/rule.php b/rule.php index 1239e10..923856b 100755 --- a/rule.php +++ b/rule.php @@ -31,20 +31,19 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -use mod_quiz\local\access_rule_base; -use quizaccess_sebprogram\program; -use quizaccess_sebprogram\program_quiz; -use quizaccess_seb\access_manager; -use quizaccess_seb\settings_provider; - -defined('MOODLE_INTERNAL') || die(); -// After Moodle 4.2 seb_access_manager is loaded by classloader and access_manager was renamed to seb_access_manager. -if ($CFG->version < 2021110800) { - require_once($CFG->dirroot . '/mod/quiz/accessrule/seb/classes/access_manager.php'); - // Adding a class alias for backwards compatibility with the previous class name. - class_alias(access_manager::class, 'seb_access_manager'); -} - + use mod_quiz\local\access_rule_base; + use quizaccess_sebprogram\program; + use quizaccess_sebprogram\program_quiz; + use quizaccess_seb\seb_access_manager; + use quizaccess_seb\settings_provider; + + defined('MOODLE_INTERNAL') || die(); + // After Moodle 4.2 seb_access_manager is loaded by classloader and access_manager was renamed to seb_access_manager. + if ($CFG->version < 2023042400) { + require_once($CFG->dirroot . '/mod/quiz/accessrule/seb/classes/access_manager.php'); + // Adding a class alias for backwards compatibility with the previous class name. + class_alias(quizaccess_seb\access_manager::class, 'seb_access_manager'); + } /** * A rule requiring the student to promise not to cheat. * @@ -63,7 +62,7 @@ class quizaccess_sebprogram extends quiz_access_rule_base { * @return quiz_access_rule_base|null the rule, if applicable, else null. */ public static function make(quiz $quizobj, $timenow, $canignoretimelimits) { - $accessmanager = new access_manager($quizobj); + $accessmanager = new seb_access_manager($quizobj); // If Safe Exam Browser is not required, this access rule is not applicable. if (!$accessmanager->seb_required()) { return null; From abf66c96b45441e58deb9a15d4e4b7c5393a574c Mon Sep 17 00:00:00 2001 From: urjc-cied Date: Tue, 17 Mar 2026 10:20:39 -0300 Subject: [PATCH 2/2] fix: reemplazar clases deprecadas (quiz, external_api) por sus nuevos namespaces --- lib.php | 2 +- rule.php | 7 ++++--- version.php | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib.php b/lib.php index 742d766..27cb276 100755 --- a/lib.php +++ b/lib.php @@ -53,7 +53,7 @@ function quizaccess_sebprogram_override_webservice_execution($function, $params) $configkey = $params[2]; $browserexamkey = $params[3]; - \external_api::validate_context(\context_module::instance($cmid)); + \core_external\external_api::validate_context(\context_module::instance($cmid)); // At least one SEB key must be provided. if (empty($configkey) && empty($browserexamkey)) { diff --git a/rule.php b/rule.php index 923856b..7acc0dd 100755 --- a/rule.php +++ b/rule.php @@ -32,6 +32,7 @@ */ use mod_quiz\local\access_rule_base; + use mod_quiz\quiz_settings; use quizaccess_sebprogram\program; use quizaccess_sebprogram\program_quiz; use quizaccess_seb\seb_access_manager; @@ -50,7 +51,7 @@ class_alias(quizaccess_seb\access_manager::class, 'seb_access_manager'); * @copyright 2011 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class quizaccess_sebprogram extends quiz_access_rule_base { +class quizaccess_sebprogram extends \mod_quiz\local\access_rule_base { /** * Return an appropriately configured instance of this rule, if it is applicable @@ -59,9 +60,9 @@ class quizaccess_sebprogram extends quiz_access_rule_base { * @param int $timenow the time that should be considered as 'now'. * @param bool $canignoretimelimits whether the current user is exempt from * time limits by the mod/quiz:ignoretimelimits capability. - * @return quiz_access_rule_base|null the rule, if applicable, else null. + * @return \mod_quiz\local\access_rule_base|null the rule, if applicable, else null. */ - public static function make(quiz $quizobj, $timenow, $canignoretimelimits) { + public static function make(\mod_quiz\quiz_settings $quizobj, $timenow, $canignoretimelimits) { $accessmanager = new seb_access_manager($quizobj); // If Safe Exam Browser is not required, this access rule is not applicable. if (!$accessmanager->seb_required()) { diff --git a/version.php b/version.php index 291866a..319fd94 100755 --- a/version.php +++ b/version.php @@ -34,8 +34,8 @@ defined('MOODLE_INTERNAL') || die(); $plugin->release = '0.9.0'; -$plugin->version = 2024032001; -$plugin->requires = 2022080100; +$plugin->version = 2026031700; +$plugin->requires = 2023042400; $plugin->component = 'quizaccess_sebprogram'; $plugin->maturity = MATURITY_STABLE; $plugin->dependencies = array(