SpaceModelMembership
extends Behavior
in package
SpaceModelMemberBehavior bundles all membership related methods of the Space model.
Tags
Table of Contents
Properties
- $owner : Component|null
- $owner : Space
- $_attachedEvents : array<string|int, mixed>
- $_spaceOwner : mixed
Methods
- __call() : mixed
- Calls the named method which is not a class method.
- __construct() : mixed
- Constructor.
- __get() : mixed
- Returns the value of an object property.
- __isset() : bool
- Checks if a property is set, i.e. defined and not null.
- __set() : mixed
- Sets value of an object property.
- __unset() : mixed
- Sets an object property to null.
- addMember() : bool
- Adds an member to this space.
- attach() : mixed
- Attaches the behavior object to the component.
- canDelete() : bool
- canGetProperty() : bool
- Returns a value indicating whether a property can be read.
- canLeave() : bool
- Checks if a given Userid is allowed to leave this space.
- canSetProperty() : bool
- Returns a value indicating whether a property can be set.
- className() : string
- Returns the fully qualified name of this class.
- detach() : mixed
- Detaches the behavior object from the component.
- events() : array<string|int, mixed>
- Declares event handlers for the [[owner]]'s events.
- getAdmins() : array<string|int, User>
- Returns the admins of the space
- getAdminsQuery() : ActiveQueryUser
- Returns user query for admins of the space
- getMembership() : Membership|null
- Returns the SpaceMembership Record for this Space
- getSpaceOwner() : User
- Gets Owner for this workspace
- hasMethod() : bool
- Returns a value indicating whether a method is defined.
- hasProperty() : bool
- Returns a value indicating whether a property is defined.
- init() : mixed
- Initializes the object.
- inviteMember() : mixed
- Invites a registered user to this space
- inviteMemberByEMail() : mixed
- Invites a not registered member to this space
- isAdmin() : bool
- Checks if given Userid is Admin of this Space or has the permission to manage spaces.
- isMember() : bool
- Checks if given userId is Member of this Space.
- isSpaceOwner() : bool
- Is given User owner of this Space
- removeMember() : bool
- Remove Membership
- requestMembership() : mixed
- Requests Membership
- setAdmin() : bool
- Sets Owner for this workspace
- setSpaceOwner() : bool
- Sets Owner for this workspace
- sendInviteNotification() : mixed
- Sends an Invite Notification to the given user.
- handleCancelApplicantEvent() : mixed
- Handles the cancellation of an space application. An application can be canceled by the applicant himself or declined by an space admin.
- handleCancelInvitationEvent() : mixed
- Handles the cancellation of an invitation. An invitation can be declined by the invited user or canceled by a space admin.
- handleCancelMemberEvent() : mixed
- handleRemoveMembershipEvent() : mixed
- Responsible for event,activity and notification handling in case of a space membership removal.
Properties
$owner
public
Component|null
$owner
the owner of this behavior
$owner read-only
public
Space
$owner
the owner of this behavior
$_attachedEvents
private
array<string|int, mixed>
$_attachedEvents
= []
Attached events handlers
$_spaceOwner
private
mixed
$_spaceOwner
= null
Methods
__call()
Calls the named method which is not a class method.
public
__call(string $name, array<string|int, mixed> $params) : mixed
Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.
Parameters
- $name : string
-
the method name
- $params : array<string|int, mixed>
-
method parameters
Tags
Return values
mixed —the method return value
__construct()
Constructor.
public
__construct([array<string|int, mixed> $config = [] ]) : mixed
The default implementation does two things:
- Initializes the object with the given configuration
$config
. - Call [[init()]].
If this method is overridden in a child class, it is recommended that
- the last parameter of the constructor is a configuration array, like
$config
here. - call the parent implementation at the end of the constructor.
Parameters
- $config : array<string|int, mixed> = []
-
name-value pairs that will be used to initialize the object properties
__get()
Returns the value of an object property.
public
__get(string $name) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $value = $object->property;
.
Parameters
- $name : string
-
the property name
Tags
Return values
mixed —the property value
__isset()
Checks if a property is set, i.e. defined and not null.
public
__isset(string $name) : bool
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing isset($object->property)
.
Note that if the property is not defined, false will be returned.
Parameters
- $name : string
-
the property name or the event name
Tags
Return values
bool —whether the named property is set (not null).
__set()
Sets value of an object property.
public
__set(string $name, mixed $value) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing $object->property = $value;
.
Parameters
- $name : string
-
the property name or the event name
- $value : mixed
-
the property value
Tags
__unset()
Sets an object property to null.
public
__unset(string $name) : mixed
Do not call this method directly as it is a PHP magic method that
will be implicitly called when executing unset($object->property)
.
Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.
Parameters
- $name : string
-
the property name
Tags
addMember()
Adds an member to this space.
public
addMember(int $userId[, int $canLeave = 1 ][, bool $silent = false ][, string $groupId = Space::USERGROUP_MEMBER ][, bool $showAtDashboard = true ]) : bool
This can happens after an clicking "Request Membership" Link after Approval or accepting an invite.
Parameters
- $userId : int
- $canLeave : int = 1
-
0: user cannot cancel membership | 1: can cancel membership | 2: depending on space flag members_can_leave
- $silent : bool = false
-
add member without any notifications
- $groupId : string = Space::USERGROUP_MEMBER
- $showAtDashboard : bool = true
-
add member without any notifications
Tags
Return values
boolattach()
Attaches the behavior object to the component.
public
attach(Component $owner) : mixed
The default implementation will set the [[owner]] property and attach event handlers as declared in [[events]]. Make sure you call the parent implementation if you override this method.
Parameters
- $owner : Component
-
the component that this behavior is to be attached to.
canDelete()
public
canDelete() : bool
Tags
Return values
bool —checks if the current user is allowed to delete this space
canGetProperty()
Returns a value indicating whether a property can be read.
public
canGetProperty(string $name[, bool $checkVars = true ]) : bool
A property is readable if:
- the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property can be read
canLeave()
Checks if a given Userid is allowed to leave this space.
public
canLeave([number $userId = '' ]) : bool
A User is allowed to leave, if the can_cancel_membership flag in the space_membership table is 1. If it is 2, the decision is delegated to the space.
Parameters
- $userId : number = ''
-
, if empty hte currently logged in user is taken.
Return values
boolcanSetProperty()
Returns a value indicating whether a property can be set.
public
canSetProperty(string $name[, bool $checkVars = true ]) : bool
A property is writable if:
- the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property can be written
className()
Returns the fully qualified name of this class.
public
static className() : string
Tags
Return values
string —the fully qualified name of this class.
detach()
Detaches the behavior object from the component.
public
detach() : mixed
The default implementation will unset the [[owner]] property and detach event handlers declared in [[events]]. Make sure you call the parent implementation if you override this method.
events()
Declares event handlers for the [[owner]]'s events.
public
events() : array<string|int, mixed>
Child classes may override this method to declare what PHP callbacks should be attached to the events of the [[owner]] component.
The callbacks will be attached to the [[owner]]'s events when the behavior is attached to the owner; and they will be detached from the events when the behavior is detached from the component.
The callbacks can be any of the following:
- method in this behavior:
'handleClick'
, equivalent to[$this, 'handleClick']
- object method:
[$object, 'handleClick']
- static method:
['Page', 'handleClick']
- anonymous function:
function ($event) { ... }
The following is an example:
[
Model::EVENT_BEFORE_VALIDATE => 'myBeforeValidate',
Model::EVENT_AFTER_VALIDATE => 'myAfterValidate',
]
Return values
array<string|int, mixed> —events (array keys) and the corresponding event handler methods (array values).
getAdmins()
Returns the admins of the space
public
getAdmins() : array<string|int, User>
Return values
array<string|int, User> —the admin users of the space
getAdminsQuery()
Returns user query for admins of the space
public
getAdminsQuery() : ActiveQueryUser
Tags
Return values
ActiveQueryUsergetMembership()
Returns the SpaceMembership Record for this Space
public
getMembership([mixed $userId = null ]) : Membership|null
If none Record is found, null is given
Parameters
- $userId : mixed = null
Return values
Membership|null —the membership
getSpaceOwner()
Gets Owner for this workspace
public
getSpaceOwner() : User
Return values
UserhasMethod()
Returns a value indicating whether a method is defined.
public
hasMethod(string $name) : bool
The default implementation is a call to php function method_exists()
.
You may override this method when you implemented the php magic method __call()
.
Parameters
- $name : string
-
the method name
Return values
bool —whether the method is defined
hasProperty()
Returns a value indicating whether a property is defined.
public
hasProperty(string $name[, bool $checkVars = true ]) : bool
A property is defined if:
- the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
- the class has a member variable with the specified name (when
$checkVars
is true);
Parameters
- $name : string
-
the property name
- $checkVars : bool = true
-
whether to treat member variables as properties
Tags
Return values
bool —whether the property is defined
init()
Initializes the object.
public
init() : mixed
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
inviteMember()
Invites a registered user to this space
public
inviteMember(int $userId, int $originatorId[, bool $sendInviteNotification = true ]) : mixed
If user is already invited, retrigger invitation. If user is applicant approve it.
Parameters
- $userId : int
- $originatorId : int
- $sendInviteNotification : bool = true
inviteMemberByEMail()
Invites a not registered member to this space
public
inviteMemberByEMail(string $email, int $originatorUserId) : mixed
Parameters
- $email : string
- $originatorUserId : int
isAdmin()
Checks if given Userid is Admin of this Space or has the permission to manage spaces.
public
isAdmin([User|int|null $user = null ]) : bool
If no UserId is given, current UserId will be used
Parameters
- $user : User|int|null = null
-
User instance or userId
Return values
boolisMember()
Checks if given userId is Member of this Space.
public
isMember([int $userId = '' ]) : bool
Parameters
- $userId : int = ''
Return values
boolisSpaceOwner()
Is given User owner of this Space
public
isSpaceOwner([User|int|null $userId = null ]) : bool
Parameters
- $userId : User|int|null = null
Return values
boolremoveMember()
Remove Membership
public
removeMember([int|null $userId = null ]) : bool
Parameters
- $userId : int|null = null
-
of User to Remove
Tags
Return values
boolrequestMembership()
Requests Membership
public
requestMembership(int $userId[, string $message = '' ]) : mixed
Parameters
- $userId : int
- $message : string = ''
setAdmin()
Sets Owner for this workspace
public
setAdmin([int $userId = null ]) : bool
Parameters
- $userId : int = null
Return values
boolsetSpaceOwner()
Sets Owner for this workspace
public
setSpaceOwner([mixed $user = null ]) : bool
Parameters
- $user : mixed = null
Return values
boolsendInviteNotification()
Sends an Invite Notification to the given user.
protected
sendInviteNotification(int $userId, int $originatorId) : mixed
Parameters
- $userId : int
- $originatorId : int
handleCancelApplicantEvent()
Handles the cancellation of an space application. An application can be canceled by the applicant himself or declined by an space admin.
private
handleCancelApplicantEvent(Membership $membership, User $user) : mixed
Parameters
- $membership : Membership
- $user : User
Tags
handleCancelInvitationEvent()
Handles the cancellation of an invitation. An invitation can be declined by the invited user or canceled by a space admin.
private
handleCancelInvitationEvent(Membership $membership, User $user) : mixed
Parameters
- $membership : Membership
- $user : User
Tags
handleCancelMemberEvent()
private
handleCancelMemberEvent(User $user) : mixed
Parameters
- $user : User
Tags
handleRemoveMembershipEvent()
Responsible for event,activity and notification handling in case of a space membership removal.
private
handleRemoveMembershipEvent(Membership $membership, User $user) : mixed
Parameters
- $membership : Membership
- $user : User