Moodle PHP Documentation 5.1
Moodle 5.1dev (Build: 20250620) (7d9030acd6e)
factor_sms\factor Class Reference
Inheritance diagram for factor_sms\factor:
tool_mfa\local\factor\object_factor_base tool_mfa\local\factor\object_factor

Public Member Functions

 check_combination (array $combination)
 Checks whether the factor combination is valid based on factor behaviour.
 
 create_event_after_factor_setup (object $user)
 Creates an event when user successfully setup a factor.
 
 delete_factor_for_user (stdClass $user)
 Deletes all instances of factor for a user.
 
 get_active_user_factors (stdClass $user)
 Returns an array of active user factor records.
 
 get_additional_setup_string ()
 Gets the string for additional setup button on preferences page.
 
 get_all_user_factors (stdClass $user)
 Returns an array of all user factors of given type.
 
 get_display_name ()
 Returns factor name from language string.
 
 get_icon ()
 Get the icon associated with this factor.
 
 get_info ()
 Returns factor help from language string.
 
 get_label (int $factorid)
 Function to retrieve the label for a factorid.
 
 get_lastverified (int $factorid)
 Gets lastverified timestamp.
 
 get_login_desc ()
 Get the login description associated with this factor.
 
 get_manage_info (int $factorid)
 Returns factor help from language string when there is factor management available.
 
 get_manage_string ()
 Gets the string for manage button on preferences page.
 
 get_no_redirect_urls ()
 Function to get urls that should not be redirected from.
 
 get_remaining_attempts ()
 Return the number of remaining attempts at this factor.
 
 get_setup_string ()
 Gets the string for setup button on preferences page.
 
 get_short_description ()
 Returns factor short description from language string.
 
 get_state ()
 Returns the state of the factor from session information.
 
 get_summary_condition ()
 Returns condition for passing factor.
 
 get_weight ()
 Returns configured factor weight.
 
 global_definition (\MoodleQuickForm $mform)
 Hook point for global auth form action hooks.
 
 global_definition_after_data (\MoodleQuickForm $mform)
 Hook point for global auth form action hooks.
 
 global_submit (object $data)
 Hook point for global auth form action hooks.
 
 global_validation (array $data, array $files)
 Hook point for global auth form action hooks.
 
 has_input ()
 Decides if a factor requires input from the user to verify.
 
 has_replace ()
 Returns true if factor class has factor records that can be replaced.
 
 has_revoke ()
 Returns true if factor class has factor records that might be revoked.
 
 has_setup ()
 Decides if factor needs to be setup by user and has setup_form.
 
 increment_lock_counter ()
 Increments the lock counter for a factor.
 
 is_enabled ()
 Returns the information about factor availability.
 
 is_lockable ()
 Returns true if a factor is able to be locked if it fails.
 
 load_locked_state ()
 This loads the locked state from the DB Base class implementation.
 
 login_form_definition (\MoodleQuickForm $mform)
 Defines login form definition page for SMS Factor.
 
 login_form_definition_after_data (\MoodleQuickForm $mform)
 Defines login form definition page after form data has been set.
 
 login_form_validation (array $data)
 Implements login form validation for SMS Factor.
 
 possible_states (\stdClass $user)
 Returns all possible states for a user.
 
 possible_states (stdClass $user)
 Function to get possible states for a user from factor.
 
 post_pass_state ()
 Function for factor actions in the pass state.
 
 process_cancel_action ()
 Process a cancel input from a user.
 
 replace_user_factor (stdClass $data, int $id)
 Replaces a given factor and adds it to user's active factors list.
 
 revoke_user_factor (?int $factorid=null)
 Marks factor record as revoked.
 
 set_state (string $state)
 Sets the state of the factor into the session.
 
 setup_factor_form_definition (\MoodleQuickForm $mform)
 Defines setup_factor form definition page for SMS Factor.
 
 setup_factor_form_definition_after_data (\MoodleQuickForm $mform)
 Defines setup_factor form definition page after form data has been set.
 
 setup_factor_form_is_cancelled (int $factorid)
 Reset values of the session data of the given factor.
 
 setup_factor_form_submit_button_string ()
 Setup submit button string in given factor.
 
 setup_factor_form_validation (array $data)
 Returns an array of errors, where array key = field id and array value = error text.
 
 setup_user_factor (stdClass $data)
 Adds an instance of the factor for a user, from form data.
 
 show_additional_setup_button ()
 Returns true if a button should be shown to add factors of the same kind on the preferences page.
 
 show_setup_buttons ()
 Decides if the setup buttons should be shown on the preferences page.
 
 update_lastverified (?int $factorid=null)
 When validation code is correct - update lastverified field for given factor.
 

