ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilMStShowUserCoursesGUI.php
Go to the documentation of this file.
1<?php
2
20
29{
30 public const string CMD_INDEX = 'index';
31 public const string CMD_RESET_FILTER = 'resetFilter';
32 public const string CMD_APPLY_FILTER = 'applyFilter';
33 public const string CMD_GET_ACTIONS = "getActions";
34 protected int $usr_id;
37 private \ilGlobalTemplateInterface $main_tpl;
38
39 public function __construct()
40 {
41 global $DIC;
42 $this->main_tpl = $DIC->ui()->mainTemplate();
43
44 $this->access = ilMyStaffAccess::getInstance();
45
46 $this->usr_id = $DIC->http()->request()->getQueryParams()['usr_id'];
47 $DIC->ctrl()->setParameter($this, 'usr_id', $this->usr_id);
48 }
49
50 protected function checkAccessOrFail()
51 {
52 global $DIC;
53
54 if (!$this->usr_id) {
55 $this->main_tpl->setOnScreenMessage('failure', $DIC->language()->txt("permission_denied"), true);
56 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class, "");
57 }
58
59 if ($this->access->hasCurrentUserAccessToUser($this->usr_id)
60 && $this->access->hasCurrentUserAccessToCourseMemberships()
61 ) {
62 return;
63 } else {
64 $this->main_tpl->setOnScreenMessage('failure', $DIC->language()->txt("permission_denied"), true);
65 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class, "");
66 }
67 }
68
69 final public function executeCommand()
70 {
71 global $DIC;
72
73 $this->checkAccessOrFail();
74
75 $cmd = $DIC->ctrl()->getCmd();
76 $next_class = $DIC->ctrl()->getNextClass();
77
78 switch ($next_class) {
79 case strtolower(ilMStShowUserCoursesTableGUI::class):
80 $DIC->ctrl()->setReturn($this, self::CMD_INDEX);
81 $this->table = new ilMStShowUserCoursesTableGUI($this, self::CMD_INDEX);
82 $DIC->ctrl()->forwardCommand($this->table);
83 break;
84 default:
85 switch ($cmd) {
88 case self::CMD_INDEX:
90 $this->$cmd();
91 break;
92 default:
93 $this->index();
94 break;
95 }
96 }
97 }
98
99 protected function index(): void
100 {
101 $this->listUsers();
102 }
103
104 protected function listUsers()
105 {
106 global $DIC;
107
108 $this->table = new ilMStShowUserCoursesTableGUI($this, self::CMD_INDEX);
109 $this->table->setTitle(
110 sprintf($DIC->language()->txt('mst_courses_of'), ilObjCourse::_lookupTitle($this->usr_id))
111 );
112
113 $DIC->ui()->mainTemplate()->setContent($this->table->getHTML());
114 }
115
116 protected function applyFilter(): void
117 {
118 $this->table = new ilMStShowUserCoursesTableGUI($this, self::CMD_APPLY_FILTER);
119 $this->table->writeFilterToSession();
120 $this->table->resetOffset();
121 $this->index();
122 }
123
124 protected function resetFilter(): void
125 {
126 $this->table = new ilMStShowUserCoursesTableGUI($this, self::CMD_RESET_FILTER);
127 $this->table->resetOffset();
128 $this->table->resetFilter();
129 $this->index();
130 }
131
132 final public function getId(): string
133 {
134 $this->table = new ilMStShowUserCoursesTableGUI($this, self::CMD_INDEX);
135
136 return $this->table->getId();
137 }
138
139 final public function cancel(): void
140 {
141 global $DIC;
142 $DIC->ctrl()->redirect($this);
143 }
144}
ilGlobalTemplateInterface $main_tpl
Class ilMStShowUserCoursesTableGUI.
static _lookupTitle(int $obj_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: shib_login.php:26