/** * Constructor */ function __construct($a_parent_obj, $a_parent_cmd, $a_comp) { global $ilCtrl, $lng, $ilAccess, $lng; $this->setId("lm_help_tooltips"); parent::__construct($a_parent_obj, $a_parent_cmd); include_once "./Services/Help/classes/class.ilHelp.php"; $this->setData(ilHelp::getAllTooltips($a_comp)); $this->setTitle($lng->txt("help_tooltips")); $this->addColumn("", "", "1px", true); $this->addColumn($this->lng->txt("help_tooltip_id")); $this->addColumn($this->lng->txt("help_tt_text")); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj)); $this->setRowTemplate("tpl.help_tooltip.html", "Modules/LearningModule"); $this->setDefaultOrderField("tt_id"); $this->setDefaultOrderDirection("asc"); $this->addCommandButton("saveTooltips", $lng->txt("save")); $this->addMultiCommand("deleteTooltips", $lng->txt("delete")); }
/** * Delete tooltips */ function deleteTooltips() { global $lng, $ilCtrl; if (is_array($_POST["id"])) { include_once "./Services/Help/classes/class.ilHelp.php"; foreach ($_POST["id"] as $id) { ilHelp::deleteTooltip((int) $id); } ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true); } $ilCtrl->redirect($this, "showTooltipList"); }
/** * Render main menu entry * * @param * @return */ function renderEntry($a_tpl, $a_id, $a_txt, $a_script, $a_target = "_top") { global $lng, $ilNavigationHistory, $ilSetting, $rbacsystem, $ilCtrl; $id = strtolower($a_id); $id_up = strtoupper($a_id); $a_tpl->setCurrentBlock("entry_" . $id); include_once "./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php"; // repository if ($a_id == "repository") { $gl = new ilGroupedListGUI(); $gl->setAsDropDown(true); include_once "./Services/Link/classes/class.ilLink.php"; $icon = ilUtil::img(ilObject::_getIcon(ilObject::_lookupObjId(1), "tiny")); $gl->addEntry($icon . " " . $a_txt . " - " . $lng->txt("rep_main_page"), ilLink::_getStaticLink(1, 'root', true), "_top"); $items = $ilNavigationHistory->getItems(); reset($items); $cnt = 0; $first = true; foreach ($items as $k => $item) { if ($cnt >= 10) { break; } if (!isset($item["ref_id"]) || !isset($_GET["ref_id"]) || ($item["ref_id"] != $_GET["ref_id"] || !$first)) { if ($cnt == 0) { $gl->addGroupHeader($lng->txt("last_visited"), "ilLVNavEnt"); } $obj_id = ilObject::_lookupObjId($item["ref_id"]); $cnt++; $icon = ilUtil::img(ilObject::_getIcon($obj_id, "tiny")); $ititle = ilUtil::shortenText(strip_tags($item["title"]), 50, true); // #11023 $gl->addEntry($icon . " " . $ititle, $item["link"], "_top", "", "ilLVNavEnt"); } $first = false; } if ($cnt > 0) { $gl->addEntry("» " . $lng->txt("remove_entries"), "#", "", "return il.MainMenu.removeLastVisitedItems('" . $ilCtrl->getLinkTargetByClass("ilnavigationhistorygui", "removeEntries", "", true) . "');", "ilLVNavEnt"); } $a_tpl->setVariable("REP_EN_OV", $gl->getHTML()); } // desktop if ($a_id == "desktop") { $gl = new ilGroupedListGUI(); $gl->setAsDropDown(true); // overview $gl->addEntry($lng->txt("overview"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems", "_top", "", "", "mm_pd_sel_items", ilHelp::getMainMenuTooltip("mm_pd_sel_items"), "left center", "right center", false); // my groups and courses, if both is available if ($ilSetting->get('disable_my_offers') == 0 && $ilSetting->get('disable_my_memberships') == 0) { $gl->addEntry($lng->txt("my_courses_groups"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToMemberships", "_top", "", "", "mm_pd_crs_grp", ilHelp::getMainMenuTooltip("mm_pd_crs_grp"), "left center", "right center", false); } // bookmarks if (!$this->ilias->getSetting("disable_bookmarks")) { $gl->addEntry($lng->txt("bookmarks"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBookmarks", "_top", "", "", "mm_pd_bookm", ilHelp::getMainMenuTooltip("mm_pd_bookm"), "left center", "right center", false); } // private notes if (!$this->ilias->getSetting("disable_notes")) { $gl->addEntry($lng->txt("notes_and_comments"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNotes", "_top", "", "", "mm_pd_notes", ilHelp::getMainMenuTooltip("mm_pd_notes"), "left center", "right center", false); } // news if ($ilSetting->get("block_activated_news")) { $gl->addEntry($lng->txt("news"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNews", "_top", "", "", "mm_pd_news", ilHelp::getMainMenuTooltip("mm_pd_news"), "left center", "right center", false); } // overview is always active $gl->addSeparator(); $separator = false; if (!$ilSetting->get("disable_personal_workspace")) { // workspace $gl->addEntry($lng->txt("personal_workspace"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace", "_top", "", "", "mm_pd_wsp", ilHelp::getMainMenuTooltip("mm_pd_wsp"), "left center", "right center", false); $separator = true; } // portfolio if ($ilSetting->get('user_portfolios')) { $gl->addEntry($lng->txt("portfolio"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio", "_top", "", "", "mm_pd_port", ilHelp::getMainMenuTooltip("mm_pd_port"), "left center", "right center", false); $separator = true; } // skills $skmg_set = new ilSetting("skmg"); if ($skmg_set->get("enable_skmg")) { $gl->addEntry($lng->txt("skills"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSkills", "_top", "", "", "mm_pd_skill", ilHelp::getMainMenuTooltip("mm_pd_skill"), "left center", "right center", false); $separator = true; } // Learning Progress include_once "Services/Tracking/classes/class.ilObjUserTracking.php"; if (ilObjUserTracking::_enabledLearningProgress() && (ilObjUserTracking::_hasLearningProgressOtherUsers() || ilObjUserTracking::_hasLearningProgressLearner())) { //$ilTabs->addTarget("learning_progress", $this->ctrl->getLinkTargetByClass("ilLearningProgressGUI")); $gl->addEntry($lng->txt("learning_progress"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToLP", "_top", "", "", "mm_pd_lp", ilHelp::getMainMenuTooltip("mm_pd_lp"), "left center", "right center", false); $separator = true; } if ($separator) { $gl->addSeparator(); } $separator = false; // calendar include_once './Services/Calendar/classes/class.ilCalendarSettings.php'; $settings = ilCalendarSettings::_getInstance(); if ($settings->isEnabled()) { $gl->addEntry($lng->txt("calendar"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar", "_top", "", "", "mm_pd_cal", ilHelp::getMainMenuTooltip("mm_pd_cal"), "left center", "right center", false); $separator = true; } // mail if ($this->mail) { $gl->addEntry($lng->txt('mail'), 'ilias.php?baseClass=ilMailGUI', '_top', "", "", "mm_pd_mail", ilHelp::getMainMenuTooltip("mm_pd_mail"), "left center", "right center", false); $separator = true; } // contacts if (!$this->ilias->getSetting('disable_contacts') && ($this->ilias->getSetting('disable_contacts_require_mail') || $rbacsystem->checkAccess('internal_mail', ilMailGlobalServices::getMailObjectRefId()))) { $gl->addEntry($lng->txt('mail_addressbook'), 'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToContacts', '_top', "", "", "mm_pd_contacts", ilHelp::getMainMenuTooltip("mm_pd_contacts"), "left center", "right center", false); $separator = true; } if ($separator) { $gl->addSeparator(); } // profile $gl->addEntry($lng->txt("personal_profile"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToProfile", "_top", "", "", "mm_pd_profile", ilHelp::getMainMenuTooltip("mm_pd_profile"), "left center", "right center", false); // settings $gl->addEntry($lng->txt("personal_settings"), "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSettings", "_top", "", "", "mm_pd_sett", ilHelp::getMainMenuTooltip("mm_pd_sett"), "left center", "right center", false); $a_tpl->setVariable("DESK_CONT_OV", $gl->getHTML()); } if (IS_PAYMENT_ENABLED) { // shop if ($a_id == "shop") { $gl = new ilGroupedListGUI(); $gl->setAsDropDown(true); // shop_content $gl->addEntry($lng->txt("content"), "ilias.php?baseClass=ilShopController&cmd=firstpage", "_top"); // shoppingcart include_once 'Services/Payment/classes/class.ilPaymentShoppingCart.php'; global $ilUser; $objShoppingCart = new ilPaymentShoppingCart($ilUser); $items = $objShoppingCart->getEntries(); if (count($items) > 0) { $gl->addEntry($lng->txt("shoppingcart") . ' (' . count($items) . ')', "ilias.php?baseClass=ilShopController&cmdClass=ilshopshoppingcartgui", "_top"); } $a_tpl->setVariable("SHOP_CONT_OV", $gl->getHTML()); } } $a_tpl->setVariable("TXT_" . $id_up, $a_txt); $a_tpl->setVariable("SCRIPT_" . $id_up, $a_script); $a_tpl->setVariable("TARGET_" . $id_up, $a_target); if ($this->active == $a_id || $this->active == "" && $a_id == "repository") { //$a_tpl->setVariable("MM_CLASS", "MMActive"); $a_tpl->setVariable("SEL", '<span class="ilAccHidden">(' . $lng->txt("stat_selected") . ')</span>'); } else { //$a_tpl->setVariable("MM_CLASS", "MMInactive"); } if ($a_id == "repository") { include_once "./Services/Accessibility/classes/class.ilAccessKey.php"; if (ilAccessKey::getKey(ilAccessKey::LAST_VISITED) != "") { $a_tpl->setVariable("ACC_KEY_REPOSITORY", 'accesskey="' . ilAccessKey::getKey(ilAccessKey::LAST_VISITED) . '"'); } } if ($a_id == "desktop") { include_once "./Services/Accessibility/classes/class.ilAccessKey.php"; if (ilAccessKey::getKey(ilAccessKey::PERSONAL_DESKTOP) != "") { $a_tpl->setVariable("ACC_KEY_DESKTOP", 'accesskey="' . ilAccessKey::getKey(ilAccessKey::PERSONAL_DESKTOP) . '"'); } } $a_tpl->parseCurrentBlock(); }
/** * Get drop down */ function getDropDown() { global $tree, $rbacsystem, $lng, $ilSetting, $objDefinition; $tpl = new ilTemplate("tpl.admin_drop_down.html", true, true, "Services/Administration"); $objects = $tree->getChilds(SYSTEM_FOLDER_ID); foreach ($objects as $object) { $new_objects[$object["title"] . ":" . $object["child"]] = $object; //have to set it manually as translation type of main node cannot be "sys" as this type is a orgu itself. if ($object["type"] == "orgu") { $new_objects[$object["title"] . ":" . $object["child"]]["title"] = $lng->txt("obj_orgu"); } } // add entry for switching to repository admin // note: please see showChilds methods which prevents infinite look $new_objects[$lng->txt("repository_admin") . ":" . ROOT_FOLDER_ID] = array("tree" => 1, "child" => ROOT_FOLDER_ID, "ref_id" => ROOT_FOLDER_ID, "depth" => 3, "type" => "root", "title" => $lng->txt("repository_admin"), "description" => $lng->txt("repository_admin_desc"), "desc" => $lng->txt("repository_admin_desc")); //$nd = $tree->getNodeData(SYSTEM_FOLDER_ID); //var_dump($nd); $new_objects[$lng->txt("general_settings") . ":" . SYSTEM_FOLDER_ID] = array("tree" => 1, "child" => SYSTEM_FOLDER_ID, "ref_id" => SYSTEM_FOLDER_ID, "depth" => 2, "type" => "adm", "title" => $lng->txt("general_settings")); ksort($new_objects); // determine items to show $items = array(); foreach ($new_objects as $c) { // check visibility if ($tree->getParentId($c["ref_id"]) == ROOT_FOLDER_ID && $c["type"] != "adm" && $_GET["admin_mode"] != "repository") { continue; } // these objects may exist due to test cases that didnt clear // data properly if ($c["type"] == "" || $c["type"] == "objf" || $c["type"] == "xxx") { continue; } $accessible = $rbacsystem->checkAccess('visible,read', $c["ref_id"]); if (!$accessible) { continue; } if ($c["ref_id"] == ROOT_FOLDER_ID && !$rbacsystem->checkAccess('write', $c["ref_id"])) { continue; } if ($c["type"] == "rolf" && $c["ref_id"] != ROLE_FOLDER_ID) { continue; } $items[] = $c; } $cnt = 0; $titems = array(); foreach ($items as $i) { $titems[$i["type"]] = $i; } // admin menu layout $layout = array(1 => array("basic" => array("adm", "stys", "adve", "lngf", "cmps", "accs", "hlps", "trac"), "users" => array("usrf", 'tos', "rolf", "auth", "ps", "orgu")), 2 => array("services" => array("pdts", "nwss", "tags", "prfa", "skmg", "cals", "mail", "---", "seas", "mds", "cert", 'ecss', "pays", "extt")), 3 => array("objects" => array("reps", "---", "blga", "chta", "crss", "facs", "frma", "grps", "lrss", "mcts", "mobs", "svyf", "assf", "wbrs", "wiks", "---", 'otpl', 'sysc', "root", "recf"))); // now get all items and groups that are accessible $groups = array(); for ($i = 1; $i <= 3; $i++) { $groups[$i] = array(); foreach ($layout[$i] as $group => $entries) { $groups[$i][$group] = array(); $entries_since_last_sep = false; foreach ($entries as $e) { if ($e == "---" || $titems[$e]["type"] != "") { if ($e == "---" && $entries_since_last_sep) { $groups[$i][$group][] = $e; $entries_since_last_sep = false; } else { if ($e != "---") { $groups[$i][$group][] = $e; $entries_since_last_sep = true; } } } } } } include_once "./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php"; $gl = new ilGroupedListGUI(); for ($i = 1; $i <= 3; $i++) { if ($i > 1) { $gl->nextColumn(); } foreach ($groups[$i] as $group => $entries) { if (count($entries) > 0) { $gl->addGroupHeader($lng->txt("adm_" . $group)); foreach ($entries as $e) { if ($e == "---") { $gl->addSeparator(); } else { $path = ilUtil::getImagePath("icon_" . $titems[$e]["type"] . "_s.png"); $icon = $path != "" ? ilUtil::img($path) . " " : ""; if ($_GET["admin_mode"] == "settings" && $titems[$e]["ref_id"] == ROOT_FOLDER_ID) { $gl->addEntry($icon . $titems[$e]["title"], "ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $titems[$e]["ref_id"] . "&admin_mode=repository", "_top", "", "", "mm_adm_rep", ilHelp::getMainMenuTooltip("mm_adm_rep"), "bottom center", "top center", false); } else { $gl->addEntry($icon . $titems[$e]["title"], "ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $titems[$e]["ref_id"] . "&cmd=jump", "_top", "", "", "mm_adm_" . $titems[$e]["type"], ilHelp::getMainMenuTooltip("mm_adm_" . $titems[$e]["type"]), "bottom center", "top center", false); } } } } } } //$gl->addSeparator(); echo $gl->getHTML(); exit; }
/** * Get rendered html of sub object list * * @return string */ protected function getHTML() { global $ilCtrl; if ($this->mode != ilObjectDefinition::MODE_WORKSPACE && !isset($this->url_creation)) { $base_url = "ilias.php?baseClass=ilRepositoryGUI&ref_id=" . $this->parent_ref_id . "&cmd=create"; } else { $base_url = $this->url_creation; } $base_url = $ilCtrl->appendRequestTokenParameterString($base_url); if ($this->url_creation_callback) { $base_url .= "&crtcb=" . $this->url_creation_callback; } include_once "./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php"; $gl = new ilGroupedListGUI(); $gl->setAsDropDown(true, true); foreach ($this->sub_objects as $item) { switch ($item["type"]) { case "column_separator": $gl->nextColumn(); break; /* case "separator": $gl->addSeparator(); break; */ /* case "separator": $gl->addSeparator(); break; */ case "group": $gl->addGroupHeader($item["title"]); break; case "object": $type = $item["value"]; $path = ilObject::_getIcon('', 'tiny', $type); $icon = $path != "" ? ilUtil::img($path) . " " : ""; $url = $base_url . "&new_type=" . $type; $ttip = ilHelp::getObjCreationTooltipText($type); $gl->addEntry($icon . $item["title"], $url, "_top", "", "", $type, $ttip, "bottom center", "top center", false); break; } } $this->gl = $gl; return $gl->getHTML(); }
/** * Get tab tooltip text * * @param string $a_tab_id tab id * @return string tooltip text */ function getTabTooltipText($a_tab_id) { global $lng; include_once "./Services/Help/classes/class.ilHelp.php"; if ($this->screen_id_component != "") { return ilHelp::getTooltipPresentationText($this->screen_id_component . "_" . $a_tab_id); //return $lng->txt("help_tt_".$this->screen_id_component."_".$a_tab_id); } return ""; }
/** * Import record * * @param * @return */ function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version) { switch ($a_entity) { case "help_map": include_once "./Services/Help/classes/class.ilHelpMapping.php"; // without module ID we do nothing $module_id = $a_mapping->getMapping('Services/Help', 'help_module', 0); if ($module_id) { $new_chap = $a_mapping->getMapping('Services/Help', 'help_chap', $a_rec["Chap"]); if ($new_chap > 0) { ilHelpMapping::saveMappingEntry($new_chap, $a_rec["Component"], $a_rec["ScreenId"], $a_rec["ScreenSubId"], $a_rec["Perm"], $module_id); } } break; case "help_tooltip": include_once "./Services/Help/classes/class.ilHelp.php"; // without module ID we do nothing $module_id = $a_mapping->getMapping('Services/Help', 'help_module', 0); if ($module_id) { ilHelp::addTooltip($a_rec["TtId"], $a_rec["TtText"], $module_id); } break; } }
/** * Delete module * * @param * @return */ function deleteModule($a_id) { global $ilDB, $ilSetting; // if this is the currently activated one, deactivate it first if ($a_id == (int) $ilSetting->get("help_module")) { $ilSetting->set("help_module", ""); } $set = $ilDB->query("SELECT * FROM help_module " . " WHERE id = " . $ilDB->quote($a_id, "integer")); $rec = $ilDB->fetchAssoc($set); // delete learning module if (ilObject::_lookupType($rec["lm_id"]) == "lm") { include_once "./Modules/LearningModule/classes/class.ilObjLearningModule.php"; $lm = new ilObjLearningModule($rec["lm_id"], false); $lm->delete(); } // delete mappings include_once "./Services/Help/classes/class.ilHelpMapping.php"; ilHelpMapping::deleteEntriesOfModule($a_id); // delete tooltips include_once "./Services/Help/classes/class.ilHelp.php"; ilHelp::deleteTooltipsOfModule($a_id); // delete help module record $ilDB->manipulate("DELETE FROM help_module WHERE " . " id = " . $ilDB->quote($a_id, "integer")); }
/** * Put admin panel into template: * - creation selector * - admin view on/off button */ function fillAdminPanel() { global $lng, $ilHelp; $adm_view_cmp = $adm_cmds = $creation_selector = $adm_view = false; $toolb = new ilToolbarGUI(); // admin panel commands if (count($this->admin_panel_commands) > 0) { foreach ($this->admin_panel_commands as $cmd) { $toolb->addFormButton($cmd["txt"], $cmd["cmd"]); } $adm_cmds = true; } elseif ($this->admin_panel_commands_toolbar instanceof ilToolbarGUI) { $toolb = $this->admin_panel_commands_toolbar; $adm_cmds = true; } // Add arrow if desired if ($this->admin_panel_arrow) { $toolb->setLeadingImage(ilUtil::getImagePath("arrow_upright.png"), $lng->txt("actions")); } if ($adm_cmds) { $this->fillPageFormAction(); $this->setCurrentBlock("adm_view_components"); $this->setVariable("ADM_PANEL1", $toolb->getHTML()); $this->parseCurrentBlock(); $adm_view_cmp = true; } // admin view button if ($this->page_actions != "") { $this->setVariable("PAGE_ACTIONS", $this->page_actions); $adm_view = true; } // creation selector if (is_array($this->creation_selector)) { $this->setCurrentBlock("add_commands"); if ($adm_cmds) { $this->setVariable("ADD_COM_WIDTH", 'width="1"'); } include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php"; $selection = new ilAdvancedSelectionListGUI(); $selection->setListTitle($lng->txt("cntr_add_new_item")); $selection->setId("item_creation"); $selection->setHeaderIcon(ilUtil::getImagePath("cmd_add_s.png")); $selection->setItemLinkClass("xsmall"); $selection->setUseImages(true); foreach ($this->creation_selector["options"] as $item) { $link = $this->page_form_action . "&new_type=" . $item["value"]; $link = str_replace("cmd=post", "cmd=" . $this->creation_selector["command"], $link); $ttip = ilHelp::getObjCreationTooltipText($item["value"]); $selection->addItem($item["title"], $item["value"], $link, $item["img"], $item["title"], "", "", false, "", $ttip, "right center", "left center", false); } $this->setVariable("SELECT_OBJTYPE_REPOS", $selection->getHTML()); $this->setVariable("CENTER_COL_CLASS", trim($this->right_content) != "" ? "one_side_col" : ""); $this->parseCurrentBlock(); $creation_selector = true; } if ($adm_cmds and $this->admin_panel_bottom) { $this->setCurrentBlock("adm_view_components2"); if ($this->admin_panel_arrow) { $toolb->setLeadingImage(ilUtil::getImagePath("arrow_downright.png"), $lng->txt("actions")); } $this->setVariable("ADM_PANEL2", $toolb->getHTML()); $this->parseCurrentBlock(); } }