. namespace tool_mfa; use core\hook\after_config; /** * Callbacks for hooks. * * @package tool_mfa * @copyright 2024 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class hook_callbacks { /** * Listener for the after_config hook. * * @param after_config $hook */ public static function after_config(\core\hook\after_config $hook): void { global $CFG, $SESSION; if (during_initial_install() || isset($CFG->upgraderunning)) { // Do nothing during installation or upgrade. return; } // Tests for hooks being fired to test patches. // Store in $CFG, $SESSION not present at this point. if (PHPUNIT_TEST) { $CFG->mfa_config_hook_test = true; } // Check for not logged in. if (isloggedin() && !isguestuser()) { // If not authenticated, force login required. if (empty($SESSION->tool_mfa_authenticated)) { \tool_mfa\manager::require_auth(); } } } }