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';
86 $this->main_menu =
$DIC[
"ilMainMenu"];
87 $this->
user = $DIC->user();
88 $this->
error = $DIC[
"ilErr"];
90 $this->rbacsystem =
$DIC->rbac()->system();
91 $this->plugin_admin =
$DIC[
"ilPluginAdmin"];
92 $this->help =
$DIC[
"ilHelp"];
96 $ilMainMenu =
$DIC[
"ilMainMenu"];
110 $ilMainMenu->setActive(
"desktop");
111 $this->lng->loadLanguageModule(
"pdesk");
112 $this->lng->loadLanguageModule(
"pd");
115 if (
$GLOBALS[
'DIC'][
'ilUser']->getId() == ANONYMOUS_USER_ID) {
116 $ilErr->raiseError($this->lng->txt(
"msg_not_available_for_anon"),
$ilErr->MESSAGE);
118 $this->cmdClass =
$_GET[
'cmdClass'];
120 $this->ctrl->saveParameter($this, array(
"view"));
136 $next_class = $this->ctrl->getNextClass();
137 $this->ctrl->setReturn($this,
"show");
142 if (isset(
$_GET[
'PDHistory']) &&
$_GET[
'PDHistory']) {
147 switch ($next_class) {
148 case "ilbookmarkadministrationgui":
154 include_once(
"./Services/Bookmarks/classes/class.ilBookmarkAdministrationGUI.php");
158 $ret = $this->ctrl->forwardCommand($bookmark_gui);
162 case "ilpersonalprofilegui":
165 include_once(
"./Services/User/classes/class.ilPersonalProfileGUI.php");
167 $ret = $this->ctrl->forwardCommand($profile_gui);
171 case "ilpersonalsettingsgui":
174 include_once(
"./Services/User/classes/class.ilPersonalSettingsGUI.php");
176 $ret = $this->ctrl->forwardCommand($settings_gui);
181 include_once(
'./Services/User/classes/class.ilObjUserGUI.php');
183 $ret = $this->ctrl->forwardCommand($user_gui);
186 case 'ilcalendarpresentationgui':
189 $this->tpl->setTitle($this->lng->txt(
"calendar"));
191 include_once(
'./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
193 $ret = $this->ctrl->forwardCommand($cal);
207 include_once(
"./Services/Notes/classes/class.ilPDNotesGUI.php");
209 $ret = $this->ctrl->forwardCommand($pd_notes_gui);
216 include_once(
"./Services/News/classes/class.ilPDNewsGUI.php");
218 $ret = $this->ctrl->forwardCommand($pd_news_gui);
224 include_once(
"./Services/Block/classes/class.ilColumnGUI.php");
231 require_once
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
233 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
238 $this->tpl->setTitle($this->lng->txt(
'mail_addressbook'));
240 require_once
'Services/Contact/classes/class.ilContactGUI.php';
244 case 'ilpersonalworkspacegui':
247 include_once
'Services/PersonalWorkspace/classes/class.ilPersonalWorkspaceGUI.php';
249 $ret = $this->ctrl->forwardCommand($wsgui);
253 case 'ilportfoliorepositorygui':
256 include_once
'Modules/Portfolio/classes/class.ilPortfolioRepositoryGUI.php';
258 $ret = $this->ctrl->forwardCommand($pfgui);
262 case 'ilachievementsgui':
266 $ret = $this->ctrl->forwardCommand($achievegui);
269 case strtolower(ilMyStaffGUI::class):
272 $ret = $this->ctrl->forwardCommand($mstgui);
274 case 'ilgroupuseractionsgui':
277 include_once
'./Modules/Group/UserActions/classes/class.ilGroupUserActionsGUI.php';
279 $ret = $this->ctrl->forwardCommand($ggui);
289 $cmd = $this->ctrl->getCmd(
"show");
302 $this->tpl->getStandardTemplate();
308 public function show()
311 include_once(
"Services/Block/classes/class.ilBlockSetting.php");
315 $this->pd_tpl =
new ilTemplate(
"tpl.usr_personaldesktop.html",
true,
true,
"Services/PersonalDesktop");
321 $this->tpl->setTitle($this->lng->txt(
"overview"));
328 if (count($this->action_menu->getItems())) {
336 $this->action_menu->setAsynch(
false);
337 $this->action_menu->setAsynchUrl(
'');
338 $this->action_menu->setListTitle(
$lng->txt(
'actions'));
339 $this->action_menu->setId(
'act_pd');
340 $this->action_menu->setSelectionHeaderClass(
'small');
341 $this->action_menu->setItemLinkClass(
'xsmall');
342 $this->action_menu->setLinksMode(
'il_ContainerItemCommand2');
344 $this->action_menu->setUseImages(
false);
346 $htpl =
new ilTemplate(
'tpl.header_action.html',
true,
true,
'Services/Repository');
347 $htpl->setVariable(
'ACTION_DROP_DOWN', $this->action_menu->getHTML());
349 $tpl->setHeaderActionMenu($htpl->get());
364 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
368 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
390 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
392 "Services/PersonalDesktop",
394 array(
"personal_desktop_gui" => $this)
396 if (!$uip->replaced()) {
416 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
424 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
433 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
435 "Services/PersonalDesktop",
437 array(
"personal_desktop_gui" => $this)
439 if (!$uip->replaced()) {
459 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
467 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
476 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
478 "Services/PersonalDesktop",
480 array(
"personal_desktop_gui" => $this)
482 if (!$uip->replaced()) {
495 $this->pd_tpl =
new ilTemplate(
"tpl.usr_personaldesktop.html",
true,
true,
"Services/PersonalDesktop");
496 $this->tpl->getStandardTemplate();
502 $this->tpl->setTitle($this->lng->txt(
"personal_desktop"));
511 include_once(
"Services/Mail/classes/class.ilPDSysMessageBlockGUI.php");
513 return $sys_block->getHTML();
529 $key_sorta = explode(
";", $key_sort);
531 $multikeys = array_keys($array);
532 $keys = array_keys($array[$multikeys[0]]);
534 for (
$m = 0;
$m < count($key_sorta);
$m++) {
535 $nkeys[
$m] = trim($key_sorta[
$m]);
537 $n += count($key_sorta);
540 if (!in_array(
$keys[
$i], $key_sorta)) {
546 for ($u = 0;$u < count($array); $u++) {
547 $arr = $array[$multikeys[$u]];
548 for (
$s = 0;
$s < count($nkeys);
$s++) {
550 $output[$multikeys[$u]][$k] = $array[$multikeys[$u]][$k];
565 $ilHelp->setScreenIdComponent(
"pd");
573 require_once
'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
575 if ($viewSettings->enabledMemberships()) {
576 $_GET[
'view'] = $viewSettings->getMembershipsView();
577 $this->ctrl->setParameter($this,
"view", $viewSettings->getMembershipsView());
587 require_once
'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
589 if ($viewSettings->enabledSelectedItems()) {
590 $_GET[
'view'] = $viewSettings->getSelectedItemsView();
591 $this->ctrl->setParameter($this,
"view", $viewSettings->getSelectedItemsView());
601 $this->ctrl->redirectByClass(
"ilpersonalprofilegui");
608 if ($_REQUEST[
"dsh"]) {
609 $this->ctrl->setParameterByClass(
"ilportfoliorepositorygui",
"shr_id", $_REQUEST[
"dsh"]);
614 if (
$_GET[
"prt_id"]) {
615 $this->ctrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id", (
int)
$_GET[
"prt_id"]);
616 $this->ctrl->setParameterByClass(
"ilobjportfoliogui",
"gtp", (
int)
$_GET[
"gtp"]);
617 $this->ctrl->redirectByClass(array(
"ilportfoliorepositorygui",
"ilobjportfoliogui"),
"preview");
619 $this->ctrl->redirectByClass(
"ilportfoliorepositorygui", $cmd);
628 $this->ctrl->redirectByClass(
"ilpersonalsettingsgui");
644 $this->ctrl->redirectByClass(
"ilbookmarkadministrationgui");
660 $this->ctrl->redirectByClass(
"ilpdnotesgui");
676 $this->ctrl->redirectByClass(
"ilpdnotesgui",
"showPublicComments");
684 $this->ctrl->redirectByClass(
"ilpdnewsgui");
692 $this->ctrl->redirectByClass(
"illearningprogressgui");
700 $this->ctrl->redirectByClass(
"ilcalendarpresentationgui");
708 $this->ctrl->redirectByClass(array(
'ilpersonaldesktopgui',
'ilcontactgui'));
718 if ($_REQUEST[
"dsh"]) {
719 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"shr_id", $_REQUEST[
"dsh"]);
723 if ($_REQUEST[
"wsp_id"]) {
724 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"wsp_id", (
int) $_REQUEST[
"wsp_id"]);
727 if ($_REQUEST[
"gtp"]) {
728 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"gtp", (
int) $_REQUEST[
"gtp"]);
731 $this->ctrl->redirectByClass(
"ilpersonalworkspacegui", $cmd);
739 $this->ctrl->redirectByClass(ilMyStaffGUI::class);
747 $this->ctrl->redirectByClass([
"ilAchievementsGUI",
"ilbadgeprofilegui"]);
755 $this->ctrl->redirectByClass(
"ilpersonalskillsgui");
760 $stored_classes = array(
'ilpersonaldesktopgui',
761 'ilpersonalprofilegui',
763 'ilcalendarpresentationgui',
764 'ilbookmarkadministrationgui',
765 'illearningprogressgui');
767 if (isset(
$_SESSION[
'il_pd_history']) and in_array(
$_SESSION[
'il_pd_history'], $stored_classes)) {
770 $this->ctrl->getNextClass($this);
776 $this->cmdClass = $a_class;
786 if ($pd_set->get(
"enable_block_moving")) {
787 $a_column_gui->setEnableMovement(
true);
789 $a_column_gui->setActionMenu($this->action_menu);
797 $this->tpl->setTitle($this->lng->txt(
"personal_desktop"));
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.
GUI class for personal bookmark administration.
Column user interface class.
Class ilPDSelectedItemsBlockViewSettings.
BlockGUI class for System Messages block on personal desktop.
GUI class for personal desktop.
getCenterColumnHTML()
Display center column.
jumpToSkills()
Jump to personal skills.
displayHeader()
display header and locator
getRightColumnHTML()
Display right column.
jumpToLP()
workaround for menu in calendar only
getStandardTemplates()
get standard templates
jumpToNotes()
workaround for menu in calendar only
getLeftColumnHTML()
Display left column.
jumpToBadges()
Jump to badges.
jumpToComments()
workaround for menu in calendar only
multiarray_sort($array, $key_sort)
Returns the multidimenstional sorted array.
jumpToCalendar()
Jump to calendar.
jumpToNews()
workaround for menu in calendar only
jumpToContacts()
Jump to contacts.
jumpToMemberships()
Jump to memberships.
executeCommand()
execute command
jumpToProfile()
workaround for menu in calendar only
jumpToSelectedItems()
Jump to selected items.
__storeLastClass($a_class)
jumpToBookmarks()
workaround for menu in calendar only
setTabs()
set personal desktop tabs
jumpToSettings()
workaround for menu in calendar only
initColumn($a_column_gui)
displaySystemMessages()
Display system messages.
jumpToWorkspace()
Jump to personal workspace.
const CMD_JUMP_TO_MY_STAFF
GUI class for personal profile.
GUI class for personal profile.
GUI class for personal workspace.
Portfolio repository gui class.
special template class to simplify handling of ITX/PEAR
UI interface hook processor.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
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)
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.