Public Attributes

string $name
 Factor name.
 

Protected Attributes

string $icon = 'fa-commenting-o'
 Factor icon.
 
tool_mfa local secret_manager $secretmanager
 Secret manager.
 

Member Function Documentation

◆ check_combination()

tool_mfa\local\factor\object_factor_base::check_combination ( array $combination)
inherited

Checks whether the factor combination is valid based on factor behaviour.

E.g. a combination with nosetup and another factor is not valid, as you cannot pass nosetup with another factor.

Parameters
array$combinationarray of factors that make up the combination
Return values
bool

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_grace\factor, and factor_nosetup\factor.

◆ create_event_after_factor_setup()

tool_mfa\local\factor\object_factor_base::create_event_after_factor_setup ( object $user)
inherited

Creates an event when user successfully setup a factor.

Parameters
object$user
Return values
void

◆ delete_factor_for_user()

tool_mfa\local\factor\object_factor_base::delete_factor_for_user ( stdClass $user)
inherited

Deletes all instances of factor for a user.

Parameters
stdClass$userthe user to delete for.
Return values
void

Implements tool_mfa\local\factor\object_factor.

◆ get_active_user_factors()

tool_mfa\local\factor\object_factor_base::get_active_user_factors ( stdClass $user)
inherited

Returns an array of active user factor records.

Filters get_all_user_factors() output.

Parameters
stdClass$userobject to check against.
Return values
array

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_grace\factor.

◆ get_additional_setup_string()

tool_mfa\local\factor\object_factor_base::get_additional_setup_string ( )
inherited

Gets the string for additional setup button on preferences page.

If the user has the ability to set up multiple security keys.

Override in child class if necessary.

Return values
string

Reimplemented in factor_webauthn\factor.

◆ get_all_user_factors()

factor_sms\factor::get_all_user_factors ( stdClass $user)

Returns an array of all user factors of given type.

Parameters
stdClass$userthe user to check against.
Return values
array

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ get_display_name()

tool_mfa\local\factor\object_factor_base::get_display_name ( )
inherited

Returns factor name from language string.

Base class implementation.

Return values
string
Exceptions
coding_exception

Implements tool_mfa\local\factor\object_factor.

Reimplemented in tool_mfa\local\factor\fallback.

◆ get_icon()

tool_mfa\local\factor\object_factor_base::get_icon ( )
inherited

Get the icon associated with this factor.

Return values
stringthe icon name.

◆ get_info()

tool_mfa\local\factor\object_factor_base::get_info ( )
inherited

Returns factor help from language string.

Base class implementation.

Return values
string
Exceptions
coding_exception

Implements tool_mfa\local\factor\object_factor.

Reimplemented in tool_mfa\local\factor\fallback.

◆ get_label()

tool_mfa\local\factor\object_factor_base::get_label ( int $factorid)
inherited

Function to retrieve the label for a factorid.

Parameters
int$factorid
Return values
string|dml_exception

Implements tool_mfa\local\factor\object_factor.

◆ get_lastverified()

tool_mfa\local\factor\object_factor_base::get_lastverified ( int $factorid)
inherited

Gets lastverified timestamp.

Parameters
int$factorid
Return values
int|boolthe lastverified timestamp, or false if not found.

Implements tool_mfa\local\factor\object_factor.

◆ get_login_desc()

factor_sms\factor::get_login_desc ( )

Get the login description associated with this factor.

Override for factors that have a user input.

Return values
stringThe login option.

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ get_manage_info()

tool_mfa\local\factor\object_factor_base::get_manage_info ( int $factorid)
inherited

Returns factor help from language string when there is factor management available.

Base class implementation.

Parameters
int$factoridThe factor we want manage info for.
Return values
string
Exceptions
coding_exception

◆ get_manage_string()

factor_sms\factor::get_manage_string ( )

Gets the string for manage button on preferences page.

Return values
string

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ get_no_redirect_urls()

tool_mfa\local\factor\object_factor_base::get_no_redirect_urls ( )
inherited

Function to get urls that should not be redirected from.

Return values
array

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_email\factor, and factor_grace\factor.

◆ get_remaining_attempts()

tool_mfa\local\factor\object_factor_base::get_remaining_attempts ( )
inherited

Return the number of remaining attempts at this factor.

Return values
intthe number of attempts at this factor remaining.

◆ get_setup_string()

factor_sms\factor::get_setup_string ( )

Gets the string for setup button on preferences page.

Return values
string

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ get_short_description()

tool_mfa\local\factor\object_factor_base::get_short_description ( )
inherited

Returns factor short description from language string.

Base class implementation.

Return values
string
Exceptions
coding_exception

