19 declare(strict_types=1);
42 $this->
ctrl = $DIC->ctrl();
43 $this->
lng = $DIC->language();
44 $this->tpl = $DIC[
"tpl"];
46 $this->rbabsystem = $DIC->rbac()->system();
47 $this->
lng->loadLanguageModule(
"usr");
57 $this->action_context = $a_val;
67 $next_class = $this->
ctrl->getNextClass($this);
68 $cmd = $this->
ctrl->getCmd(
"show");
70 switch ($next_class) {
72 if (in_array($cmd, [
"show",
"save"])) {
78 public function show(): void
80 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"user_actions_activation_info"));
86 $this->rbabsystem->checkAccess(
"write", $this->ref_id)
88 $this->tpl->setContent($tab->getHTML());
94 public function save(): void
96 if (!$this->rbabsystem->checkAccess(
"write", $this->ref_id)) {
97 $this->
ctrl->redirect($this,
"show");
100 $active = $this->request->getActionActive();
102 $this->user_action_admin->activateAction(
103 $this->action_context->getComponentId(),
104 $this->action_context->getContextId(),
105 $a[
"action_comp_id"],
106 $a[
"action_type_id"],
107 (bool) ($active[$a[
"action_comp_id"] .
":" . $a[
"action_type_id"]] ??
false)
110 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_obj_modified"),
true);
111 $this->
ctrl->redirect($this,
"show");
122 foreach ($action_provider_factory->getProviders() as $p) {
123 foreach ($p->getActionTypes() as
$id => $name) {
125 "action_comp_id" => $p->getComponentId(),
126 "action_type_id" =>
$id,
127 "action_type_name" => $name,
128 "active" => $this->user_action_admin->isActionActive(
129 $this->action_context->getComponentId(),
130 $this->action_context->getContextId(),
131 $p->getComponentId(),
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setActionContext(ilUserActionContext $a_val=null)
User action administration GUI class.
ilUserActionAdmin $user_action_admin
User action administration.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
save()
Save !!!! note in the future this must depend on the context, currently we only have one...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
ilGlobalTemplateInterface $tpl
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getActions()
Get actions, !!!! note in the future this must depend on the context, currently we only have one...
ilUserActionContext $action_context