ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilUserActionCollector.php
Go to the documentation of this file.
1<?php
2
24{
25 public function __construct(
26 private int $user_id,
27 private ilUserActionContext $action_context,
28 private ilUserActionProviderFactory $user_action_provider_factory,
29 private ilUserActionAdmin $user_action_admin
30 ) {
31 }
32
33 public function getActionsForTargetUser(int $target_user): ilUserActionCollection
34 {
35 $collection = new ilUserActionCollection();
36 foreach ($this->user_action_provider_factory->getProviders() as $provider) {
37 if (!$this->hasProviderActiveActions($provider)) {
38 continue;
39 }
40 $provider->setUserId($this->user_id);
41 $coll = $provider->collectActionsForTargetUser($target_user);
42 foreach ($coll->getActions() as $action) {
43 if ($this->user_action_admin->isActionActive(
44 $this->action_context->getComponentId(),
45 $this->action_context->getContextId(),
46 $provider->getComponentId(),
47 $action->getType()
48 )) {
49 $collection->addAction($action);
50 }
51 }
52 }
53
54 return $collection;
55 }
56
58 {
59 foreach ($provider->getActionTypes() as $act_type => $act_txt) {
60 if ($this->user_action_admin->isActionActive(
61 $this->action_context->getComponentId(),
62 $this->action_context->getContextId(),
63 $provider->getComponentId(),
64 $act_type
65 )) {
66 return true;
67 }
68 }
69 return false;
70 }
71}
User action administration.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(private int $user_id, private ilUserActionContext $action_context, private ilUserActionProviderFactory $user_action_provider_factory, private ilUserActionAdmin $user_action_admin)
getActionsForTargetUser(int $target_user)
hasProviderActiveActions(ilUserActionProvider $provider)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
A class that provides a collection of actions on users.
$provider
Definition: ltitoken.php:80