47 $this->main_tpl =
$DIC->ui()->mainTemplate();
49 $this->
access = ilMyStaffAccess::getInstance();
51 $this->usr_id =
$DIC->http()->request()->getQueryParams()[
'usr_id'];
52 $DIC->ctrl()->setParameter($this,
'usr_id', $this->usr_id);
68 $this->main_tpl->setOnScreenMessage(
'failure',
$DIC->language()->txt(
"permission_denied"),
true);
69 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class,
"");
72 if ($this->
access->hasCurrentUserAccessToUser($this->usr_id)) {
75 $this->main_tpl->setOnScreenMessage(
'failure',
$DIC->language()->txt(
"permission_denied"),
true);
76 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class,
"");
86 $cmd =
$DIC->ctrl()->getCmd();
87 $next_class =
$DIC->ctrl()->getNextClass();
89 switch ($next_class) {
90 case strtolower(ilMStShowUserCoursesGUI::class):
91 $this->
addTabs(self::TAB_SHOW_COURSES);
93 $DIC->ctrl()->forwardCommand($gui);
95 case strtolower(ilUserCertificateGUI::class):
96 $this->
addTabs(self::TAB_SHOW_CERTIFICATES);
103 $DIC->ctrl()->forwardCommand($gui);
106 case strtolower(ilMStShowUserCompetencesGUI::class):
107 $this->
addTabs(self::TAB_SHOW_COMPETENCES);
109 $DIC->ctrl()->forwardCommand($gui);
111 case strtolower(ilEmployeeTalkMyStaffUserGUI::class):
112 $this->
addTabs(self::TAB_SHOW_TALKS);
114 $DIC->ctrl()->forwardCommand($gui);
120 $this->
addTabs(self::TAB_SHOW_USER);
133 $DIC->ctrl()->redirectByClass(ilMStShowUserCoursesGUI::class);
142 if (!$user->hasPublicProfile()) {
143 $DIC->ctrl()->redirectByClass(self::class, self::CMD_INDEX);
147 $DIC->ui()->mainTemplate()->setContent($pub_profile->getEmbeddable());
154 $DIC->ctrl()->redirect($this);
157 protected function addTabs(
string $active_tab_id): void
161 $DIC->tabs()->setBackTarget(
$DIC->language()->txt(
'mst_list_users'),
$DIC->ctrl()->getLinkTargetByClass(array(
163 ilMStListUsersGUI::class,
166 if ($this->
access->hasCurrentUserAccessToCourseMemberships()) {
167 $DIC->tabs()->addTab(
168 self::TAB_SHOW_COURSES,
169 $DIC->language()->txt(
'mst_list_courses'),
170 $DIC->ctrl()->getLinkTargetByClass(array(
173 ilMStShowUserCoursesGUI::class,
178 if ($this->
access->hasCurrentUserAccessToCertificates()) {
179 $DIC->tabs()->addTab(
180 self::TAB_SHOW_CERTIFICATES,
181 $DIC->language()->txt(
'mst_list_certificates'),
182 $DIC->ctrl()->getLinkTargetByClass(array(
185 ilUserCertificateGUI::class,
190 if ($this->
access->hasCurrentUserAccessToCompetences()) {
191 $DIC->tabs()->addTab(
192 self::TAB_SHOW_COMPETENCES,
193 $DIC->language()->txt(
'mst_list_competences'),
194 $DIC->ctrl()->getLinkTargetByClass(array(
197 ilMStShowUserCompetencesGUI::class,
203 if ($user->hasPublicProfile()) {
204 $DIC->ctrl()->setParameterByClass(self::class,
'usr_id', $this->usr_id);
205 $public_profile_url =
$DIC->ctrl()->getLinkTargetByClass(self::class, self::CMD_SHOW_USER);
206 $DIC->tabs()->addTab(self::TAB_SHOW_USER,
$DIC->language()->txt(
'public_profile'), $public_profile_url);
209 if ($this->
access->hasCurrentUserAccessToTalks()) {
210 $DIC->ctrl()->setParameterByClass(strtolower(self::class),
'usr_id', $this->usr_id);
211 $DIC->tabs()->addTab(self::TAB_SHOW_TALKS,
$DIC->language()->txt(
'etal_talks'),
$DIC->ctrl()->getLinkTargetByClass([
212 strtolower(ilMyStaffGUI::class),
213 strtolower(self::class),
214 strtolower(ilEmployeeTalkMyStaffUserGUI::class)
215 ], ControlFlowCommand::INDEX));
218 if ($active_tab_id) {
219 $DIC->tabs()->activateTab($active_tab_id);
GUI class for public user profile presentation.
Class ilMStShowUserCompetencesGUI.
ilGlobalTemplateInterface $main_tpl
const string TAB_SHOW_COURSES
const string TAB_SHOW_USER
addTabs(string $active_tab_id)
const string TAB_SHOW_COMPETENCES
const string TAB_SHOW_TALKS
const string CMD_SHOW_USER
const string TAB_SHOW_CERTIFICATES
static _getPersonalPicturePath(int $usr_id, string $size='small', bool $force_pic=false)
@ilCtrl_IsCalledBy ilUserCertificateGUI: ilAchievementsGUI
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link='', bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path=null)
Default behaviour is: