46 $this->main_tpl =
$DIC->ui()->mainTemplate();
48 $this->
access = ilMyStaffAccess::getInstance();
50 $this->usr_id =
$DIC->http()->request()->getQueryParams()[
'usr_id'];
51 $DIC->ctrl()->setParameter($this,
'usr_id', $this->usr_id);
67 $this->main_tpl->setOnScreenMessage(
'failure',
$DIC->language()->txt(
"permission_denied"),
true);
68 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class,
"");
71 if ($this->
access->hasCurrentUserAccessToUser($this->usr_id)) {
74 $this->main_tpl->setOnScreenMessage(
'failure',
$DIC->language()->txt(
"permission_denied"),
true);
75 $DIC->ctrl()->redirectByClass(ilDashboardGUI::class,
"");
85 $cmd =
$DIC->ctrl()->getCmd();
86 $next_class =
$DIC->ctrl()->getNextClass();
88 switch ($next_class) {
89 case strtolower(ilMStShowUserCoursesGUI::class):
90 $this->
addTabs(self::TAB_SHOW_COURSES);
92 $DIC->ctrl()->forwardCommand($gui);
94 case strtolower(ilUserCertificateGUI::class):
95 $this->
addTabs(self::TAB_SHOW_CERTIFICATES);
102 $DIC->ctrl()->forwardCommand($gui);
105 case strtolower(ilMStShowUserCompetencesGUI::class):
106 $this->
addTabs(self::TAB_SHOW_COMPETENCES);
108 $DIC->ctrl()->forwardCommand($gui);
110 case strtolower(ilEmployeeTalkMyStaffUserGUI::class):
111 $this->
addTabs(self::TAB_SHOW_TALKS);
113 $DIC->ctrl()->forwardCommand($gui);
119 $this->
addTabs(self::TAB_SHOW_USER);
132 $DIC->ctrl()->redirectByClass(ilMStShowUserCoursesGUI::class);
141 if (!$user->hasPublicProfile()) {
142 $DIC->ctrl()->redirectByClass(self::class, self::CMD_INDEX);
146 $DIC->ui()->mainTemplate()->setContent($pub_profile->getEmbeddable());
153 $DIC->ctrl()->redirect($this);
156 protected function addTabs(
string $active_tab_id): void
160 $DIC->tabs()->setBackTarget(
$DIC->language()->txt(
'mst_list_users'),
$DIC->ctrl()->getLinkTargetByClass(array(
162 ilMStListUsersGUI::class,
165 if ($this->
access->hasCurrentUserAccessToCourseMemberships()) {
166 $DIC->tabs()->addTab(
167 self::TAB_SHOW_COURSES,
168 $DIC->language()->txt(
'mst_list_courses'),
169 $DIC->ctrl()->getLinkTargetByClass(array(
172 ilMStShowUserCoursesGUI::class,
177 if ($this->
access->hasCurrentUserAccessToCertificates()) {
178 $DIC->tabs()->addTab(
179 self::TAB_SHOW_CERTIFICATES,
180 $DIC->language()->txt(
'mst_list_certificates'),
181 $DIC->ctrl()->getLinkTargetByClass(array(
184 ilUserCertificateGUI::class,
189 if ($this->
access->hasCurrentUserAccessToCompetences()) {
190 $DIC->tabs()->addTab(
191 self::TAB_SHOW_COMPETENCES,
192 $DIC->language()->txt(
'mst_list_competences'),
193 $DIC->ctrl()->getLinkTargetByClass(array(
196 ilMStShowUserCompetencesGUI::class,
202 if ($user->hasPublicProfile()) {
203 $DIC->ctrl()->setParameterByClass(self::class,
'usr_id', $this->usr_id);
204 $public_profile_url =
$DIC->ctrl()->getLinkTargetByClass(self::class, self::CMD_SHOW_USER);
205 $DIC->tabs()->addTab(self::TAB_SHOW_USER,
$DIC->language()->txt(
'public_profile'), $public_profile_url);
208 if ($this->
access->hasCurrentUserAccessToTalks()) {
209 $DIC->ctrl()->setParameterByClass(strtolower(self::class),
'usr_id', $this->usr_id);
210 $DIC->tabs()->addTab(self::TAB_SHOW_TALKS,
$DIC->language()->txt(
'etal_talks'),
$DIC->ctrl()->getLinkTargetByClass([
211 strtolower(ilMyStaffGUI::class),
212 strtolower(self::class),
213 strtolower(ilEmployeeTalkMyStaffUserGUI::class)
214 ], ControlFlowCommand::INDEX));
217 if ($active_tab_id) {
218 $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 $a_usr_id, string $a_size='small', bool $a_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: