95 : string
96 {
98
99 $tpl =
new ilTemplate(
"tpl.grouped_list.html",
true,
true,
"components/ILIAS/UIComponent/GroupedList");
100 $tt_calls = "";
101 foreach ($this->items as $i) {
102 switch ($i["type"]) {
103 case "sep":
104 $tpl->touchBlock("sep");
105 $tpl->touchBlock("item");
106 break;
107
108 case "next_col":
109 $tpl->touchBlock("next_col");
110 $tpl->touchBlock("item");
111 break;
112
113 case "group_head":
114 $tpl->setCurrentBlock("group_head");
115 if ($i["add_class"] != "") {
116 $tpl->setVariable("ADD_CLASS", $i["add_class"]);
117 }
118 $tpl->setVariable("GROUP_HEAD", $i["content"]);
119 $tpl->parseCurrentBlock();
120 $tpl->touchBlock("item");
121 break;
122
123 case "entry":
124 if ($i["href"] != "") {
125 $tpl->setCurrentBlock("linked_entry");
126 if ($i["add_class"] != "") {
127 $tpl->setVariable("ADD_CLASS", $i["add_class"]);
128 }
129 $tpl->setVariable(
"HREF", str_replace(
'&',
'&',
ilUtil::secureUrl($i[
"href"])));
130 $tpl->setVariable("TXT_ENTRY", $i["content"]);
131 if ($i["target"] != "") {
132 $tpl->setVariable("TARGET", 'target="' . $i["target"] . '"');
133 } else {
134 $tpl->setVariable("TARGET", 'target="_top"');
135 }
136 if ($i["onclick"] != "") {
137 $tpl->setVariable("ONCLICK", 'onclick="' . $i["onclick"] . '"');
138 }
139 if ($i["id"] != "") {
140 $tpl->setVariable("ID", 'id="' . $i["id"] . '"');
141 }
143 $tpl->setVariable("ITEM_ROLE", 'role="menuitem"');
144 }
145 $tpl->parseCurrentBlock();
146 $tpl->touchBlock("item");
147 } else {
148 $tpl->setCurrentBlock("unlinked_entry");
149 if ($i["add_class"] != "") {
150 $tpl->setVariable("ADD_CLASS2", $i["add_class"]);
151 }
152 $tpl->setVariable("TXT_ENTRY2", $i["content"]);
153 $tpl->parseCurrentBlock();
154 }
155 break;
156 }
157 }
158
159 if ($this->multi_column) {
160 $tpl->touchBlock("multi_start");
161 $tpl->touchBlock("multi_end");
162 }
163
164 if ($tt_calls !== "") {
165 $tpl->setCurrentBlock("script");
166 $tpl->setVariable("TT_CALLS", $tt_calls);
167 $tpl->parseCurrentBlock();
168 }
169
170 if ($this->id !== "") {
171 $tpl->setCurrentBlock("id");
172 $tpl->setVariable("ID", $this->id);
173 $tpl->parseCurrentBlock();
174 }
175
177 if ($this->dd_pullright) {
178 $tpl->setVariable("LIST_CLASS", "dropdown-menu pull-right");
179 } else {
180 $tpl->setVariable("LIST_CLASS", "dropdown-menu");
181 }
182 $tpl->setVariable("LIST_ROLE", 'role="menu"');
183 } else {
184 $tpl->setVariable("LIST_CLASS", "");
185 $tpl->setVariable("LIST_ROLE", "");
186 }
187
188 return $tpl->get();
189 }
special template class to simplify handling of ITX/PEAR
static secureUrl(string $url)