/** * GetDropDownHTML * * @param * @return */ function renderDropDown($a_tpl, $a_id) { global $lng, $ilSetting, $rbacsystem; $id = strtolower($a_id); $id_up = strtoupper($a_id); $a_tpl->setCurrentBlock("entry_" . $id); include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php"; $selection = new ilAdvancedSelectionListGUI(); if ($this->active == $a_id || $this->active == "" && $a_id == "repository") { $selection->setSelectionHeaderClass("MMActive"); $a_tpl->setVariable("SEL", '<span class="ilAccHidden">(' . $lng->txt("stat_selected") . ')</span>'); } else { $selection->setSelectionHeaderClass("MMInactive"); } $selection->setSelectionHeaderSpanClass("MMSpan"); $selection->setHeaderIcon(ilAdvancedSelectionListGUI::ICON_ARROW); $selection->setItemLinkClass("small"); $selection->setUseImages(false); switch ($id) { // desktop drop down case "desktop": $selection->setListTitle($lng->txt("personal_desktop")); $selection->setId("dd_pd"); // overview $selection->addItem($lng->txt("overview"), "", "ilias.php?baseClass=ilPersonalDesktopGUI", "", "", "_top"); if (!$ilSetting->get("disable_personal_workspace")) { // workspace $selection->addItem($lng->txt("personal_workspace"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace", "", "", "_top"); } // profile $selection->addItem($lng->txt("personal_profile"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToProfile", "", "", "_top"); // skills $skmg_set = new ilSetting("skmg"); if ($skmg_set->get("enable_skmg")) { $selection->addItem($lng->txt("skills"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSkills", "", "", "_top"); } // portfolio if ($ilSetting->get('user_portfolios')) { $selection->addItem($lng->txt("portfolio"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio", "", "", "_top"); } // news if ($ilSetting->get("block_activated_news")) { $selection->addItem($lng->txt("news"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNews", "", "", "_top"); } // Learning Progress include_once "Services/Tracking/classes/class.ilObjUserTracking.php"; if (ilObjUserTracking::_enabledLearningProgress()) { //$ilTabs->addTarget("learning_progress", $this->ctrl->getLinkTargetByClass("ilLearningProgressGUI")); $selection->addItem($lng->txt("learning_progress"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToLP", "", "", "_top"); } // calendar include_once './Services/Calendar/classes/class.ilCalendarSettings.php'; $settings = ilCalendarSettings::_getInstance(); if ($settings->isEnabled()) { $selection->addItem($lng->txt("calendar"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar", "", "", "_top"); } // mail if ($this->mail) { $selection->addItem($lng->txt('mail'), '', 'ilias.php?baseClass=ilMailGUI', '', '', '_top'); } // contacts if (!$this->ilias->getSetting('disable_contacts') && ($this->ilias->getSetting('disable_contacts_require_mail') || $rbacsystem->checkAccess('internal_mail', ilMailGlobalServices::getMailObjectRefId()))) { $selection->addItem($lng->txt('mail_addressbook'), '', 'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToContacts', '', '', '_top'); } // private notes if (!$this->ilias->getSetting("disable_notes")) { $selection->addItem($lng->txt("notes_and_comments"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNotes", "", "", "_top"); } // bookmarks if (!$this->ilias->getSetting("disable_bookmarks")) { $selection->addItem($lng->txt("bookmarks"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBookmarks", "", "", "_top"); } // settings $selection->addItem($lng->txt("personal_settings"), "", "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSettings", "", "", "_top"); break; // shop // shop case 'shop': $selection->setListTitle($lng->txt("shop")); $selection->setId("dd_shp"); $selection->addItem($lng->txt("shop"), "", "ilias.php?baseClass=ilShopController&cmd=firstpage", "", "", "_top"); break; // administration // administration case "administration": $selection->setListTitle($lng->txt("administration")); $selection->setId("dd_adm"); $selection->setAsynch(true); $selection->setAsynchUrl("ilias.php?baseClass=ilAdministrationGUI&cmd=getDropDown&cmdMode=asynch"); //$this->renderEntry($a_tpl, "administration", // $lng->txt("administration"), // $this->getScriptTarget("ilias.php?baseClass=ilAdministrationGUI"), // $this->target); break; } // $selection->setTriggerEvent("mouseover"); // $selection->setAutoHide(true); // bs-patch start global $ilUser; $a_tpl->setVariable("TXT_ADMINISTRATION", $lng->txt("administration")); $a_tpl->parseCurrentBlock(); return; // bs-patch end $html = $selection->getHTML(); $a_tpl->setVariable($id_up . "_DROP_DOWN", $html); $a_tpl->parseCurrentBlock(); }
/** * read and set mail object id * @access private */ function readMailObjectReferenceId() { include_once 'Services/Mail/classes/class.ilMailGlobalServices.php'; $this->mail_obj_ref_id = ilMailGlobalServices::getMailObjectRefId(); }
function __initSubTabs($a_cmd) { /** * @var $rbacsystem ilRbacSystem */ global $ilTabs, $ilSetting, $ilHelp, $rbacsystem, $ilUser; $ilHelp->setScreenIdComponent("user"); $showPassword = $a_cmd == 'showPassword' ? true : false; $showGeneralSettings = $a_cmd == 'showGeneralSettings' ? true : false; $showMailOptions = $a_cmd == 'showMailOptions' ? true : false; // $showjsMath = ($a_cmd == 'showjsMath') ? true : false; $showChatOptions = $a_cmd == 'showChatOptions' ? true : false; // old profile // general settings $ilTabs->addTarget("general_settings", $this->ctrl->getLinkTarget($this, "showGeneralSettings"), "", "", "", $showGeneralSettings); // password if ($this->allowPasswordChange()) { $ilTabs->addTarget("password", $this->ctrl->getLinkTarget($this, "showPassword"), "", "", "", $showPassword); } include_once 'Services/Mail/classes/class.ilMailGlobalServices.php'; if ($rbacsystem->checkAccess('internal_mail', ilMailGlobalServices::getMailObjectRefId())) { $ilTabs->addTarget("mail_settings", $this->ctrl->getLinkTarget($this, "showMailOptions"), "", "", "", $showMailOptions); } $chatSettings = new ilSetting('chatroom'); $notificationSettings = new ilSetting('notifications'); if ($chatSettings->get('chat_enabled', false) && $notificationSettings->get('enable_osd', false) && $chatSettings->get('play_invitation_sound', false)) { $ilTabs->addTarget('chat_settings', $this->ctrl->getLinkTarget($this, 'showChatOptions'), '', '', '', $showChatOptions); } include_once "./Services/Administration/classes/class.ilSetting.php"; /* $jsMathSetting = new ilSetting("jsMath"); if ($jsMathSetting->get("enable")) { $ilTabs->addTarget("jsmath_extt_jsmath", $this->ctrl->getLinkTarget($this, "showjsMath"), "", "", "", $showjsMath); }*/ if ((bool) $ilSetting->get('user_delete_own_account') && $ilUser->getId() != SYSTEM_USER_ID) { $ilTabs->addTab("delacc", $this->lng->txt('user_delete_own_account'), $this->ctrl->getLinkTarget($this, "deleteOwnAccount1")); } }
/** * Static method * check how many unread mails are in inbox * @access public * @static * @return int number of mails */ function _countNewMails($a_user_id) { include_once 'Services/Mail/classes/class.ilMailGlobalServices.php'; return ilMailGlobalServices::getNumberOfNewMailsByUserId($a_user_id); }
function hasNewMail($sid) { $this->initAuth($sid); $this->initIlias(); if (!$this->__checkSession($sid)) { return $this->__raiseError($this->__getMessage(), $this->__getMessageCode()); } global $ilUser; include_once 'Services/Mail/classes/class.ilMailGlobalServices.php'; if (ilMailGlobalServices::getNumberOfNewMailsByUserId($ilUser->getId()) > 0) { return true; } else { return false; } }
/** * get flat bookmark list for personal desktop */ function fillRow($a_set) { global $ilUser, $ilCtrl, $lng, $ilSetting, $rbacsetting, $rbacsystem; // mail link $a_set["mail_to"] = ""; if ($this->mail_allowed && $rbacsystem->checkAccessOfUser($a_set['id'], 'internal_mail', ilMailGlobalServices::getMailObjectRefId())) { $a_set['mail_url'] = ilMailFormCall::getLinkTarget($this->topGuiObj, '', array(), array('type' => 'new', 'rcp_to' => urlencode($a_set['login']))); } // check for profile $a_set["profile"] = in_array(ilObjUser::_lookupPref($a_set["id"], "public_profile"), array("y", "g")); // user image if ($this->getCurrentDetailLevel() > 2) { if ($a_set["mail_url"] != "") { $this->tpl->setCurrentBlock("mailto_link"); $this->tpl->setVariable("TXT_MAIL", $lng->txt("mail")); $this->tpl->setVariable("MAIL_URL", $a_set["mail_url"]); $this->tpl->parseCurrentBlock(); } $chatSettings = new ilSetting('chatroom'); if ($chatSettings->get('chat_enabled')) { if (!$this->__showActiveChatsOfUser($a_set["id"])) { // Show invite to chat $this->__showChatInvitation($a_set["id"]); } global $rbacsystem; include_once './Modules/Chatroom/classes/class.ilObjChatroom.php'; if ($a_set["id"] == $ilUser->getId() && $rbacsystem->checkAccess('read', ilObjChatroom::_getPublicRefId())) { $this->tpl->setCurrentBlock('chat_link'); $this->tpl->setVariable('TXT_CHAT_INVITE', $lng->txt('chat_enter_public_room')); $this->tpl->setVariable('TXT_CHAT_INVITE_TOOLTIP', $lng->txt('chat_enter_public_room_tooltip')); // $this->tpl->setVariable('CHAT_LINK','./ilias.php?baseClass=ilChatPresentationGUI&ref_id='.ilObjChat::_getPublicChatRefId()); $this->tpl->setVariable('CHAT_LINK', './ilias.php?baseClass=ilRepositoryGUI&cmd=view&ref_id=' . ilObjChatroom::_getPublicRefId()); $this->tpl->parseCurrentBlock(); } } // user image $this->tpl->setCurrentBlock("usr_image"); $this->tpl->setVariable("USR_IMAGE", ilObjUser::_getPersonalPicturePath($a_set["id"], "xxsmall")); $this->tpl->setVariable("USR_ALT", $lng->txt("personal_picture")); $this->tpl->parseCurrentBlock(); $this->tpl->touchBlock("usr_image_space"); $pd_set = new ilSetting("pd"); $osi_server = $pd_set->get("osi_host"); // if (trim($osi_server) != "") // { // instant messengers // 1 indicates to use online status check $im_arr = array("icq" => 0, "yahoo" => 1, "msn" => 0, "aim" => 0, "skype" => 1, "jabber" => 0, "voip" => 0); // use onlinestatus.org // when enabled all instant messengers are checked online and ignores settings above if (trim($osi_server) != "") { $osi_enable = true; } // removed calls to external servers due to // bug 10583, alex 8 Mar 2013 foreach ($im_arr as $im_name => $im_check) { if ($im_id = ilObjUser::_lookupIm($a_set["id"], $im_name)) { $im_url = ""; switch ($im_name) { case "icq": $im_url = "http://http://www.icq.com/people/" . $im_id; break; case "yahoo": $im_url = "http://edit.yahoo.com/config/send_webmesg?target=" . $im_id . "&src=pg"; break; case "msn": $im_url = "http://messenger.live.com"; break; case "aim": //$im_url = "aim:GoIM?screenname=".$im_id; $im_url = "http://aimexpress.aim.com"; break; case "skype": $im_url = "skype:" . $im_id . "?call"; break; } $im_img = ilUtil::getImagePath($im_name . 'online.png'); if ($im_url != "") { $this->tpl->setCurrentBlock("im_link_start"); $this->tpl->setVariable("URL_IM", $im_url); $this->tpl->parseCurrentBlock(); $this->tpl->touchBlock("im_link_end"); } $this->tpl->setCurrentBlock("instant_messengers"); $this->tpl->setVariable("IMG_IM_ICON", $im_img); $this->tpl->setVariable("TXT_IM_ICON", $lng->txt("im_" . $im_name)); $icon_id = "im_" . $im_name . "_usr_" . $a_set["id"]; $this->tpl->setVariable("ICON_ID", $icon_id); include_once "./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php"; ilTooltipGUI::addTooltip($icon_id, $lng->txt("im_" . $im_name) . ": " . $im_id, "", "top center", "bottom center"); $this->tpl->parseCurrentBlock(); } } // } } // username if (!$a_set["profile"]) { $this->tpl->setVariable("USR_LOGIN", $a_set["login"]); } else { if ($this->getCurrentDetailLevel() > 2) { $this->tpl->setVariable("USR_LOGIN", "<br />" . $a_set["login"]); } else { $this->tpl->setVariable("USR_LOGIN", " [" . $a_set["login"] . "]"); } } // profile link if ($a_set["profile"]) { include_once "Services/User/classes/class.ilUserUtil.php"; $user_name = ilUserUtil::getNamePresentation($a_set["id"], false, false, "", false, true, false); $this->tpl->setCurrentBlock("profile_link"); $this->tpl->setVariable("TXT_VIEW", $lng->txt("profile")); // see ilPersonalProfileGUI::getProfilePortfolio() $has_prtf = false; if ($ilSetting->get('user_portfolios')) { include_once "Modules/Portfolio/classes/class.ilObjPortfolio.php"; $has_prtf = ilObjPortfolio::getDefaultPortfolio($a_set["id"]); } if (!$has_prtf) { // (simple) profile: center column $ilCtrl->setParameter($this, "user", $a_set["id"]); $this->tpl->setVariable("LINK_PROFILE", $ilCtrl->getLinkTargetByClass("ilpublicuserprofilegui", "getHTML")); } else { // portfolio: fullscreen include_once "Services/Link/classes/class.ilLink.php"; $this->tpl->setVariable("LINK_PROFILE", ilLink::_getLink($a_set["id"], "usr")); $this->tpl->setVariable("LINK_TARGET", "_blank"); } $this->tpl->setVariable("USR_ID", $a_set["id"]); $this->tpl->setVariable("LINK_FULLNAME", $user_name); $this->tpl->parseCurrentBlock(); } else { $this->tpl->setVariable("USR_FULLNAME", ""); } }
/** * execute command */ function &executeCommand() { global $ilSetting, $rbacsystem; $next_class = $this->ctrl->getNextClass(); $this->ctrl->setReturn($this, "show"); $this->tpl->addCss(ilUtil::getStyleSheetLocation('filesystem', 'delos.css', 'Services/Calendar')); // read last active subsection if (isset($_GET['PDHistory']) && $_GET['PDHistory']) { $next_class = $this->__loadNextClass(); } $this->__storeLastClass($next_class); // check for permission to view contacts if ($next_class == 'ilmailaddressbookgui' && ($this->ilias->getSetting("disable_contacts") || !$this->ilias->getSetting("disable_contacts_require_mail") && !$rbacsystem->checkAccess('internal_mail', ilMailGlobalServices::getMailObjectRefId()))) { $next_class = ''; ilUtil::sendFailure($this->lng->txt('no_permission')); } switch ($next_class) { case "ilbookmarkadministrationgui": if ($ilSetting->get('disable_bookmarks')) { ilUtil::sendFailure($this->lng->txt('permission_denied'), true); ilUtil::redirect('ilias.php?baseClass=ilPersonalDesktopGUI'); return; } include_once "./Services/Bookmarks/classes/class.ilBookmarkAdministrationGUI.php"; $bookmark_gui = new ilBookmarkAdministrationGUI(); if ($bookmark_gui->getMode() == 'tree') { $this->getTreeModeTemplates(); } else { $this->getStandardTemplates(); } $this->setTabs(); $ret =& $this->ctrl->forwardCommand($bookmark_gui); break; // profile // profile case "ilpersonalprofilegui": $this->getStandardTemplates(); $this->setTabs(); include_once "./Services/User/classes/class.ilPersonalProfileGUI.php"; $profile_gui = new ilPersonalProfileGUI(); $ret =& $this->ctrl->forwardCommand($profile_gui); break; // settings // settings case "ilpersonalsettingsgui": $this->getStandardTemplates(); $this->setTabs(); include_once "./Services/User/classes/class.ilPersonalSettingsGUI.php"; $settings_gui = new ilPersonalSettingsGUI(); $ret =& $this->ctrl->forwardCommand($settings_gui); break; // profile // profile case "ilobjusergui": include_once './Services/User/classes/class.ilObjUserGUI.php'; $user_gui = new ilObjUserGUI("", $_GET["user"], false, false); $ret =& $this->ctrl->forwardCommand($user_gui); break; case 'ilcalendarpresentationgui': $this->getStandardTemplates(); $this->displayHeader(); $this->tpl->setTitle($this->lng->txt("calendar")); $this->setTabs(); include_once './Services/Calendar/classes/class.ilCalendarPresentationGUI.php'; $cal = new ilCalendarPresentationGUI(); $ret = $this->ctrl->forwardCommand($cal); $this->tpl->show(); break; // pd notes // pd notes case "ilpdnotesgui": if ($ilSetting->get('disable_notes')) { ilUtil::sendFailure($this->lng->txt('permission_denied'), true); ilUtil::redirect('ilias.php?baseClass=ilPersonalDesktopGUI'); return; } $this->getStandardTemplates(); $this->setTabs(); include_once "./Services/Notes/classes/class.ilPDNotesGUI.php"; $pd_notes_gui = new ilPDNotesGUI(); $ret =& $this->ctrl->forwardCommand($pd_notes_gui); break; // pd news // pd news case "ilpdnewsgui": $this->getStandardTemplates(); $this->setTabs(); include_once "./Services/News/classes/class.ilPDNewsGUI.php"; $pd_news_gui = new ilPDNewsGUI(); $ret =& $this->ctrl->forwardCommand($pd_news_gui); break; case "illearningprogressgui": $this->getStandardTemplates(); $this->setTabs(); include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php'; $new_gui = new ilLearningProgressGUI(ilLearningProgressGUI::LP_CONTEXT_PERSONAL_DESKTOP, 0); $ret =& $this->ctrl->forwardCommand($new_gui); break; case "ilcolumngui": $this->getStandardTemplates(); $this->setTabs(); include_once "./Services/Block/classes/class.ilColumnGUI.php"; $column_gui = new ilColumnGUI("pd"); $this->initColumn($column_gui); $this->show(); break; // contacts // contacts case 'ilmailaddressbookgui': $this->getStandardTemplates(); $this->setTabs(); $this->tpl->setTitle($this->lng->txt("mail_addressbook")); include_once 'Services/Contact/classes/class.ilMailAddressbookGUI.php'; $mailgui = new ilMailAddressbookGUI(); $ret = $this->ctrl->forwardCommand($mailgui); break; case 'ilpersonalworkspacegui': $this->getStandardTemplates(); $this->setTabs(); include_once 'Services/PersonalWorkspace/classes/class.ilPersonalWorkspaceGUI.php'; $wsgui = new ilPersonalWorkspaceGUI(); $ret = $this->ctrl->forwardCommand($wsgui); $this->tpl->show(); break; case 'ilportfoliorepositorygui': $this->getStandardTemplates(); $this->setTabs(); include_once 'Modules/Portfolio/classes/class.ilPortfolioRepositoryGUI.php'; $pfgui = new ilPortfolioRepositoryGUI(); $ret = $this->ctrl->forwardCommand($pfgui); $this->tpl->show(); break; case 'ilpersonalskillsgui': $this->setTabs(); include_once './Services/Skill/classes/class.ilPersonalSkillsGUI.php'; $skgui = new ilPersonalSkillsGUI(); $this->getStandardTemplates(); $ret = $this->ctrl->forwardCommand($skgui); $this->tpl->show(); break; case 'redirect': $this->redirect(); break; default: $this->getStandardTemplates(); $this->setTabs(); $cmd = $this->ctrl->getCmd("show"); $this->{$cmd}(); break; } $ret = null; return $ret; }