ILIAS  release_7 Revision v7.30-3-g800a261c036
ilUserActionCollector Class Reference

Collects actions from all action providers. More...

+ Collaboration diagram for ilUserActionCollector:

Public Member Functions

 getActionsForTargetUser ($a_target_user)
 Collect actions. More...
 

Static Public Member Functions

static getInstance ($a_user_id, ilUserActionContext $a_context)
 Get instance (for a user) More...
 

Protected Member Functions

 __construct ($a_user_id, ilUserActionContext $a_context)
 Constructor. More...
 
 hasProviderActiveActions (ilUserActionProvider $prov)
 

Protected Attributes

 $collection
 
 $user_id
 
 $action_context
 

Static Protected Attributes

static $instances = array()
 

Detailed Description

Collects actions from all action providers.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 12 of file class.ilUserActionCollector.php.

Constructor & Destructor Documentation

◆ __construct()

ilUserActionCollector::__construct (   $a_user_id,
ilUserActionContext  $a_context 
)
protected

Constructor.

Parameters
int$a_user_iduser id (usually the current user logged in)
ilUserActionContext$a_context

Definition at line 37 of file class.ilUserActionCollector.php.

38  {
39  $this->user_id = $a_user_id;
40  $this->action_context = $a_context;
41  }

Member Function Documentation

◆ getActionsForTargetUser()

ilUserActionCollector::getActionsForTargetUser (   $a_target_user)

Collect actions.

Returns
ilUserActionCollection action

Definition at line 65 of file class.ilUserActionCollector.php.

References $collection, ilUserActionProviderFactory\getAllProviders(), ilUserActionCollection\getInstance(), hasProviderActiveActions(), and ilUserActionAdmin\lookupActive().

66  {
67  // overall collection of users
68  include_once("./Services/User/Actions/classes/class.ilUserActionCollection.php");
69  $this->collection = ilUserActionCollection::getInstance();
70 
71  include_once("./Services/User/Actions/classes/class.ilUserActionAdmin.php");
72 
73  include_once("./Services/User/Actions/classes/class.ilUserActionProviderFactory.php");
75  if (!$this->hasProviderActiveActions($prov)) {
76  continue;
77  }
78  $prov->setUserId($this->user_id);
79  $coll = $prov->collectActionsForTargetUser($a_target_user);
80  foreach ($coll->getActions() as $action) {
82  $this->action_context->getComponentId(),
83  $this->action_context->getContextId(),
84  $prov->getComponentId(),
85  $action->getType()
86  )) {
87  $this->collection->addAction($action);
88  }
89  }
90  }
91 
92  return $this->collection;
93  }
static getInstance()
Get instance.
static getAllProviders()
Get all action providers.
static lookupActive($a_context_comp, $a_context_id, $a_action_comp, $a_action_type)
Is activated?
hasProviderActiveActions(ilUserActionProvider $prov)
+ Here is the call graph for this function:

◆ getInstance()

static ilUserActionCollector::getInstance (   $a_user_id,
ilUserActionContext  $a_context 
)
static

Get instance (for a user)

Parameters
int$a_user_iduser id
ilUserActionContext$a_context
Returns
ilUserActionCollector

Definition at line 51 of file class.ilUserActionCollector.php.

Referenced by ilAwarenessData\__construct(), ilMyStaffGUI\executeCommand(), and ilUserActionGUI\renderDropDown().

52  {
53  if (!isset(self::$instances[$a_user_id])) {
54  self::$instances[$a_user_id] = new ilUserActionCollector($a_user_id, $a_context);
55  }
56 
57  return self::$instances[$a_user_id];
58  }
Collects actions from all action providers.
+ Here is the caller graph for this function:

◆ hasProviderActiveActions()

ilUserActionCollector::hasProviderActiveActions ( ilUserActionProvider  $prov)
protected

Definition at line 95 of file class.ilUserActionCollector.php.

References ilUserActionProvider\getActionTypes(), ilUserActionProvider\getComponentId(), and ilUserActionAdmin\lookupActive().

Referenced by getActionsForTargetUser().

95  : bool
96  {
97  foreach ($prov->getActionTypes() as $act_type => $act_txt) {
99  $this->action_context->getComponentId(),
100  $this->action_context->getContextId(),
101  $prov->getComponentId(),
102  $act_type
103  )) {
104  return true;
105  }
106  }
107  return false;
108  }
static lookupActive($a_context_comp, $a_context_id, $a_action_comp, $a_action_type)
Is activated?
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $action_context

ilUserActionCollector::$action_context
protected

Definition at line 29 of file class.ilUserActionCollector.php.

◆ $collection

ilUserActionCollector::$collection
protected

Definition at line 19 of file class.ilUserActionCollector.php.

Referenced by getActionsForTargetUser().

◆ $instances

ilUserActionCollector::$instances = array()
staticprotected

Definition at line 14 of file class.ilUserActionCollector.php.

◆ $user_id

ilUserActionCollector::$user_id
protected

Definition at line 24 of file class.ilUserActionCollector.php.


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