◆ get_state()

tool_mfa\local\factor\object_factor_base::get_state ( )
inherited

Returns the state of the factor from session information.

Implementation for factors that require input. Should be overridden in child classes with no input.

Return values
mixed

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_admin\factor, factor_auth\factor, factor_capability\factor, factor_cohort\factor, factor_email\factor, factor_iprange\factor, factor_nosetup\factor, factor_role\factor, factor_token\factor, factor_totp\factor, factor_webauthn\factor, and tool_mfa\local\factor\fallback.

◆ get_summary_condition()

tool_mfa\local\factor\object_factor_base::get_summary_condition ( )
inherited

Returns condition for passing factor.

Implementation for basic conditions. Override for complex conditions such as auth type.

Return values
string

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_auth\factor, factor_cohort\factor, and factor_role\factor.

◆ get_weight()

tool_mfa\local\factor\object_factor_base::get_weight ( )
inherited

Returns configured factor weight.

Base class implementation.

Return values
int
Exceptions
dml_exception

Implements tool_mfa\local\factor\object_factor.

◆ global_definition()

tool_mfa\local\factor\object_factor_base::global_definition ( \MoodleQuickForm $mform)
inherited

Hook point for global auth form action hooks.

Parameters
MoodleQuickForm$mformForm to inject global elements into.
Return values
void

Implements tool_mfa\local\factor\object_factor.

◆ global_definition_after_data()

tool_mfa\local\factor\object_factor_base::global_definition_after_data ( \MoodleQuickForm $mform)
inherited

Hook point for global auth form action hooks.

Parameters
MoodleQuickForm$mformForm to inject global elements into.
Return values
void

Implements tool_mfa\local\factor\object_factor.

◆ global_submit()

tool_mfa\local\factor\object_factor_base::global_submit ( object $data)
inherited

Hook point for global auth form action hooks.

Parameters
object$dataData from the form.
Return values
void

Implements tool_mfa\local\factor\object_factor.

◆ global_validation()

tool_mfa\local\factor\object_factor_base::global_validation ( array $data,
array $files )
inherited

Hook point for global auth form action hooks.

Parameters
array$dataData from the form.
array$filesFiles form the form.
Return values
arrayof errors from validation.

Implements tool_mfa\local\factor\object_factor.

◆ has_input()

factor_sms\factor::has_input ( )

Decides if a factor requires input from the user to verify.

Return values
bool

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ has_replace()

tool_mfa\local\factor\object_factor_base::has_replace ( )
inherited

Returns true if factor class has factor records that can be replaced.

Override in child class if necessary.

Return values
bool

Reimplemented in factor_totp\factor, and factor_webauthn\factor.

◆ has_revoke()

factor_sms\factor::has_revoke ( )

Returns true if factor class has factor records that might be revoked.

It means that user can revoke factor record from their profile.

Return values
bool

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ has_setup()

factor_sms\factor::has_setup ( )

Decides if factor needs to be setup by user and has setup_form.

Return values
bool

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ increment_lock_counter()

tool_mfa\local\factor\object_factor_base::increment_lock_counter ( )
inherited

Increments the lock counter for a factor.

Return values
void

◆ is_enabled()

factor_sms\factor::is_enabled ( )

Returns the information about factor availability.

Return values
bool

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ is_lockable()

tool_mfa\local\factor\object_factor_base::is_lockable ( )
inherited

Returns true if a factor is able to be locked if it fails.

Generally only input factors are lockable. Override in child class if necessary

Return values
bool

◆ load_locked_state()

tool_mfa\local\factor\object_factor_base::load_locked_state ( )
inherited

This loads the locked state from the DB Base class implementation.

Return values
void

◆ login_form_definition()

factor_sms\factor::login_form_definition ( \MoodleQuickForm $mform)

Defines login form definition page for SMS Factor.

Parameters
MoodleQuickForm$mform
Return values
MoodleQuickForm#$mform

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ login_form_definition_after_data()

factor_sms\factor::login_form_definition_after_data ( \MoodleQuickForm $mform)

Defines login form definition page after form data has been set.

Parameters
MoodleQuickForm$mformForm to inject global elements into.
Return values
MoodleQuickForm#$mform

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ login_form_validation()

factor_sms\factor::login_form_validation ( array $data)

Implements login form validation for SMS Factor.

Parameters
array$data
Return values
array

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ possible_states() [1/2]

factor_sms\factor::possible_states ( \stdClass $user)

Returns all possible states for a user.

Parameters
stdClass$user

◆ possible_states() [2/2]

tool_mfa\local\factor\object_factor_base::possible_states ( stdClass $user)
inherited

Function to get possible states for a user from factor.

