5 include_once
'./Services/User/classes/class.ilObjUser.php';
6 include_once
"Services/Mail/classes/class.ilMail.php";
7 include_once
'Services/Mail/classes/class.ilMailGlobalServices.php';
8 include_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"];
94 $lng = $DIC->language();
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');
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"));
jumpToSkills()
Jump to personal skills.
getStandardTemplates()
get standard templates
GUI class for personal workspace.
jumpToLP()
workaround for menu in calendar only
initColumn($a_column_gui)
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
multiarray_sort($array, $key_sort)
Returns the multidimenstional sorted array.
getCenterColumnHTML()
Display center column.
jumpToWorkspace()
Jump to personal workspace.
BlockGUI class for System Messages block on personal desktop.
displaySystemMessages()
Display system messages.
jumpToContacts()
Jump to contacts.
jumpToBookmarks()
workaround for menu in calendar only
Portfolio repository gui class.
jumpToProfile()
workaround for menu in calendar only
const CMD_JUMP_TO_MY_STAFF
setTabs()
set personal desktop tabs
jumpToMemberships()
Jump to memberships.
Column user interface class.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilPDSelectedItemsBlockViewSettings.
executeCommand()
execute command
jumpToNotes()
workaround for menu in calendar only
special template class to simplify handling of ITX/PEAR
static infoPanel($a_keep=true)
jumpToComments()
workaround for menu in calendar only
__storeLastClass($a_class)
getRightColumnHTML()
Display right column.
GUI class for personal bookmark administration.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
User interface class for advanced drop-down selection lists.
jumpToCalendar()
Jump to calendar.
GUI class for personal profile.
getLeftColumnHTML()
Display left column.
jumpToSettings()
workaround for menu in calendar only
static preloadPDBlockSettings()
Preload pd info.
GUI class for personal desktop.
jumpToNews()
workaround for menu in calendar only
displayHeader()
display header and locator
static redirect($a_script)
jumpToSelectedItems()
Jump to selected items.
jumpToBadges()
Jump to badges.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
GUI class for personal profile.