. /** * Settings * * @package factor_webauthn * @author Alex Morris set_updatedcallback(function() { \tool_mfa\manager::do_factor_action('webauthn', get_config('factor_webauthn', 'enabled') ? 'enable' : 'disable'); }); $settings->add($enabled); $settings->add(new admin_setting_configtext('factor_webauthn/weight', new lang_string('settings:weight', 'tool_mfa'), new lang_string('settings:weight_help', 'tool_mfa'), 100, PARAM_INT)); $authenticators = [ 'usb' => get_string('authenticator:usb', 'factor_webauthn'), 'nfc' => get_string('authenticator:nfc', 'factor_webauthn'), 'ble' => get_string('authenticator:ble', 'factor_webauthn'), 'hybrid' => get_string('authenticator:hybrid', 'factor_webauthn'), 'internal' => get_string('authenticator:internal', 'factor_webauthn'), ]; $settings->add(new admin_setting_configmultiselect('factor_webauthn/authenticatortypes', new lang_string('settings:authenticatortypes', 'factor_webauthn'), new lang_string('settings:authenticatortypes_help', 'factor_webauthn'), array_keys($authenticators), $authenticators)); $settings->add(new admin_setting_configselect('factor_webauthn/userverification', new lang_string('settings:userverification', 'factor_webauthn'), new lang_string('settings:userverification_help', 'factor_webauthn'), 'preferred', $userverification = [ 'required' => get_string('userverification:required', 'factor_webauthn'), 'preferred' => get_string('userverification:preferred', 'factor_webauthn'), 'discouraged' => get_string('userverification:discouraged', 'factor_webauthn'), ]));