19 declare(strict_types=1);
    60         $this->tool_context = $DIC->globalScreen()->tool()->context();
    61         $this->
user = $DIC->user();
    63         $this->rbacsystem = $DIC->rbac()->system();
    64         $this->
help = $DIC->help();
    65         $tpl = $DIC->ui()->mainTemplate();
    66         $this->
lng = $DIC->language();
    67         $this->
ctrl = $DIC->ctrl();
    70             $DIC->ui()->mainTemplate()->setOnScreenMessage(
'failure', $this->
lng->txt(
'msg_not_available_for_anon'), 
true);
    71             $DIC->ctrl()->redirectToURL(
'login.php?cmd=force_login');
    76         $this->
ctrl->setContextObject(
    81         $this->
lng->loadLanguageModule(
'pdesk');
    82         $this->
lng->loadLanguageModule(
'pd'); 
    83         $this->
lng->loadLanguageModule(
'dash');
    84         $this->
lng->loadLanguageModule(
'mmbr');
    86         $params = $DIC->http()->request()->getQueryParams();
    87         $this->cmdClass = (
$params[
'cmdClass'] ?? 
'');
    88         $this->requested_view = (
int) (
$params[
'view'] ?? 0);
    89         $this->requested_prt_id = (
int) (
$params[
'prt_id'] ?? 0);
    90         $this->requested_gtp = (
int) (
$params[
'gtp'] ?? 0);
    91         $this->requested_dsh = (string) (
$params[
'dsh'] ?? null);
    92         $this->requested_wsp_id = (
int) (
$params[
'wsp_id'] ?? 0);
    94         $this->
ctrl->saveParameter($this, [
'view']);
   103         $next_class = $this->
ctrl->getNextClass();
   104         $this->
ctrl->setReturn($this, 
'show');
   105         switch ($next_class) {
   106             case strtolower(ilPersonalProfileGUI::class):
   110                 $this->
ctrl->forwardCommand($profile_gui);
   113             case strtolower(ilPersonalSettingsGUI::class):
   117                 $this->
ctrl->forwardCommand($settings_gui);
   120             case strtolower(ilCalendarPresentationGUI::class):
   123                 $this->tpl->setTitle($this->
lng->txt(
'calendar'));
   126                 $this->
ctrl->forwardCommand($cal);
   127                 $this->tpl->printToStdout();
   130             case strtolower(ilPDNotesGUI::class):
   132                     $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
'permission_denied'), 
true);
   140                 $this->
ctrl->forwardCommand($pd_notes_gui);
   143             case strtolower(ilPDNewsGUI::class):
   147                 $this->