Implementation where state is based on deterministic user data. This should be overridden in factors where state is non-deterministic. E.g. IP changes based on whether a user is using a VPN.

Parameters
stdClass$user
Return values
array

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_capability\factor, factor_cohort\factor, factor_email\factor, factor_grace\factor, factor_iprange\factor, factor_nosetup\factor, factor_role\factor, factor_token\factor, factor_totp\factor, and factor_webauthn\factor.

◆ post_pass_state()

tool_mfa\local\factor\object_factor_base::post_pass_state ( )
inherited

Function for factor actions in the pass state.

Override in child class if necessary.

Return values
void

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_email\factor, factor_grace\factor, factor_token\factor, and factor_totp\factor.

◆ process_cancel_action()

tool_mfa\local\factor\object_factor_base::process_cancel_action ( )
inherited

Process a cancel input from a user.

Return values
void

Implements tool_mfa\local\factor\object_factor.

◆ replace_user_factor()

tool_mfa\local\factor\object_factor_base::replace_user_factor ( stdClass $data,
int $id )
inherited

Replaces a given factor and adds it to user's active factors list.

Returns the new factor if it has been successfully replaced.

Dummy implementation. Should be overridden in child class.

Parameters
stdClass$dataThe new factor data.
int$idThe id of the factor to replace.
Return values
stdClass|nullthe record if created, or null.

Reimplemented in factor_totp\factor, and factor_webauthn\factor.

◆ revoke_user_factor()

tool_mfa\local\factor\object_factor_base::revoke_user_factor ( ?int $factorid = null)
inherited

Marks factor record as revoked.

If factorid is not provided, revoke all instances of factor.

Parameters
int | null$factorid
Return values
bool
Exceptions
coding_exception
dml_exception

Implements tool_mfa\local\factor\object_factor.

◆ set_state()

tool_mfa\local\factor\object_factor_base::set_state ( string $state)
inherited

Sets the state of the factor into the session.

Implementation for factors that require input. Should be overridden in child classes with no input.

Parameters
string$statethe state constant to set.
Return values
bool

Implements tool_mfa\local\factor\object_factor.

Reimplemented in factor_auth\factor, factor_capability\factor, factor_cohort\factor, factor_grace\factor, factor_iprange\factor, factor_nosetup\factor, factor_role\factor, and tool_mfa\local\factor\fallback.

◆ setup_factor_form_definition()

factor_sms\factor::setup_factor_form_definition ( \MoodleQuickForm $mform)

Defines setup_factor form definition page for SMS Factor.

Parameters
MoodleQuickForm$mform
Return values
MoodleQuickForm#$mform

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ setup_factor_form_definition_after_data()

factor_sms\factor::setup_factor_form_definition_after_data ( \MoodleQuickForm $mform)

Defines setup_factor form definition page after form data has been set.

Parameters
MoodleQuickForm$mform
Return values
MoodleQuickForm#$mform

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ setup_factor_form_is_cancelled()

factor_sms\factor::setup_factor_form_is_cancelled ( int $factorid)

Reset values of the session data of the given factor.

Parameters
int$factorid
Return values
void

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ setup_factor_form_submit_button_string()

factor_sms\factor::setup_factor_form_submit_button_string ( )

Setup submit button string in given factor.

Return values
string|null

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ setup_factor_form_validation()

factor_sms\factor::setup_factor_form_validation ( array $data)

Returns an array of errors, where array key = field id and array value = error text.

Parameters
array$data
Return values
array

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ setup_user_factor()

factor_sms\factor::setup_user_factor ( stdClass $data)

Adds an instance of the factor for a user, from form data.

Parameters
stdClass$data
Return values
stdClass|nullthe factor record, or null.

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ show_additional_setup_button()

tool_mfa\local\factor\object_factor_base::show_additional_setup_button ( )
inherited

Returns true if a button should be shown to add factors of the same kind on the preferences page.

For example, give user's the ability to set up multiple security keys.

Override in child class if necessary.

Return values
bool

Reimplemented in factor_webauthn\factor.

◆ show_setup_buttons()

factor_sms\factor::show_setup_buttons ( )

Decides if the setup buttons should be shown on the preferences page.

Return values
bool

Reimplemented from tool_mfa\local\factor\object_factor_base.

◆ update_lastverified()

tool_mfa\local\factor\object_factor_base::update_lastverified ( ?int $factorid = null)
inherited

When validation code is correct - update lastverified field for given factor.

If factor id is not provided, update all factor entries for user.

Parameters
int | null$factorid
Return values
bool|dml_exception
Exceptions
dml_exception

Implements tool_mfa\local\factor\object_factor.


The documentation for this class was generated from the following file: