Bristol SU Support Package
Public Member Functions | Private Attributes | List of all members
BristolSU\Support\Logic\Audience\AudienceMember Class Reference
Inheritance diagram for BristolSU\Support\Logic\Audience\AudienceMember:
Inheritance graph
[legend]
Collaboration diagram for BristolSU\Support\Logic\Audience\AudienceMember:
Collaboration graph
[legend]

Public Member Functions

 __construct (User $user)
 
 groups ()
 
 roles ()
 
 user ()
 
 canBeUser ()
 
 filterForLogic (Logic $logic)
 
 hasAudience ()
 
 toArray ()
 
 toJson ($options=0)
 
 __toString ()
 

Private Attributes

 $user
 
 $canBeUser
 
 $roles
 
 $groups
 

Detailed Description

Represents a user and their roles/memberships, and allows for logic filtering

Definition at line 19 of file AudienceMember.php.

Constructor & Destructor Documentation

◆ __construct()

BristolSU\Support\Logic\Audience\AudienceMember::__construct ( User  $user)
Parameters
User$userUser to construct the audience member with

Definition at line 53 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\$user, and BristolSU\Support\Logic\Audience\AudienceMember\user().

Member Function Documentation

◆ __toString()

BristolSU\Support\Logic\Audience\AudienceMember::__toString ( )

Convert the object to a string, a JSON representation

Returns
string

Definition at line 191 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\toJson().

◆ canBeUser()

BristolSU\Support\Logic\Audience\AudienceMember::canBeUser ( )

◆ filterForLogic()

BristolSU\Support\Logic\Audience\AudienceMember::filterForLogic ( Logic  $logic)

Filter the audience member down to those in the logic group

If passed a logic group, the audience member will only then contain roles and groups which are in the given logic group with the user. It will also set canBeUser, as to whether just the user is in the logic group (without their roles or groups).

Parameters
Logic$logicLogic group to test
Returns
void

Definition at line 119 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\canBeUser(), BristolSU\Support\Logic\LogicTester\evaluate(), BristolSU\Support\Logic\Audience\AudienceMember\groups(), BristolSU\Support\Logic\Audience\AudienceMember\roles(), and BristolSU\Support\Logic\Audience\AudienceMember\user().

Referenced by BristolSU\Support\Logic\Audience\AudienceMemberFactory\withAccessToLogicGroupWithResource().

◆ groups()

BristolSU\Support\Logic\Audience\AudienceMember::groups ( )

◆ hasAudience()

BristolSU\Support\Logic\Audience\AudienceMember::hasAudience ( )

Does the audience member have an audience at all?

After filtering for logic, this function will return true if the user can access the logic group in any way, or false or otherwise.

Returns
bool

Definition at line 140 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\canBeUser(), BristolSU\Support\Logic\Audience\AudienceMember\groups(), and BristolSU\Support\Logic\Audience\AudienceMember\roles().

Referenced by BristolSU\Support\Logic\Contracts\Audience\LogicAudience\userAudience(), and BristolSU\Support\Logic\Audience\AudienceMemberFactory\withAccessToLogicGroupWithResource().

◆ roles()

BristolSU\Support\Logic\Audience\AudienceMember::roles ( )

◆ toArray()

BristolSU\Support\Logic\Audience\AudienceMember::toArray ( )

Get the instance as an array.

Returns the audience member in the following form [ 'user' => (), 'can_be_user' => true/false, // Does just the user belong in the logic group? 'groups' => [ // All groups for which the user has a membership that belongs in the logic group (), ... ], 'roles' => [ // All roles for which the user belongs to and is in the logic group () ] ]

Returns
array

Definition at line 164 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\canBeUser(), BristolSU\Support\Logic\Audience\AudienceMember\groups(), BristolSU\Support\Logic\Audience\AudienceMember\roles(), and BristolSU\Support\Logic\Audience\AudienceMember\user().

Referenced by BristolSU\Support\Logic\Audience\AudienceMember\toJson().

◆ toJson()

BristolSU\Support\Logic\Audience\AudienceMember::toJson (   $options = 0)

Convert the object to its JSON representation.

Parameters
int$options
Returns
string

Definition at line 181 of file AudienceMember.php.

References BristolSU\Support\Logic\Audience\AudienceMember\toArray().

Referenced by BristolSU\Support\Logic\Audience\AudienceMember\__toString().

◆ user()

BristolSU\Support\Logic\Audience\AudienceMember::user ( )

Member Data Documentation

◆ $canBeUser

BristolSU\Support\Logic\Audience\AudienceMember::$canBeUser
private

Definition at line 34 of file AudienceMember.php.

◆ $groups

BristolSU\Support\Logic\Audience\AudienceMember::$groups
private

◆ $roles

BristolSU\Support\Logic\Audience\AudienceMember::$roles
private

◆ $user

BristolSU\Support\Logic\Audience\AudienceMember::$user
private

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