5include_once 
'./Services/User/classes/class.ilObjUser.php';
 
    6include_once 
"Services/Mail/classes/class.ilMail.php";
 
    7include_once 
'Services/Mail/classes/class.ilMailGlobalServices.php';
 
    8include_once 
'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
 
   89        $this->main_menu = 
$DIC[
"ilMainMenu"];
 
   90        $this->
user = $DIC->user();
 
   91        $this->
error = $DIC[
"ilErr"];
 
   93        $this->rbacsystem = 
$DIC->rbac()->system();
 
   94        $this->plugin_admin = 
$DIC[
"ilPluginAdmin"];
 
   95        $this->
help = $DIC[
"ilHelp"];
 
   98        $ilCtrl = 
$DIC->ctrl();
 
   99        $ilMainMenu = 
$DIC[
"ilMainMenu"];
 
  105        $this->ctrl = $ilCtrl;
 
  112        $ilMainMenu->setActive(
"desktop");
 
  113        $this->lng->loadLanguageModule(
"pdesk");
 
  114        $this->lng->loadLanguageModule(
"pd"); 
 
  115        $this->lng->loadLanguageModule(
"dash");
 
  116        $this->lng->loadLanguageModule(
"mmbr");
 
  120            $ilErr->raiseError($this->lng->txt(
"msg_not_available_for_anon"), 
$ilErr->MESSAGE);
 
  122        $this->cmdClass = 
