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);
221 case "illearningprogressgui":
224 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
226 $ret = $this->ctrl->forwardCommand($new_gui);
233 include_once(
"./Services/Block/classes/class.ilColumnGUI.php");
240 require_once
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
242 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
247 $this->tpl->setTitle($this->lng->txt(
'mail_addressbook'));
249 require_once
'Services/Contact/classes/class.ilContactGUI.php';
253 case 'ilpersonalworkspacegui':
256 include_once
'Services/PersonalWorkspace/classes/class.ilPersonalWorkspaceGUI.php';
258 $ret = $this->ctrl->forwardCommand($wsgui);
262 case 'ilportfoliorepositorygui':
265 include_once
'Modules/Portfolio/classes/class.ilPortfolioRepositoryGUI.php';
267 $ret = $this->ctrl->forwardCommand($pfgui);
271 case 'ilpersonalskillsgui':
273 include_once
'./Services/Skill/classes/class.ilPersonalSkillsGUI.php';
276 $ret = $this->ctrl->forwardCommand($skgui);
280 case 'ilbadgeprofilegui':
283 include_once
'./Services/Badge/classes/class.ilBadgeProfileGUI.php';
285 $ret = $this->ctrl->forwardCommand($bgui);
289 case strtolower(ilMyStaffGUI::class):
292 $ret = $this->ctrl->forwardCommand($mstgui);
294 case 'ilgroupuseractionsgui':
297 include_once
'./Modules/Group/UserActions/classes/class.ilGroupUserActionsGUI.php';
299 $ret = $this->ctrl->forwardCommand($ggui);
309 $cmd = $this->ctrl->getCmd(
"show");
322 $this->tpl->getStandardTemplate();
328 public function show()
331 include_once(
"Services/Block/classes/class.ilBlockSetting.php");
335 $this->pd_tpl =
new ilTemplate(
"tpl.usr_personaldesktop.html",
true,
true,
"Services/PersonalDesktop");
341 $this->tpl->setTitle($this->lng->txt(
"overview"));
348 if (count($this->action_menu->getItems())) {
356 $this->action_menu->setAsynch(
false);
357 $this->action_menu->setAsynchUrl(
'');
358 $this->action_menu->setListTitle(
$lng->txt(
'actions'));
359 $this->action_menu->setId(
'act_pd');
360 $this->action_menu->setSelectionHeaderClass(
'small');
361 $this->action_menu->setItemLinkClass(
'xsmall');
362 $this->action_menu->setLinksMode(
'il_ContainerItemCommand2');
364 $this->action_menu->setUseImages(
false);
366 $htpl =
new ilTemplate(
'tpl.header_action.html',
true,
true,
'Services/Repository');
367 $htpl->setVariable(
'ACTION_DROP_DOWN', $this->action_menu->getHTML());
369 $tpl->setHeaderActionMenu($htpl->get());
384 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
388 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
410 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
412 "Services/PersonalDesktop",
414 array(
"personal_desktop_gui" => $this)
416 if (!$uip->replaced()) {
436 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
444 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
453 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
455 "Services/PersonalDesktop",
457 array(
"personal_desktop_gui" => $this)
459 if (!$uip->replaced()) {
479 include_once(
"Services/Block/classes/class.ilColumnGUI.php");
487 if (
$ilCtrl->getNextClass() ==
"ilcolumngui" &&
496 include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
498 "Services/PersonalDesktop",
500 array(
"personal_desktop_gui" => $this)
502 if (!$uip->replaced()) {
515 $this->pd_tpl =
new ilTemplate(
"tpl.usr_personaldesktop.html",
true,
true,
"Services/PersonalDesktop");
516 $this->tpl->getStandardTemplate();
522 $this->tpl->setTitle($this->lng->txt(
"personal_desktop"));
531 include_once(
"Services/Mail/classes/class.ilPDSysMessageBlockGUI.php");
533 return $sys_block->getHTML();
549 $key_sorta = explode(
";", $key_sort);
551 $multikeys = array_keys($array);
552 $keys = array_keys($array[$multikeys[0]]);
554 for (
$m=0;
$m < count($key_sorta);
$m++) {
555 $nkeys[
$m] = trim($key_sorta[
$m]);
557 $n += count($key_sorta);
560 if (!in_array(
$keys[
$i], $key_sorta)) {
566 for ($u=0;$u<count($array); $u++) {
567 $arr = $array[$multikeys[$u]];
568 for (
$s=0;
$s<count($nkeys);
$s++) {
570 $output[$multikeys[$u]][$k] = $array[$multikeys[$u]][$k];
585 $ilHelp->setScreenIdComponent(
"pd");
593 require_once
'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
595 if ($viewSettings->enabledMemberships()) {
596 $_GET[
'view'] = $viewSettings->getMembershipsView();
597 $this->ctrl->setParameter($this,
"view", $viewSettings->getMembershipsView());
607 require_once
'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
609 if ($viewSettings->enabledSelectedItems()) {
610 $_GET[
'view'] = $viewSettings->getSelectedItemsView();
611 $this->ctrl->setParameter($this,
"view", $viewSettings->getSelectedItemsView());
621 $this->ctrl->redirectByClass(
"ilpersonalprofilegui");
628 if ($_REQUEST[
"dsh"]) {
629 $this->ctrl->setParameterByClass(
"ilportfoliorepositorygui",
"shr_id", $_REQUEST[
"dsh"]);
634 if (
$_GET[
"prt_id"]) {
635 $this->ctrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id", (
int)
$_GET[
"prt_id"]);
636 $this->ctrl->setParameterByClass(
"ilobjportfoliogui",
"gtp", (
int) $_GET[
"gtp"]);
637 $this->ctrl->redirectByClass(
array(
"ilportfoliorepositorygui",
"ilobjportfoliogui"),
"preview");
639 $this->ctrl->redirectByClass(
"ilportfoliorepositorygui", $cmd);
648 $this->ctrl->redirectByClass(
"ilpersonalsettingsgui");
664 $this->ctrl->redirectByClass(
"ilbookmarkadministrationgui");
680 $this->ctrl->redirectByClass(
"ilpdnotesgui");
696 $this->ctrl->redirectByClass(
"ilpdnotesgui",
"showPublicComments");
704 $this->ctrl->redirectByClass(
"ilpdnewsgui");
712 $this->ctrl->redirectByClass(
"illearningprogressgui");
720 $this->ctrl->redirectByClass(
"ilcalendarpresentationgui");
728 $this->ctrl->redirectByClass(
array(
'ilpersonaldesktopgui',
'ilcontactgui'));
738 if ($_REQUEST[
"dsh"]) {
739 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"shr_id", $_REQUEST[
"dsh"]);
743 if ($_REQUEST[
"wsp_id"]) {
744 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"wsp_id", (
int) $_REQUEST[
"wsp_id"]);
747 if ($_REQUEST[
"gtp"]) {
748 $this->ctrl->setParameterByClass(
"ilpersonalworkspacegui",
"gtp", (
int) $_REQUEST[
"gtp"]);
751 $this->ctrl->redirectByClass(
"ilpersonalworkspacegui", $cmd);
759 $this->ctrl->redirectByClass(ilMyStaffGUI::class);
767 $this->ctrl->redirectByClass(
"ilbadgeprofilegui");
775 $this->ctrl->redirectByClass(
"ilpersonalskillsgui");
780 $stored_classes =
array(
'ilpersonaldesktopgui',
781 'ilpersonalprofilegui',
783 'ilcalendarpresentationgui',
784 'ilbookmarkadministrationgui',
785 'illearningprogressgui');
787 if (isset(
$_SESSION[
'il_pd_history']) and in_array(
$_SESSION[
'il_pd_history'], $stored_classes)) {
790 $this->ctrl->getNextClass($this);
796 $this->cmdClass = $a_class;
806 if ($pd_set->get(
"enable_block_moving")) {
807 $a_column_gui->setEnableMovement(
true);
809 $a_column_gui->setActionMenu($this->action_menu);
817 $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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
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
Personal skills GUI class.
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
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.
const LP_CONTEXT_PERSONAL_DESKTOP
Create styles array
The data for the language used.
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.
Class ilObjUserTrackingGUI.
jumpToBadges()
Jump to badges.
GUI class for personal profile.