/**
  * Get HTML for navigation history
  */
 function getHTML()
 {
     global $ilNavigationHistory, $lng;
     include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
     $selection = new ilAdvancedSelectionListGUI();
     $selection->setFormSelectMode("url_ref_id", "ilNavHistorySelect", true, "goto.php?target=navi_request", "ilNavHistory", "ilNavHistoryForm", "_top", $lng->txt("go"), "ilNavHistorySubmit");
     $selection->setListTitle($lng->txt("last_visited"));
     $selection->setId("lastvisited");
     $selection->setSelectionHeaderClass("MMInactive");
     $selection->setHeaderIcon(ilAdvancedSelectionListGUI::NO_ICON);
     $selection->setItemLinkClass("small");
     $selection->setUseImages(true);
     include_once "./Services/Accessibility/classes/class.ilAccessKey.php";
     $selection->setAccessKey(ilAccessKey::LAST_VISITED);
     $items = $ilNavigationHistory->getItems();
     //$sel_arr = array(0 => "-- ".$lng->txt("last_visited")." --");
     reset($items);
     $cnt = 0;
     foreach ($items as $k => $item) {
         if ($cnt++ > 20) {
             break;
         }
         if (!isset($item["ref_id"]) || !isset($_GET["ref_id"]) || $item["ref_id"] != $_GET["ref_id"] || $k > 0) {
             $obj_id = ilObject::_lookupObjId($item["ref_id"]);
             $selection->addItem($item["title"], $item["ref_id"], $item["link"], ilObject::_getIcon($obj_id, "tiny", $item["type"]), $lng->txt("obj_" . $item["type"]), "_top");
         }
     }
     $html = $selection->getHTML();
     if ($html == "") {
         $selection->addItem($lng->txt("no_items"), "", "#", "", "", "_top");
         $selection->setUseImages(false);
         $html = $selection->getHTML();
     }
     return $html;
 }
 static function getLanguageSelection($a_in_topbar = false)
 {
     global $lng;
     include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
     $selection = new ilAdvancedSelectionListGUI();
     $selection->setFormSelectMode("change_lang_to", "ilLanguageSelection", true, "#", "ilNavHistory", "ilNavHistoryForm", "", $lng->txt("ok"), "ilLogin");
     //$selection->setListTitle($lng->txt("choose_language"));
     $selection->setListTitle($lng->txt("language"));
     $selection->setItemLinkClass("small");
     if ($a_in_topbar) {
         $selection->setHeaderIcon(ilAdvancedSelectionListGUI::DOWN_ARROW_TOPBAR);
     }
     $languages = $lng->getInstalledLanguages();
     if (sizeof($languages) > 1) {
         foreach ($languages as $lang_key) {
             $base = substr($_SERVER["REQUEST_URI"], strrpos($_SERVER["REQUEST_URI"], "/") + 1);
             $base = preg_replace("/&*lang=[a-z]{2}&*/", "", $base);
             $link = ilUtil::appendUrlParameterString($base, "lang=" . $lang_key);
             $link = str_replace("?&", "?", $link);
             $selection->addItem($lng->_lookupEntry($lang_key, "meta", "meta_l_" . $lang_key), $lang_key, $link, "", "", "");
         }
         return $selection->getHTML();
     }
 }
 /**
  * Get character style selector
  */
 static function getCharStyleSelector($a_par_type, $a_use_callback = true)
 {
     global $lng;
     include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
     $selection = new ilAdvancedSelectionListGUI();
     $selection->setFormSelectMode("char_characteristic", "", false, "", "", "", "", "", "", "");
     $selection->setId("char_style_selection");
     $selection->setSelectionHeaderClass("ilEditSubmit");
     $selection->setHeaderIcon(ilAdvancedSelectionListGUI::DOWN_ARROW_DARK);
     //$selection->setSelectedValue($a_selected);
     $selection->setUseImages(false);
     $selection->setOnClickMode(ilAdvancedSelectionListGUI::ON_ITEM_CLICK_NOP);
     if ($a_use_callback) {
         $selection->setSelectCallback("ilCOPage.setCharacterClass");
     }
     //$chars = $a_chars;
     //$title_char = ($chars[$a_selected] != "")
     //	? $chars[$a_selected]
     //	: $a_selected;
     $selection->setListTitle("&nbsp;<i>A</i>");
     /*if ($chars[$a_seleted] == "" && ($a_seleted != ""))
     		{
     			$chars = array_merge(array($a_seleted => $a_seleted),
     				$chars);
     		}*/
     $chars = array("Comment" => array("code" => "com", "txt" => $lng->txt("cont_char_style_com")), "Quotation" => array("code" => "quot", "txt" => $lng->txt("cont_char_style_quot")), "Accent" => array("code" => "acc", "txt" => $lng->txt("cont_char_style_acc")), "Code" => array("code" => "code", "txt" => $lng->txt("cont_char_style_code")));
     foreach ($chars as $key => $char) {
         if (ilPageEditorSettings::lookupSettingByParentType($a_par_type, "active_" . $char["code"], true)) {
             $t = "text_inline";
             $tag = "span";
             switch ($key) {
                 case "Code":
                     $tag = "code";
                     break;
             }
             $html = '<' . $tag . ' class="ilc_' . $t . '_' . $key . '" style="font-size:90%; margin-top:2px; margin-bottom:2px; position:static;">' . $char["txt"] . "</" . $tag . ">";
             // this next line is very important for IE. The real onclick event is on the surrounding <tr> of the
             // advanced selection list. But it is impossible to prevent the tr-event from removing the focus
             // on tiny withouth the following line, that receives the click event before and stops the faulty default
             // bevaviour of IE, see bug report #8723
             $html = '<a class="nostyle" style="display:block;" href="#" onclick="return false;">' . $html . "</a>";
             $selection->addItem($char["txt"], $key, "", "", $key, "", $html);
         }
     }
     return $selection->getHTML();
 }
 /**
  * Insert property html
  *
  * @return	int	Size
  */
 function insert(&$a_tpl)
 {
     include_once "./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
     $selection = new ilAdvancedSelectionListGUI();
     $selection->setFormSelectMode($this->getPostVar(), "", false, "", "", "", "", "", "", "");
     $selection->setId($this->getPostVar());
     $selection->setHeaderIcon(ilAdvancedSelectionListGUI::DOWN_ARROW_DARK);
     $selection->setSelectedValue($this->getValue());
     $selection->setUseImages(false);
     $selection->setOnClickMode(ilAdvancedSelectionListGUI::ON_ITEM_CLICK_FORM_SELECT);
     foreach ($this->getOptions() as $option) {
         $selection->addItem($option["txt"], $option["value"], "", "", $option["value"], "", $option["html"]);
         if ($this->getValue() == $option["value"]) {
             $selection->setListTitle($option["txt"]);
         }
     }
     $a_tpl->setCurrentBlock("prop_generic");
     $a_tpl->setVariable("PROP_GENERIC", $selection->getHTML());
     $a_tpl->parseCurrentBlock();
 }