ctrl->forwardCommand($pd_news_gui);
   150             case strtolower(ilColumnGUI::class):
   151                 if (strtolower($cmdClass = $this->
ctrl->getCmdClass()) === strtolower(ilSelectedItemsBlockGUI::class)) {
   153                     $ret = $this->
ctrl->forwardCommand($gui);
   155                         $this->tpl->setContent($ret);
   156                         $this->tpl->printToStdout();
   165             case strtolower(ilContactGUI::class):
   172                 $this->tpl->setTitle($this->
lng->txt(
'mail_addressbook'));
   177             case strtolower(ilPersonalWorkspaceGUI::class):
   179                 $this->
ctrl->forwardCommand($wsgui);
   180                 $this->tpl->printToStdout();
   183             case strtolower(ilPortfolioRepositoryGUI::class):
   187                 $this->
ctrl->forwardCommand($pfgui);
   188                 $this->tpl->printToStdout();
   191             case strtolower(ilAchievementsGUI::class):
   195                 $this->
ctrl->forwardCommand($achievegui);
   198             case strtolower(ilMyStaffGUI::class):
   201                 $this->
ctrl->forwardCommand($mstgui);
   203             case strtolower(ilGroupUserActionsGUI::class):
   207                 $this->
ctrl->forwardCommand($ggui);
   208                 $this->tpl->printToStdout();
   210             case strtolower(ilDashboardLearningSequenceGUI::class):
   211             case strtolower(ilMembershipBlockGUI::class):
   212             case strtolower(ilDashboardRecommendedContentGUI::class):
   213             case strtolower(ilSelectedItemsBlockGUI::class):
   214             case strtolower(ilStudyProgrammeDashboardViewGUI::class):
   215                 $gui = 
new $next_class();
   216                 $ret = $this->
ctrl->forwardCommand($gui);
   217                 if ($ret !== 
'' && $ret !== null) {
   218                     $this->tpl->setContent($ret);
   220                 $this->tpl->printToStdout();
   222             case strtolower(ilObjStudyProgrammeGUI::class):
   224                 $ret = $this->
ctrl->forwardCommand($gui);
   225                 $this->tpl->printToStdout();
   228                 $context->current()->addAdditionalData(self::DISENGAGE_MAINBAR, 
true);
   231                 $cmd = $this->
ctrl->getCmd(
'show');
   239         $this->tpl->loadStandardTemplate();
   246         $this->tpl->setTitle($this->
lng->txt(
'dash_dashboard'));
   252         $this->tpl->printToStdout();
   262         if ($ilCtrl->getNextClass() == 
'ilcolumngui' &&
   264             $html = $ilCtrl->forwardCommand($column_gui);
   266             if (!$ilCtrl->isAsynch()) {
   270                         $html = $ilCtrl->forwardCommand($column_gui);
   274                         $html = $ilCtrl->forwardCommand($column_gui);
   280                         'Services/Dashboard',
   282                         [
'personal_desktop_gui' => $this]
   284                     if (!$uip->replaced()) {
   287                     $html = $uip->getHTML($html);
   306         if ($ilCtrl->getNextClass() == 
'ilcolumngui' &&
   309             $html = $ilCtrl->forwardCommand($column_gui);
   311             if (!$ilCtrl->isAsynch()) {
   315                     'Services/Dashboard',
   317                     [
'personal_desktop_gui' => $this]
   319                 if (!$uip->replaced()) {
   320                     $html = $ilCtrl->getHTML($column_gui);
   322                 $html = $uip->getHTML($html);
   331         $this->tpl->loadStandardTemplate();
   334         $this->tpl->setTitle($this->
lng->txt(
'personal_desktop'));
   348         if ($viewSettings->enabledMemberships()) {
   349             $this->
ctrl->setParameter($this, 
'view', $viewSettings->getMembershipsView());
   351         $this->
ctrl->redirect($this, 
'show');
   357         if ($viewSettings->enabledSelectedItems()) {
   358             $this->
ctrl->setParameter($this, 
'view', $viewSettings->getSelectedItemsView());
   365         $this->
ctrl->redirectByClass(ilPersonalProfileGUI::class);
   371         if ($this->requested_dsh != 
'') {
   372             $this->
ctrl->setParameterByClass(ilPortfolioRepositoryGUI::class, 
'shr_id', $this->requested_dsh);
   376         if ($this->requested_prt_id > 0) {
   377             $this->
ctrl->setParameterByClass(ilObjPortfolioGUI::class, 
'prt_id', $this->requested_prt_id);
   378             $this->
ctrl->setParameterByClass(ilObjPortfolioGUI::class, 
'gtp', $this->requested_gtp);
   379             $this->
ctrl->redirectByClass([ilPortfolioRepositoryGUI::class, ilObjPortfolioGUI::class], 
'preview');
   381             $this->
ctrl->redirectByClass(ilPortfolioRepositoryGUI::class, $cmd);
   387         $this->
ctrl->redirectByClass(ilPersonalSettingsGUI::class);
   392         $this->
ctrl->redirectByClass(ilPDNewsGUI::class);
   398         $request = $DIC->http()->request();
   400         $query_params = $request->getQueryParams();
   402         if (array_key_exists(
'cal_view', $query_params) && $query_params[
'cal_view']) {
   403             $cal_view = $query_params[
'cal_view'];
   404             $this->
ctrl->setParameter($this, 
'cal_view', $cal_view);
   407         if (!empty($query_params[
'cal_agenda_per'])) {
   408             $cal_period = $query_params[
'cal_agenda_per'];
   409             $this->
ctrl->setParameter($this, 
'cal_agenda_per', $cal_period);
   412         $this->
ctrl->redirectByClass(ilCalendarPresentationGUI::class);
   418         if ($this->requested_dsh != 
'') {
   419             $this->
ctrl->setParameterByClass(ilPersonalWorkspaceGUI::class, 
'shr_id', $this->requested_dsh);
   423         if ($this->requested_wsp_id > 0) {
   424             $this->
ctrl->setParameterByClass(ilPersonalWorkspaceGUI::class, 
'wsp_id', $this->requested_wsp_id);
   427         if ($this->requested_gtp) {
   428             $this->
ctrl->setParameterByClass(ilPersonalWorkspaceGUI::class, 
'gtp', $this->requested_gtp);
   431         $this->
ctrl->redirectByClass(ilPersonalWorkspaceGUI::class, $cmd);
   436         $this->
ctrl->redirectByClass(ilMyStaffGUI::class);
   441         $this->
ctrl->redirectByClass([ilAchievementsGUI::class, ilBadgeProfileGUI::class]);
   446         $this->
ctrl->redirectByClass(ilPersonalSkillsGUI::class);
   451         $this->tpl->setTitle($this->
lng->txt(
'dash_dashboard'));
   461         $this->
ctrl->redirect($this, 
'show');
   467         $tpl = 
new ilTemplate(
'tpl.dashboard.html', 
true, 
true, 
'Services/Dashboard');
   470         foreach ($settings->getViewPositions() as $view_position) {
   471             if ($settings->isViewEnabled($view_position)) {
 
static get(string $a_var)
 
GUI class for personal workspace. 
 
Class ilObjStudyProgrammeGUI class  ilObjStudyProgrammeGUI: ilPermissionGUI  ilObjStudyProgrammeGUI: ...
 
ContextServices $tool_context
 
const VIEW_MY_STUDYPROGRAMME
 
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
 
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory) 
 
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string. 
 
setVariable(string $variable, $value='')
Sets the given variable to the given value. 
 
const CMD_JUMP_TO_MY_STAFF
 
Portfolio repository gui class. 
 
ilGlobalTemplateInterface $tpl
 
Interface ilCtrlBaseClassInterface describes ilCtrl base classes. 
 
const VIEW_RECOMMENDED_CONTENT
 
const VIEW_LEARNING_SEQUENCES
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Column user interface class. 
 
setScreenIdComponent(string $a_comp)
 
static redirect(string $a_script)
 
GUI class for personal profile. 
 
static preloadPDBlockSettings()
Preload pd info. 
 
const VIEW_MY_MEMBERSHIPS
 
const VIEW_SELECTED_ITEMS
 
static set(string $a_var, $a_val)
Set a value.