ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilNavigationHistoryGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
14{
15
16 private $items;
17
22 public function __construct()
23 {
24 }
25
29 function executeCommand()
30 {
31 global $ilCtrl;
32
33 $next_class = $ilCtrl->getNextClass();
34 $cmd = $ilCtrl->getCmd();
35
36 switch($next_class)
37 {
38 default:
39 $this->$cmd();
40 break;
41 }
42 }
43
47 function getHTML()
48 {
49 global $ilNavigationHistory, $lng;
50
51 include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
52 $selection = new ilAdvancedSelectionListGUI();
53 $selection->setFormSelectMode("url_ref_id", "ilNavHistorySelect", true,
54 "goto.php?target=navi_request", "ilNavHistory", "ilNavHistoryForm",
55 "_top", $lng->txt("go"), "ilNavHistorySubmit");
56 $selection->setListTitle($lng->txt("last_visited"));
57 $selection->setId("lastvisited");
58 $selection->setSelectionHeaderClass("MMInactive");
59 $selection->setHeaderIcon(ilAdvancedSelectionListGUI::NO_ICON);
60 $selection->setItemLinkClass("small");
61 $selection->setUseImages(true);
62 include_once("./Services/Accessibility/classes/class.ilAccessKey.php");
63 $selection->setAccessKey(ilAccessKey::LAST_VISITED);
64
65 $items = $ilNavigationHistory->getItems();
66 //$sel_arr = array(0 => "-- ".$lng->txt("last_visited")." --");
67 reset($items);
68 $cnt = 0;
69 foreach($items as $k => $item)
70 {
71 if ($cnt++ > 20) break;
72 if (!isset($item["ref_id"]) || !isset($_GET["ref_id"]) ||
73 $item["ref_id"] != $_GET["ref_id"] || $k > 0) // do not list current item
74 {
75 $obj_id = ilObject::_lookupObjId($item["ref_id"]);
76 $selection->addItem($item["title"], $item["ref_id"], $item["link"],
77 ilObject::_getIcon($obj_id, "tiny", $item["type"]),
78 $lng->txt("obj_".$item["type"]), "_top");
79 }
80 }
81 $html = $selection->getHTML();
82
83 if ($html == "")
84 {
85 $selection->addItem($lng->txt("no_items"), "", "#",
86 "", "", "_top");
87 $selection->setUseImages(false);
88 $html = $selection->getHTML();
89 }
90 return $html;
91 }
92
97 {
98 global $ilNavigationHistory, $ilCtrl;
99
100 if ($_GET["target"] == "navi_request")
101 {
102 $items = $ilNavigationHistory->getItems();
103 foreach($items as $item)
104 {
105 if ($item["ref_id"] == $_POST["url_ref_id"])
106 {
107 ilUtil::redirect($item["link"]);
108 }
109 }
110 reset($items);
111 $item = current($items);
112 if ($_POST["url_ref_id"] == 0 && $item["ref_id"] == $_GET["ref_id"])
113 {
114 $item = next($items); // omit current item
115 }
116 if ($_POST["url_ref_id"] == 0 && $item["link"] != "")
117 {
118 ilUtil::redirect($item["link"]);
119 }
120
121 $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", "");
122 $ilCtrl->setParameterByClass("ilrepositorygui", "getlast", "true");
123 $ilCtrl->redirectByClass("ilrepositorygui", "frameset");
124 }
125 }
126
133 function removeEntries()
134 {
135 global $ilNavigationHistory;
136
137 $ilNavigationHistory->deleteDBEntries();
138 $ilNavigationHistory->deleteSessionEntries();
139 }
140
141}
142?>
$_GET["client_id"]
User interface class for advanced drop-down selection lists.
User Interface Class for Navigation History.
getHTML()
Get HTML for navigation history.
removeEntries()
Remove all entries form list.
handleNavigationRequest()
Handle navigation request.
static _lookupObjId($a_id)
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static redirect($a_script)
http redirect to other script
$_POST['username']
Definition: cron.php:12
$html
Definition: example_001.php:87
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35