ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilUserActionAdminGUI Class Reference

User action administration GUI class. More...

+ Collaboration diagram for ilUserActionAdminGUI:

Public Member Functions

 setActionContext (?ilUserActionContext $a_val=null)
 
 getActionContext ()
 
 executeCommand ()
 
 show ()
 
 save ()
 

Private Member Functions

 buildForm ()
 
 getActions ()
 

Private Attributes

ilRbacSystem $rbabsystem
 
int $ref_id
 
ServerRequestInterface $request
 
ilCtrl $ctrl
 
ilGlobalTemplateInterface $tpl
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Language $lng
 
ilUserActionContext $action_context
 
ilUserActionAdmin $user_action_admin
 

Detailed Description

User action administration GUI class.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 32 of file class.ilUserActionAdminGUI.php.

Member Function Documentation

◆ buildForm()

ilUserActionAdminGUI::buildForm ( )
private

Definition at line 111 of file class.ilUserActionAdminGUI.php.

111 : StandardForm
112 {
113 $inputs = [];
114
115 foreach($this->getActions() as $action) {
116 $inputs["{$action['action_comp_id']}:{$action['action_type_id']}"] =
117 $this->ui_factory->input()->field()->checkbox($action["action_type_name"])
118 ->withValue($action['active']);
119 }
120
121 return $this->ui_factory->input()->container()->form()->standard(
122 $this->ctrl->getFormActionByClass(self::class, 'save'),
123 $inputs
124 );
125 }

References ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\Repository\ctrl(), and getActions().

Referenced by save().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilUserActionAdminGUI::executeCommand ( )

Definition at line 75 of file class.ilUserActionAdminGUI.php.

75 : void
76 {
77 $next_class = $this->ctrl->getNextClass($this);
78 $cmd = $this->ctrl->getCmd('show');
79
80 switch ($next_class) {
81 default:
82 if (in_array($cmd, ['show', 'save'])) {
83 $this->$cmd();
84 }
85 }
86 }

References ILIAS\Repository\ctrl().

+ Here is the call graph for this function:

◆ getActionContext()

ilUserActionAdminGUI::getActionContext ( )

Definition at line 70 of file class.ilUserActionAdminGUI.php.

71 {
73 }
ilUserActionContext $action_context
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $action_context.

◆ getActions()

ilUserActionAdminGUI::getActions ( )
private

Definition at line 153 of file class.ilUserActionAdminGUI.php.

153 : \Generator
154 {
155 foreach ((new ilUserActionProviderFactory())->getProviders() as $p) {
156 foreach ($p->getActionTypes() as $id => $name) {
157 yield [
158 'action_comp_id' => $p->getComponentId(),
159 'action_type_id' => $id,
160 'action_type_name' => $name,
161 'active' => $this->user_action_admin->isActionActive(
162 $this->action_context->getComponentId(),
163 $this->action_context->getContextId(),
164 $p->getComponentId(),
165 $id
166 )
167 ];
168 }
169 }
170 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References $id.

Referenced by buildForm(), save(), and show().

+ Here is the caller graph for this function:

◆ save()

ilUserActionAdminGUI::save ( )

Definition at line 127 of file class.ilUserActionAdminGUI.php.

127 : void
128 {
129 if (!$this->rbabsystem->checkAccess('write', $this->ref_id)) {
130 $this->ctrl->redirect($this, 'show');
131 }
132
133 $form = $this->buildForm()->withRequest($this->request);
134 $data = $form->getData();
135 if ($data === null) {
136 $this->tpl->setContent($this->ui_renderer->render($form));
137 return;
138 }
139
140 foreach ($this->getActions() as $action) {
141 $this->user_action_admin->activateAction(
142 $this->action_context->getComponentId(),
143 $this->action_context->getContextId(),
144 $action['action_comp_id'],
145 $action['action_type_id'],
146 $data["{$action['action_comp_id']}:{$action['action_type_id']}"] ?? false
147 );
148 }
149 $this->tpl->setOnScreenMessage('success', $this->lng->txt('msg_obj_modified'), true);
150 $this->show();
151 }

References $data, buildForm(), ILIAS\Repository\ctrl(), getActions(), ILIAS\Repository\lng(), and show().

+ Here is the call graph for this function:

◆ setActionContext()

ilUserActionAdminGUI::setActionContext ( ?ilUserActionContext  $a_val = null)

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

65 : void
66 {
67 $this->action_context = $a_val;
68 }

◆ show()

ilUserActionAdminGUI::show ( )

Definition at line 88 of file class.ilUserActionAdminGUI.php.

88 : void
89 {
90 if (!$this->rbabsystem->checkAccess('write', $this->ref_id)) {
91 $this->ctrl->redirect($this, 'show');
92 }
93
94 $this->tpl->setOnScreenMessage('info', $this->lng->txt('user_actions_activation_info'));
95
96 $inputs = [];
97
98 foreach($this->getActions() as $action) {
99 $inputs["{$action['action_comp_id']}:{$action['action_type_id']}"] =
100 $this->ui_factory->input()->field()->checkbox($action["action_type_name"])
101 ->withValue($action['active']);
102 }
103
104 $this->tpl->setContent(
105 $this->ui_renderer->render(
106 $this->buildForm()
107 )
108 );
109 }

References ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\Repository\ctrl(), getActions(), and ILIAS\Repository\lng().

Referenced by save().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $action_context

ilUserActionContext ilUserActionAdminGUI::$action_context
private

Definition at line 42 of file class.ilUserActionAdminGUI.php.

Referenced by getActionContext().

◆ $ctrl

ilCtrl ilUserActionAdminGUI::$ctrl
private

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

◆ $lng

Language ilUserActionAdminGUI::$lng
private

Definition at line 41 of file class.ilUserActionAdminGUI.php.

◆ $rbabsystem

ilRbacSystem ilUserActionAdminGUI::$rbabsystem
private

Definition at line 34 of file class.ilUserActionAdminGUI.php.

◆ $ref_id

int ilUserActionAdminGUI::$ref_id
private

Definition at line 35 of file class.ilUserActionAdminGUI.php.

◆ $request

ServerRequestInterface ilUserActionAdminGUI::$request
private

Definition at line 36 of file class.ilUserActionAdminGUI.php.

◆ $tpl

ilGlobalTemplateInterface ilUserActionAdminGUI::$tpl
private

Definition at line 38 of file class.ilUserActionAdminGUI.php.

◆ $ui_factory

UIFactory ilUserActionAdminGUI::$ui_factory
private

Definition at line 39 of file class.ilUserActionAdminGUI.php.

◆ $ui_renderer

UIRenderer ilUserActionAdminGUI::$ui_renderer
private

Definition at line 40 of file class.ilUserActionAdminGUI.php.

◆ $user_action_admin

ilUserActionAdmin ilUserActionAdminGUI::$user_action_admin
private

Definition at line 43 of file class.ilUserActionAdminGUI.php.


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