From 61ffb013a056c31c9b0109727df57c233546dbab Mon Sep 17 00:00:00 2001 From: Magnus Samuelsson Date: Thu, 18 Dec 2025 22:36:09 +0000 Subject: [PATCH] Replaced time() calls with new core time function --- classes/core_userkey_manager.php | 9 ++++++--- tests/core_userkey_manager_test.php | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/classes/core_userkey_manager.php b/classes/core_userkey_manager.php index 31af466..43a7b1e 100644 --- a/classes/core_userkey_manager.php +++ b/classes/core_userkey_manager.php @@ -16,6 +16,9 @@ namespace auth_userkey; +use core\di; +use core\clock; + /** * Key manager class. * @@ -62,9 +65,9 @@ public function create_key($userid, $allowedips = null) { $this->delete_keys($userid); if (isset($this->config->keylifetime) && (int)$this->config->keylifetime > 0) { - $validuntil = time() + $this->config->keylifetime; + $validuntil = di::get(clock::class)->time() + $this->config->keylifetime; } else { - $validuntil = time() + self::DEFAULT_KEY_LIFE_TIME_IN_SECONDS; + $validuntil = di::get(clock::class)->time() + self::DEFAULT_KEY_LIFE_TIME_IN_SECONDS; } $iprestriction = null; @@ -116,7 +119,7 @@ public function validate_key($keyvalue) { throw new \moodle_exception('invalidkey'); } - if (!empty($key->validuntil) && $key->validuntil < time()) { + if (!empty($key->validuntil) && $key->validuntil < di::get(clock::class)->time()) { throw new \moodle_exception('expiredkey'); } diff --git a/tests/core_userkey_manager_test.php b/tests/core_userkey_manager_test.php index 1487081..a3b2a15 100644 --- a/tests/core_userkey_manager_test.php +++ b/tests/core_userkey_manager_test.php @@ -71,6 +71,7 @@ private function validate_iprestriction( int $keylifetime = 60 ): void { global $DB; + $clock = $this->mock_clock_with_frozen(); $manager = new core_userkey_manager($this->config); if ($allowips) { $value = $manager->create_key($this->user->id, $allowips); @@ -83,7 +84,7 @@ private function validate_iprestriction( $this->assertEquals($script, $actualkey->script); $this->assertEquals($this->user->id, $actualkey->instance); $this->assertEquals($iprestriction, $actualkey->iprestriction); - $this->assertEquals(time() + $keylifetime, $actualkey->validuntil); + $this->assertEquals($clock->time() + $keylifetime, $actualkey->validuntil); } /** * Test that core_userkey_manager implements userkey_manager_interface interface.