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"];
99 $ilMainMenu =
$DIC[
"ilMainMenu"];
112 $ilMainMenu->setActive(
"desktop");
113 $this->lng->loadLanguageModule(
"pdesk");
114 $this->lng->loadLanguageModule(
"pd");
115 $this->lng->loadLanguageModule(
"dash");
116 $this->lng->loadLanguageModule(
"mmbr");
119 if (
$GLOBALS[
'DIC'][
'ilUser']->getId() == ANONYMOUS_USER_ID) {
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"));
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);
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);
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);
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");
691 $this->ctrl->redirectByClass(
"ilcalendarpresentationgui");
701 if ($_REQUEST[
"dsh"]) {
702 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"shr_id", $_REQUEST[
"dsh"]);
706 if ($_REQUEST[
"wsp_id"]) {
707 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"wsp_id", (
int) $_REQUEST[
"wsp_id"]);
710 if ($_REQUEST[
"gtp"]) {
711 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"gtp", (
int) $_REQUEST[
"gtp"]);
714 $this->ctrl->redirectByClass(
"ilpersonalworkspacegui", $cmd);
722 $this->ctrl->redirectByClass(ilMyStaffGUI::class);
730 $this->ctrl->redirectByClass([
"ilAchievementsGUI",
"ilbadgeprofilegui"]);
738 $this->ctrl->redirectByClass(
"ilpersonalskillsgui");
743 $stored_classes = array(
'ildashboardgui',
744 'ilpersonalprofilegui',
746 'ilcalendarpresentationgui',
747 'illearningprogressgui');
749 if (isset(
$_SESSION[
'il_pd_history']) and in_array(
$_SESSION[
'il_pd_history'], $stored_classes)) {
752 $this->ctrl->getNextClass($this);
758 $this->cmdClass = $a_class;
767 $a_column_gui->setActionMenu($this->action_menu);
775 $this->tpl->setTitle($this->lng->txt(
"dash_dashboard"));
788 $this->ctrl->redirect($this,
"show");
798 $tpl =
new ilTemplate(
"tpl.dashboard.html",
true,
true,
"Services/Dashboard");
811 $tpl->setVariable(
"CONTENT", $html);
824 return $block->getHTML();
835 return $db_rec_content->render();
846 return $st_block->getHTML();
857 return $block->getHTML();
868 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.
BlockGUI class for Selected Items on Personal Desktop.
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)