$_GET[
'cmdClass'];
 
  124        $this->ctrl->saveParameter($this, array(
"view"));
 
  145        $next_class = $this->ctrl->getNextClass();
 
  146        $this->ctrl->setReturn($this, 
"show");
 
  149        if (isset(
$_GET[
'PDHistory']) && 
$_GET[
'PDHistory']) {
 
  154        switch ($next_class) {
 
  157            case "ilpersonalprofilegui":
 
  161                $ret = $this->ctrl->forwardCommand($profile_gui);
 
  165            case "ilpersonalsettingsgui":
 
  169                $ret = $this->ctrl->forwardCommand($settings_gui);
 
  174                include_once(
'./Services/User/classes/class.ilObjUserGUI.php');
 
  176                $ret = $this->ctrl->forwardCommand($user_gui);
 
  179            case 'ilcalendarpresentationgui':
 
  182                $this->tpl->setTitle($this->lng->txt(
"calendar"));
 
  184                include_once(
'./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
 
  186                $ret = $this->ctrl->forwardCommand($cal);
 
  187                $this->tpl->printToStdout();
 
  200                include_once(
"./Services/Notes/classes/class.ilPDNotesGUI.php");
 
  202                $ret = $this->ctrl->forwardCommand($pd_notes_gui);
 
  209                include_once(
"./Services/News/classes/class.ilPDNewsGUI.php");
 
  211                $ret = $this->ctrl->forwardCommand($pd_news_gui);
 
  217                include_once(
"./Services/Block/classes/class.ilColumnGUI.php");
 
  223            case "ilpdselecteditemsblockgui":
 
  226                $ret = $this->ctrl->forwardCommand($block);
 
  228                    $this->tpl->setContent(
$ret);
 
  229                    $this->tpl->printToStdout();
 
  233            case "ilpdmembershipblockgui":
 
  235                $ret = $this->ctrl->forwardCommand($block);
 
  238                    $this->tpl->setContent(
$ret);
 
  239                    $this->tpl->printToStdout();
 
  244                require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
 
  246                    $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'), 
$ilErr->MESSAGE);
 
  251                $this->tpl->setTitle($this->lng->txt(
'mail_addressbook'));
 
  253                require_once 
'Services/Contact/classes/class.ilContactGUI.php';
 
  257            case 'ilpersonalworkspacegui':
 
  260                include_once 
'Services/PersonalWorkspace/classes/class.ilPersonalWorkspaceGUI.php';
 
  262                $ret = $this->ctrl->forwardCommand($wsgui);
 
  263                $this->tpl->printToStdout();
 
  266            case 'ilportfoliorepositorygui':
 
  269                include_once 
'Modules/Portfolio/classes/class.ilPortfolioRepositoryGUI.php';
 
  271                $ret = $this->ctrl->forwardCommand($pfgui);
 
  272                $this->tpl->printToStdout();
 
  275            case 'ilachievementsgui':
 
  279                $ret = $this->ctrl->forwardCommand($achievegui);
 
  282            case strtolower(ilMyStaffGUI::class):
 
  285                $ret = $this->ctrl->forwardCommand($mstgui);
 
  287            case 'ilgroupuseractionsgui':
 
  290                include_once 
'./Modules/Group/UserActions/classes/class.ilGroupUserActionsGUI.php';
 
  292                $ret = $this->ctrl->forwardCommand($ggui);
 
  293                $this->tpl->printToStdout();
 
  299            case "ildashboardrecommendedcontentgui":
 
  301                $this->ctrl->forwardCommand($gui);
 
  303            case "ilstudyprogrammedashboardviewgui":
 
  305                $this->ctrl->forwardCommand($gui);
 
  308                $context->current()->addAdditionalData(self::DISENGAGE_MAINBAR, 
true);
 
  311                $cmd = $this->ctrl->getCmd(
"show");
 
  324        $this->tpl->loadStandardTemplate();
 
  330    public function show()
 
  333        include_once(
"Services/Block/classes/class.ilBlockSetting.php");
 
  339        $this->tpl->setTitle($this->lng->txt(
"dash_dashboard"));
 
  340        $this->tpl->setTitleIcon(
ilUtil::getImagePath(
"icon_dshs.svg"), $this->lng->txt(
"dash_dashboard"));
 
  346        if (count($this->action_menu->getItems())) {
 
  354            $this->action_menu->setAsynch(
false);
 
  355            $this->action_menu->setAsynchUrl(
'');
 
  356            $this->action_menu->setListTitle(
$lng->txt(
'actions'));
 
  357            $this->action_menu->setId(
'act_pd');
 
  358            $this->action_menu->setSelectionHeaderClass(
'small');
 
  359            $this->action_menu->setItemLinkClass(
'xsmall');
 
  360            $this->action_menu->setLinksMode(
'il_ContainerItemCommand2');
 
  362            $this->action_menu->setUseImages(
false);
 
  364            $htpl = 
new ilTemplate(
'tpl.header_action.html', 
true, 
true, 
'Services/Repository');
 
  365            $htpl->setVariable(
'ACTION_DROP_DOWN', $this->action_menu->getHTML());
 
  367            $tpl->setHeaderActionMenu($htpl->get());
 
  370        $this->tpl->printToStdout();
 
  382        include_once(
"Services/Block/classes/class.ilColumnGUI.php");
 
  386        if ($ilCtrl->getNextClass() == 
"ilcolumngui" &&
 
  388            $html = $ilCtrl->forwardCommand($column_gui);
 
  390            if (!$ilCtrl->isAsynch()) {
 
  396                        $html = $ilCtrl->forwardCommand($column_gui);
 
  402                        $html = $ilCtrl->forwardCommand($column_gui);
 
  408                    include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
 
  410                        "Services/Dashboard",
 
  412                        array(
"personal_desktop_gui" => $this)
 
  414                    if (!$uip->replaced()) {
 
  418                    $html = $uip->getHTML($html);
 
  435        include_once(
"Services/Block/classes/class.ilColumnGUI.php");
 
  443        if ($ilCtrl->getNextClass() == 
"ilcolumngui" &&
 
  446            $html = $ilCtrl->forwardCommand($column_gui);
 
  448            if (!$ilCtrl->isAsynch()) {
 
  452                include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
 
  454                    "Services/Dashboard",
 
  456                    array(
"personal_desktop_gui" => $this)
 
  458                if (!$uip->replaced()) {
 
  459                    $html = $ilCtrl->getHTML($column_gui);
 
  461                $html = $uip->getHTML($html);
 
  478        include_once(
"Services/Block/classes/class.ilColumnGUI.php");
 
  486        if ($ilCtrl->getNextClass() == 
"ilcolumngui" &&
 
  489            $html = $ilCtrl->forwardCommand($column_gui);
 
  491            if (!$ilCtrl->isAsynch()) {
 
  495                include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
 
  497                    "Services/Dashboard",
 
  499                    array(
"personal_desktop_gui" => $this)
 
  501                if (!$uip->replaced()) {
 
  502                    $html = $ilCtrl->getHTML($column_gui);
 
  504                $html = $uip->getHTML($html);
 
  513        $this->tpl->loadStandardTemplate();
 
  519        $this->tpl->setTitle($this->lng->txt(
"personal_desktop"));
 
  536            $key_sorta = explode(
";", $key_sort);
 
  538            $multikeys = array_keys($array);
 
  539            $keys = array_keys($array[$multikeys[0]]);
 
  541            for ($m = 0; $m < count($key_sorta); $m++) {
 
  542                $nkeys[$m] = trim($key_sorta[$m]);
 
  544            $n += count($key_sorta);
 
  547                if (!in_array(
$keys[
$i], $key_sorta)) {
 
  553            for ($u = 0;$u < count($array); $u++) {
 
  554                $arr = $array[$multikeys[$u]];
 
  555                for ($s = 0; $s < count($nkeys); $s++) {
 
  557                    $output[$multikeys[$u]][$k] = $array[$multikeys[$u]][$k];
 
  572        $ilHelp->setScreenIdComponent(
"pd");
 
  581        if ($viewSettings->enabledMemberships()) {
 
  582            $_GET[
'view'] = $viewSettings->getMembershipsView();
 
  583            $this->ctrl->setParameter($this, 
"view", $viewSettings->getMembershipsView());
 
  586        $this->ctrl->redirect($this, 
"show");
 
  595        if ($viewSettings->enabledSelectedItems()) {
 
  596            $_GET[
'view'] = $viewSettings->getSelectedItemsView();
 
  597            $this->ctrl->setParameter($this, 
"view", $viewSettings->getSelectedItemsView());
 
  607        $this->ctrl->redirectByClass(
"ilpersonalprofilegui");
 
  614        if ($_REQUEST[
"dsh"]) {
 
  615            $this->ctrl->setParameterByClass(
"ilportfoliorepositorygui", 
"shr_id", $_REQUEST[
"dsh"]);
 
  620        if (
$_GET[
"prt_id"]) {
 
  621            $this->ctrl->setParameterByClass(
"ilobjportfoliogui", 
"prt_id", (
int) 
$_GET[
"prt_id"]);
 
  622            $this->ctrl->setParameterByClass(
"ilobjportfoliogui", 
"gtp", (
int) 
$_GET[
"gtp"]);
 
  623            $this->ctrl->redirectByClass(array(
"ilportfoliorepositorygui", 
"ilobjportfoliogui"), 
"preview");
 
  625            $this->ctrl->redirectByClass(
"ilportfoliorepositorygui", $cmd);
 
  634        $this->ctrl->redirectByClass(
"ilpersonalsettingsgui");
 
  651        $this->ctrl->redirectByClass(
"ilpdnotesgui");
 
  667        $this->ctrl->redirectByClass(
"ilpdnotesgui", 
"showPublicComments");
 
  675        $this->ctrl->redirectByClass(
"ilpdnewsgui");
 
  683        $this->ctrl->redirectByClass(
"illearningprogressgui");
 
  692        $request = 
$DIC->http()->request();
 
  694        if ($request->getQueryParams()[
"cal_view"]) {
 
  695            $cal_view = $request->getQueryParams()[
"cal_view"];
 
  696            $this->ctrl->setParameter($this, 
"cal_view", $cal_view);
 
  699        if (!empty($request->getQueryParams()[
"cal_agenda_per"])) {
 
  700            $cal_period = $request->getQueryParams()[
"cal_agenda_per"];
 
  701            $this->ctrl->setParameter($this, 
"cal_agenda_per", $cal_period);
 
  704        $this->ctrl->redirectByClass(
"ilcalendarpresentationgui");
 
  714        if ($_REQUEST[
"dsh"]) {
 
  715            $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui", 
"shr_id", $_REQUEST[
"dsh"]);
 
  719        if ($_REQUEST[
"wsp_id"]) {
 
  720            $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui", 
"wsp_id", (
int) $_REQUEST[
"wsp_id"]);
 
  723        if ($_REQUEST[
"gtp"]) {
 
  724            $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui", 
"gtp", (
int) $_REQUEST[
"gtp"]);
 
  727        $this->ctrl->redirectByClass(
"ilpersonalworkspacegui", $cmd);
 
  735        $this->ctrl->redirectByClass(ilMyStaffGUI::class);
 
  743        $this->ctrl->redirectByClass([
"ilAchievementsGUI", 
"ilbadgeprofilegui"]);
 
  751        $this->ctrl->redirectByClass(
"ilpersonalskillsgui");
 
  756        $stored_classes = array(
'ildashboardgui',
 
  757                                'ilpersonalprofilegui',
 
  759                                'ilcalendarpresentationgui',
 
  760                                'illearningprogressgui');
 
  762        if (isset(
$_SESSION[
'il_pd_history']) and in_array(
$_SESSION[
'il_pd_history'], $stored_classes)) {
 
  765            $this->ctrl->getNextClass($this);
 
  771        $this->cmdClass = $a_class;
 
  780        $a_column_gui->setActionMenu($this->action_menu);
 
  788        $this->tpl->setTitle($this->lng->txt(
"dash_dashboard"));
 
  801        $this->ctrl->redirect($this, 
"show");
 
  811        $tpl = 
new ilTemplate(
"tpl.dashboard.html", 
true, 
true, 
"Services/Dashboard");
 
  824        $tpl->setVariable(
"CONTENT", $html);
 
  837        return $block->getHTML();
 
  848        return $db_rec_content->render();
 
  859        return $st_block->getHTML();
 
  870        return $block->getHTML();
 
  881        return $st_block->getHTML();
 
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
show()
returns the content of IniFile @access public
error($a_errmsg)
set error message @access public
User interface class for advanced drop-down selection lists.
static preloadPDBlockSettings()
Preload pd info.
Column user interface class.
renderStudyProgrammes()
Render study programmes.
setTabs()
set personal desktop tabs
jumpToSelectedItems()
Jump to selected items.
jumpToLP()
workaround for menu in calendar only
getLeftColumnHTML()
Display left column.
jumpToMemberships()
Jump to memberships.
getStandardTemplates()
get standard templates
jumpToNews()
workaround for menu in calendar only
renderLearningSequences()
Render learning sequences.
__storeLastClass($a_class)
renderRecommendedContent()
Render recommended content.
renderMemberships()
Render memberships.
jumpToComments()
workaround for menu in calendar only
jumpToBadges()
Jump to badges.
jumpToProfile()
workaround for menu in calendar only
toggleHelp()
Temporary workaround for toggling the help.
jumpToCalendar()
Jump to calendar.
jumpToNotes()
workaround for menu in calendar only
getRightColumnHTML()
Display right column.
const CMD_JUMP_TO_MY_STAFF
displayHeader()
display header and locator
executeCommand()
execute command
renderFavourites()
Render favourites.
getCenterColumnHTML()
Display center column.
jumpToSettings()
workaround for menu in calendar only
jumpToWorkspace()
Jump to personal workspace.
multiarray_sort($array, $key_sort)
Returns the multidimenstional sorted array.
jumpToSkills()
Jump to personal skills.
initColumn($a_column_gui)
getMainContent()
Get main content.
Personal Desktop-Presentation for the Learningsequence.
Dashboard recommended content UI.
@ilCtrl_IsCalledBy ilPDSelectedItemsBlockGUI: ilColumnGUI @ilCtrl_Calls ilPDSelectedItemsBlockGUI: il...
Class ilPDSelectedItemsBlockViewSettings.
GUI class for personal profile.
GUI class for personal profile.
GUI class for personal workspace.
Portfolio repository gui class.
static set($a_var, $a_val)
Set a value.
static get($a_var)
Get a value.
special template class to simplify handling of ITX/PEAR
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static infoPanel($a_keep=true)