class MemberExtension extends Extension implements PermissionProvider (View source)

Extend Member to add relationship to registered methods and track some specific preferences

Constants

MFA_ADMINISTER_REGISTERED_METHODS

Properties

protected T $owner

The object this extension is applied to.

from  Extension
MethodInterface $DefaultRegisteredMethod
string $DefaultRegisteredMethodID
bool $HasSkippedMFARegistration

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
T
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
mixed
invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

public
RegisteredMethod|null
getDefaultRegisteredMethod()

Accessor for the DefaultRegisteredMethod property.

public
setDefaultRegisteredMethod(RegisteredMethod $registeredMethod)

Set the default registered method for the current member. Does not write the owner record.

public
string
public
string
getRegisteredMethodNames()

No description

protected
updateCMSFields(FieldList $fields)

No description

public
bool
currentUserCanViewMFAConfig()

Determines whether the logged in user has sufficient permission to see the MFA config for this Member.

public
bool
currentUserCanEditMFAConfig()

Determines whether the logged in user has sufficient permission to modify the MFA config for this Member.

public
providePermissions()

Provides the MFA view/reset permission for selection in the permission list in the CMS.

protected
void
onAfterMemberLoggedIn()

Clear any temporary multi-factor authentication related session keys when a member is successfully logged in.

void
HasManyList() $RegisteredMethod> RegisteredMFAMethods()

No description

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

T getOwner()

Returns the owner of this extension.

Return Value

T

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

mixed invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

Parameters

object $owner
string $method
array ...$arguments

Return Value

mixed

RegisteredMethod|null getDefaultRegisteredMethod()

Accessor for the DefaultRegisteredMethod property.

This is replicating the usual functionality of a has_one relation but does it like this so we can ensure the same instance of the MethodInterface is provided regardless if you access it through the has_one or the has_many.

Return Value

RegisteredMethod|null

Member setDefaultRegisteredMethod(RegisteredMethod $registeredMethod)

Set the default registered method for the current member. Does not write the owner record.

Parameters

RegisteredMethod $registeredMethod

Return Value

Member

Exceptions

InvalidMethodException

string getDefaultRegisteredMethodName()

No description

Return Value

string

string getRegisteredMethodNames()

No description

Return Value

string

protected FieldList updateCMSFields(FieldList $fields)

No description

Parameters

FieldList $fields

Return Value

FieldList

bool currentUserCanViewMFAConfig()

Determines whether the logged in user has sufficient permission to see the MFA config for this Member.

Return Value

bool

bool currentUserCanEditMFAConfig()

Determines whether the logged in user has sufficient permission to modify the MFA config for this Member.

Note that this is different from being able to reset the config (which administrators can do).

Return Value

bool

providePermissions()

Provides the MFA view/reset permission for selection in the permission list in the CMS.

protected void onAfterMemberLoggedIn()

Clear any temporary multi-factor authentication related session keys when a member is successfully logged in.

Return Value

void

void HasManyList() $RegisteredMethod> RegisteredMFAMethods()

No description

Parameters

) $RegisteredMethod> RegisteredMFAMethods(

Return Value

void