diff --git a/mod/quiz/classes/form/edit_override_form.php b/mod/quiz/classes/form/edit_override_form.php
index d15d71cc54c..4f5c7c67860 100644
--- a/mod/quiz/classes/form/edit_override_form.php
+++ b/mod/quiz/classes/form/edit_override_form.php
@@ -57,7 +57,7 @@ class edit_override_form extends moodleform {
protected $userid;
/** @var int overrideid, if provided. */
- protected $overrideid;
+ protected int $overrideid;
/**
* Constructor.
diff --git a/mod/quiz/classes/local/override_cache.php b/mod/quiz/classes/local/override_cache.php
index e1d5452412f..af1e3850c4e 100644
--- a/mod/quiz/classes/local/override_cache.php
+++ b/mod/quiz/classes/local/override_cache.php
@@ -25,8 +25,7 @@ namespace mod_quiz\local;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class override_cache {
-
- /** @var string invalidation event used to purge data when reset_userdata is called, {@see \cache_helper::purge_by_event()}**/
+ /** @var string invalidation event used to purge data when reset_userdata is called, {@see \cache_helper::purge_by_event()} **/
public const INVALIDATION_USERDATARESET = 'userdatareset';
/**
@@ -43,7 +42,7 @@ class override_cache {
/**
* Returns the override cache
*
- * @return cache
+ * @return \cache
*/
protected function get_cache(): \cache {
return \cache::make('mod_quiz', 'overrides');
diff --git a/mod/quiz/classes/local/override_manager.php b/mod/quiz/classes/local/override_manager.php
index f5b6aaa157c..a79c739b1a5 100644
--- a/mod/quiz/classes/local/override_manager.php
+++ b/mod/quiz/classes/local/override_manager.php
@@ -31,7 +31,6 @@ use mod_quiz\event\user_override_updated;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class override_manager {
-
/** @var array quiz setting keys that can be overwritten **/
private const OVERRIDEABLE_QUIZ_SETTINGS = ['timeopen', 'timeclose', 'timelimit', 'attempts', 'password'];
@@ -87,9 +86,9 @@ class override_manager {
$errors = [];
// Ensure at least one of the overrideable settings is set.
- $keysthatareset = array_map(function($key) use ($formdata) {
+ $keysthatareset = array_map(function ($key) use ($formdata) {
return isset($formdata->$key) && !is_null($formdata->$key);
- } , self::OVERRIDEABLE_QUIZ_SETTINGS);
+ }, self::OVERRIDEABLE_QUIZ_SETTINGS);
if (!in_array(true, $keysthatareset)) {
$errors['general'][] = new \lang_string('nooverridedata', 'quiz');
diff --git a/mod/quiz/db/caches.php b/mod/quiz/db/caches.php
index 74964ca8f17..e4d49b9c544 100644
--- a/mod/quiz/db/caches.php
+++ b/mod/quiz/db/caches.php
@@ -32,7 +32,7 @@ $definitions = [
'simplekeys' => true,
'datasource' => '\mod_quiz\cache\overrides',
'invalidationevents' => [
- \mod_quiz\local\override_cache::INVALIDATION_USERDATARESET,
+ \mod_quiz\local\override_cache::INVALIDATION_USERDATARESET,
],
],
];
diff --git a/mod/quiz/deprecatedlib.php b/mod/quiz/deprecatedlib.php
index 2e1f624256c..97de982885f 100644
--- a/mod/quiz/deprecatedlib.php
+++ b/mod/quiz/deprecatedlib.php
@@ -322,13 +322,16 @@ function quiz_calculate_best_attempt($quiz, $attempts) {
* @param bool $log Whether to trigger logs.
* @return bool true on success
*/
+#[\core\attribute\deprecated('override_manager::delete_override_by_id', since: '4.4')]
function quiz_delete_override($quiz, $overrideid, $log = true) {
- debugging('quiz_delete_override is deprecated. Please use override_manager::delete_override_by_id instead.', DEBUG_DEVELOPER);
+ \core\deprecation::emit_deprecation_if_present(__FUNCTION__);
$quizsettings = quiz_settings::create($quiz->id);
$quizsettings->get_override_manager()->delete_overrides_by_id(
ids: [$overrideid],
shouldlog: $log,
);
+
+ return true;
}
/**
@@ -339,9 +342,9 @@ function quiz_delete_override($quiz, $overrideid, $log = true) {
* @param stdClass $quiz The quiz object.
* @param bool $log Whether to trigger logs.
*/
+#[\core\attribute\deprecated('override_manager::delete_all_overrides', since: '4.4')]
function quiz_delete_all_overrides($quiz, $log = true) {
- debugging('quiz_delete_all_overrides is deprecated. Please use override_manager::delete_all_overrides instead.',
- DEBUG_DEVELOPER);
+ \core\deprecation::emit_deprecation_if_present(__FUNCTION__);
$quizsettings = quiz_settings::create($quiz->id);
$quizsettings->get_override_manager()->delete_all_overrides(shouldlog: $log);
}
diff --git a/mod/quiz/tests/override_cache_test.php b/mod/quiz/tests/local/override_cache_test.php
similarity index 91%
rename from mod/quiz/tests/override_cache_test.php
rename to mod/quiz/tests/local/override_cache_test.php
index 57882b487a8..d77f77319c8 100644
--- a/mod/quiz/tests/override_cache_test.php
+++ b/mod/quiz/tests/local/override_cache_test.php
@@ -14,9 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-namespace mod_quiz;
-
-use mod_quiz\local\override_cache;
+namespace mod_quiz\local;
/**
* Cache manager tests for quiz overrides
@@ -27,7 +25,6 @@ use mod_quiz\local\override_cache;
* @covers \mod_quiz\local\override_cache
*/
final class override_cache_test extends \advanced_testcase {
-
/**
* Tests CRUD functions of the override_cache
*/
@@ -37,14 +34,11 @@ final class override_cache_test extends \advanced_testcase {
$reflection = new \ReflectionClass($overridecache);
$getcache = $reflection->getMethod('get_cache');
- $getcache->setAccessible(true);
$cache = $getcache->invoke($overridecache);
$getuserkey = $reflection->getMethod('get_user_cache_key');
- $getuserkey->setAccessible(true);
$getgroupkey = $reflection->getMethod('get_group_cache_key');
- $getgroupkey->setAccessible(true);
$dummydata = (object)[
'userid' => 1234,
@@ -79,7 +73,7 @@ final class override_cache_test extends \advanced_testcase {
$cache->set($getgroupkey->invoke($overridecache, 456), 'testgroup');
// Purge it.
- \cache_helper::purge_by_event(\mod_quiz\local\override_cache::INVALIDATION_USERDATARESET);
+ \cache_helper::purge_by_event(override_cache::INVALIDATION_USERDATARESET);
$this->assertEmpty($overridecache->get_cached_user_override(123));
$this->assertEmpty($overridecache->get_cached_group_override(456));
}
diff --git a/mod/quiz/tests/override_manager_test.php b/mod/quiz/tests/local/override_manager_test.php
similarity index 99%
rename from mod/quiz/tests/override_manager_test.php
rename to mod/quiz/tests/local/override_manager_test.php
index 8d53ecdbebe..caa7e4e949b 100644
--- a/mod/quiz/tests/override_manager_test.php
+++ b/mod/quiz/tests/local/override_manager_test.php
@@ -14,15 +14,14 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
-namespace mod_quiz;
+namespace mod_quiz\local;
use mod_quiz\event\group_override_created;
use mod_quiz\event\group_override_updated;
use mod_quiz\event\user_override_created;
use mod_quiz\event\user_override_updated;
-use mod_quiz\local\override_manager;
use mod_quiz\event\user_override_deleted;
-use mod_quiz\local\override_cache;
+use mod_quiz\quiz_settings;
/**
* Test for override_manager class
@@ -33,7 +32,6 @@ use mod_quiz\local\override_cache;
* @covers \mod_quiz\local\override_manager
*/
final class override_manager_test extends \advanced_testcase {
-
/** @var array Default quiz settings **/
private const TEST_QUIZ_SETTINGS = [
'attempts' => 5,
@@ -305,8 +303,12 @@ final class override_manager_test extends \advanced_testcase {
* @param string $expectedeventclass an event class, which is expected to the emitted by upsert
* @dataProvider save_and_get_override_provider
*/
- public function test_save_and_get_override(array $existingdata, array $formdata, int $expectedrecordscreated,
- string $expectedeventclass): void {
+ public function test_save_and_get_override(
+ array $existingdata,
+ array $formdata,
+ int $expectedrecordscreated,
+ string $expectedeventclass
+ ): void {
global $DB;
$this->setAdminUser();
@@ -966,8 +968,11 @@ final class override_manager_test extends \advanced_testcase {
* @param \Closure $functionbeingtested is passed the manager and calls the function being tested (usually require_*_capability)
* @dataProvider require_read_capability_provider
*/
- public function test_require_read_capability(array $capabilitiestogive, bool $expectedallowed,
- \Closure $functionbeingtested): void {
+ public function test_require_read_capability(
+ array $capabilitiestogive,
+ bool $expectedallowed,
+ \Closure $functionbeingtested
+ ): void {
$this->resetAfterTest();
[$quizobj] = $this->create_quiz_and_course();
$user = $this->getDataGenerator()->create_user();