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);
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"));
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.
const LP_CONTEXT_PERSONAL_DESKTOP
Class ilObjUserTrackingGUI.
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.
Personal skills GUI class.
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)
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
$GLOBALS['loaded']
Global hash that tracks already loaded includes.