Index: trunk/phase3/skins/Vector.php |
— | — | @@ -339,7 +339,7 @@ |
340 | 340 | * QuickTemplate class for Vector skin |
341 | 341 | * @ingroup Skins |
342 | 342 | */ |
343 | | -class VectorTemplate extends QuickTemplate { |
| 343 | +class VectorTemplate extends BaseTemplate { |
344 | 344 | |
345 | 345 | /* Members */ |
346 | 346 | |
— | — | @@ -592,36 +592,13 @@ |
593 | 593 | <h5<?php $this->html('userlangattributes') ?>><?php $this->msg( 'toolbox' ) ?></h5> |
594 | 594 | <div class="body"> |
595 | 595 | <ul> |
596 | | - <?php if( $this->data['notspecialpage'] ): ?> |
597 | | - <li id="t-whatlinkshere"><a href="<?php echo htmlspecialchars( $this->data['nav_urls']['whatlinkshere']['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( 't-whatlinkshere' ) ?>><?php $this->msg( 'whatlinkshere' ) ?></a></li> |
598 | | - <?php if( $this->data['nav_urls']['recentchangeslinked'] ): ?> |
599 | | - <li id="t-recentchangeslinked"><a href="<?php echo htmlspecialchars( $this->data['nav_urls']['recentchangeslinked']['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( 't-recentchangeslinked' ) ?>><?php $this->msg( 'recentchangeslinked-toolbox' ) ?></a></li> |
600 | | - <?php endif; ?> |
601 | | - <?php endif; ?> |
602 | | - <?php if( isset( $this->data['nav_urls']['trackbacklink'] ) ): ?> |
603 | | - <li id="t-trackbacklink"><a href="<?php echo htmlspecialchars( $this->data['nav_urls']['trackbacklink']['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( 't-trackbacklink' ) ?>><?php $this->msg( 'trackbacklink' ) ?></a></li> |
604 | | - <?php endif; ?> |
605 | | - <?php if( $this->data['feeds']): ?> |
606 | | - <li id="feedlinks"> |
607 | | - <?php foreach( $this->data['feeds'] as $key => $feed ): ?> |
608 | | - <a id="<?php echo Sanitizer::escapeId( "feed-$key" ) ?>" href="<?php echo htmlspecialchars( $feed['href'] ) ?>" rel="alternate" type="application/<?php echo $key ?>+xml" class="feedlink"<?php echo $this->skin->tooltipAndAccesskey( 'feed-' . $key ) ?>><?php echo htmlspecialchars( $feed['text'] ) ?></a> |
609 | | - <?php endforeach; ?> |
610 | | - </li> |
611 | | - <?php endif; ?> |
612 | | - <?php foreach( array( 'contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages' ) as $special ): ?> |
613 | | - <?php if( $this->data['nav_urls'][$special]): ?> |
614 | | - <li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars( $this->data['nav_urls'][$special]['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( 't-' . $special ) ?>><?php $this->msg( $special ) ?></a></li> |
615 | | - <?php endif; ?> |
616 | | - <?php endforeach; ?> |
617 | | - <?php if( !empty( $this->data['nav_urls']['print']['href'] ) ): ?> |
618 | | - <li id="t-print"><a href="<?php echo htmlspecialchars( $this->data['nav_urls']['print']['href'] ) ?>" rel="alternate"<?php echo $this->skin->tooltipAndAccesskey( 't-print' ) ?>><?php $this->msg( 'printableversion' ) ?></a></li> |
619 | | - <?php endif; ?> |
620 | | - <?php if ( !empty( $this->data['nav_urls']['permalink']['href'] ) ): ?> |
621 | | - <li id="t-permalink"><a href="<?php echo htmlspecialchars( $this->data['nav_urls']['permalink']['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( 't-permalink' ) ?>><?php $this->msg( 'permalink' ) ?></a></li> |
622 | | - <?php elseif ( $this->data['nav_urls']['permalink']['href'] === '' ): ?> |
623 | | - <li id="t-ispermalink"<?php echo $this->skin->tooltip( 't-ispermalink' ) ?>><?php $this->msg( 'permalink' ) ?></li> |
624 | | - <?php endif; ?> |
625 | | - <?php wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) ); ?> |
| 596 | +<?php |
| 597 | + foreach ( $this->getToolbox() as $key => $tbitem ): ?> |
| 598 | + <?php echo $this->makeListItem($key, $tbitem); ?> |
| 599 | + |
| 600 | +<?php |
| 601 | + endforeach; |
| 602 | + wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) ); ?> |
626 | 603 | </ul> |
627 | 604 | </div> |
628 | 605 | </div> |
— | — | @@ -634,8 +611,9 @@ |
635 | 612 | <h5<?php $this->html('userlangattributes') ?>><?php $this->msg( 'otherlanguages' ) ?></h5> |
636 | 613 | <div class="body"> |
637 | 614 | <ul> |
638 | | - <?php foreach ( $this->data['language_urls'] as $langlink ): ?> |
639 | | - <li class="<?php echo htmlspecialchars( $langlink['class'] ) ?>"><a href="<?php echo htmlspecialchars( $langlink['href'] ) ?>" title="<?php echo htmlspecialchars( $langlink['title'] ) ?>"><?php echo $langlink['text'] ?></a></li> |
| 615 | + <?php foreach ( $this->data['language_urls'] as $key => $langlink ): ?> |
| 616 | + <?php echo $this->makeListItem($key, $langlink); ?> |
| 617 | + |
640 | 618 | <?php endforeach; ?> |
641 | 619 | </ul> |
642 | 620 | </div> |
— | — | @@ -650,8 +628,9 @@ |
651 | 629 | <div class="body"> |
652 | 630 | <?php if ( is_array( $content ) ): ?> |
653 | 631 | <ul> |
654 | | - <?php foreach( $content as $val ): ?> |
655 | | - <li id="<?php echo Sanitizer::escapeId( $val['id'] ) ?>"<?php if ( $val['active'] ): ?> class="active" <?php endif; ?>><a href="<?php echo htmlspecialchars( $val['href'] ) ?>"<?php echo $this->skin->tooltipAndAccesskey( $val['id'] ) ?>><?php echo htmlspecialchars( $val['text'] ) ?></a></li> |
| 632 | + <?php foreach( $content as $key => $val ): ?> |
| 633 | + <?php echo $this->makeListItem($key, $val); ?> |
| 634 | + |
656 | 635 | <?php endforeach; ?> |
657 | 636 | </ul> |
658 | 637 | <?php else: ?> |
Index: trunk/phase3/skins/MonoBook.php |
— | — | @@ -51,7 +51,7 @@ |
52 | 52 | * @todo document |
53 | 53 | * @ingroup Skins |
54 | 54 | */ |
55 | | -class MonoBookTemplate extends QuickTemplate { |
| 55 | +class MonoBookTemplate extends BaseTemplate { |
56 | 56 | var $skin; |
57 | 57 | /** |
58 | 58 | * Template filter callback for MonoBook skin. |
— | — | @@ -269,49 +269,11 @@ |
270 | 270 | <div class="pBody"> |
271 | 271 | <ul> |
272 | 272 | <?php |
273 | | - if($this->data['notspecialpage']) { ?> |
274 | | - <li id="t-whatlinkshere"><a href="<?php |
275 | | - echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href']) |
276 | | - ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li> |
| 273 | + foreach ( $this->getToolbox() as $key => $tbitem ) { ?> |
| 274 | + <?php echo $this->makeListItem($key, $tbitem); ?> |
| 275 | + |
277 | 276 | <?php |
278 | | - if( $this->data['nav_urls']['recentchangeslinked'] ) { ?> |
279 | | - <li id="t-recentchangeslinked"><a href="<?php |
280 | | - echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href']) |
281 | | - ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked-toolbox') ?></a></li> |
282 | | -<?php } |
283 | 277 | } |
284 | | - if( isset( $this->data['nav_urls']['trackbacklink'] ) && $this->data['nav_urls']['trackbacklink'] ) { ?> |
285 | | - <li id="t-trackbacklink"><a href="<?php |
286 | | - echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href']) |
287 | | - ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li> |
288 | | -<?php } |
289 | | - if($this->data['feeds']) { ?> |
290 | | - <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) { |
291 | | - ?><a id="<?php echo Sanitizer::escapeId( "feed-$key" ) ?>" href="<?php |
292 | | - echo htmlspecialchars($feed['href']) ?>" rel="alternate" type="application/<?php echo $key ?>+xml" class="feedlink"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>  |
293 | | - <?php } ?></li><?php |
294 | | - } |
295 | | - |
296 | | - foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) { |
297 | | - |
298 | | - if($this->data['nav_urls'][$special]) { |
299 | | - ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href']) |
300 | | - ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li> |
301 | | -<?php } |
302 | | - } |
303 | | - |
304 | | - if(!empty($this->data['nav_urls']['print']['href'])) { ?> |
305 | | - <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href']) |
306 | | - ?>" rel="alternate"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php |
307 | | - } |
308 | | - |
309 | | - if(!empty($this->data['nav_urls']['permalink']['href'])) { ?> |
310 | | - <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href']) |
311 | | - ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php |
312 | | - } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?> |
313 | | - <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php |
314 | | - } |
315 | | - |
316 | 278 | wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); |
317 | 279 | wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) ); |
318 | 280 | ?> |
— | — | @@ -329,10 +291,9 @@ |
330 | 292 | <h5<?php $this->html('userlangattributes') ?>><?php $this->msg('otherlanguages') ?></h5> |
331 | 293 | <div class="pBody"> |
332 | 294 | <ul> |
333 | | -<?php foreach($this->data['language_urls'] as $langlink) { ?> |
334 | | - <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php |
335 | | - ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>" title="<?php |
336 | | - echo htmlspecialchars($langlink['title']) ?>"><?php echo $langlink['text'] ?></a></li> |
| 295 | +<?php foreach($this->data['language_urls'] as $key => $langlink) { ?> |
| 296 | + <?php echo $this->makeListItem($key, $langlink); ?> |
| 297 | + |
337 | 298 | <?php } ?> |
338 | 299 | </ul> |
339 | 300 | </div> |
— | — | @@ -349,10 +310,9 @@ |
350 | 311 | <div class='pBody'> |
351 | 312 | <?php if ( is_array( $cont ) ) { ?> |
352 | 313 | <ul> |
353 | | -<?php foreach($cont as $val) { ?> |
354 | | - <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php |
355 | | - if ( $val['active'] ) { ?> class="active" <?php } |
356 | | - ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li> |
| 314 | +<?php foreach($cont as $key => $val) { ?> |
| 315 | + <?php echo $this->makeListItem($key, $val); ?> |
| 316 | + |
357 | 317 | <?php } ?> |
358 | 318 | </ul> |
359 | 319 | <?php } else { |
Index: trunk/phase3/docs/hooks.txt |
— | — | @@ -1165,6 +1165,15 @@ |
1166 | 1166 | "SkinTemplate"-type skins. |
1167 | 1167 | $tools: array of tools |
1168 | 1168 | |
| 1169 | +'BaseTemplateToolbox': Called by BaseTemplate when building the $toolbox array |
| 1170 | +and returning it for the skin to output. You can add items to the toolbox while |
| 1171 | +still letting the skin make final decisions on skin-specific markup conventions |
| 1172 | +using this hook. |
| 1173 | +&$sk: The BaseTemplate base skin template |
| 1174 | +&$toolbox: An array of toolbox items, see BaseTemplate::getToolbox and |
| 1175 | + BaseTemplate::makeListItem for details on the format of individual |
| 1176 | + items inside of this array |
| 1177 | + |
1169 | 1178 | 'NewRevisionFromEditComplete': called when a revision was inserted |
1170 | 1179 | due to an edit |
1171 | 1180 | $article: the article edited |
Index: trunk/phase3/includes/SkinTemplate.php |
— | — | @@ -1183,3 +1183,178 @@ |
1184 | 1184 | return ( $msg != '-' ) && ( $msg != '' ); # ???? |
1185 | 1185 | } |
1186 | 1186 | } |
| 1187 | + |
| 1188 | +/** |
| 1189 | + * New base template for a skin's template extended from QuickTemplate |
| 1190 | + * this class features helper methods that provide common ways of interacting |
| 1191 | + * with the data stored in the QuickTemplate |
| 1192 | + */ |
| 1193 | +abstract class BaseTemplate extends QuickTemplate { |
| 1194 | + |
| 1195 | + /** |
| 1196 | + * Create an array of common toolbox items from the data in the quicktemplate |
| 1197 | + * stored by SkinTemplate. |
| 1198 | + * The resulting array is built acording to a format intended to be passed |
| 1199 | + * through makeListItem to generate the html. |
| 1200 | + */ |
| 1201 | + function getToolbox() { |
| 1202 | + wfProfileIn( __METHOD__ ); |
| 1203 | + |
| 1204 | + $toolbox = array(); |
| 1205 | + if ( $this->data['notspecialpage'] ) { |
| 1206 | + $toolbox["whatlinkshere"] = $this->data['nav_urls']['whatlinkshere']; |
| 1207 | + $toolbox["whatlinkshere"]["id"] = "t-whatlinkshere"; |
| 1208 | + if ( $this->data['nav_urls']['recentchangeslinked'] ) { |
| 1209 | + $toolbox["recentchangeslinked"] = $this->data['nav_urls']['recentchangeslinked']; |
| 1210 | + $toolbox["recentchangeslinked"]["msg"] = "recentchangeslinked-toolbox"; |
| 1211 | + $toolbox["recentchangeslinked"]["id"] = "t-recentchangeslinked"; |
| 1212 | + } |
| 1213 | + } |
| 1214 | + if( isset( $this->data['nav_urls']['trackbacklink'] ) && $this->data['nav_urls']['trackbacklink'] ) { |
| 1215 | + $toolbox["trackbacklink"] = $this->data['nav_urls']['trackbacklink']; |
| 1216 | + $toolbox["trackbacklink"]["id"] = "t-trackbacklink"; |
| 1217 | + } |
| 1218 | + if ( $this->data['feeds'] ) { |
| 1219 | + $toolbox["feeds"]["id"] = "feedlinks"; |
| 1220 | + $toolbox["feeds"]["links"] = array(); |
| 1221 | + foreach ( $this->data['feeds'] as $key => $feed ) { |
| 1222 | + $toolbox["feeds"]["links"][$key] = $feed; |
| 1223 | + $toolbox["feeds"]["links"][$key]["id"] = "feed-$key"; |
| 1224 | + $toolbox["feeds"]["links"][$key]["rel"] = "alternate"; |
| 1225 | + $toolbox["feeds"]["links"][$key]["type"] = "application/{$key}+xml"; |
| 1226 | + $toolbox["feeds"]["links"][$key]["class"] = "feedlink"; |
| 1227 | + } |
| 1228 | + } |
| 1229 | + foreach ( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) { |
| 1230 | + if ( $this->data['nav_urls'][$special] ) { |
| 1231 | + $toolbox[$special] = $this->data['nav_urls'][$special]; |
| 1232 | + $toolbox[$special]["id"] = "t-$special"; |
| 1233 | + } |
| 1234 | + } |
| 1235 | + if ( !empty( $this->data['nav_urls']['print']['href'] ) ) { |
| 1236 | + $toolbox["print"] = $this->data['nav_urls']['print']; |
| 1237 | + $toolbox["print"]["rel"] = "alternate"; |
| 1238 | + $toolbox["print"]["msg"] = "printableversion"; |
| 1239 | + } |
| 1240 | + if ( !empty( $this->data['nav_urls']['permalink']['href'] ) ) { |
| 1241 | + $toolbox["permalink"] = $this->data['nav_urls']['permalink']; |
| 1242 | + $toolbox["permalink"]["id"] = "t-permalink"; |
| 1243 | + } elseif ( $this->data['nav_urls']['permalink']['href'] === '' ) { |
| 1244 | + $toolbox["permalink"] = $this->data['nav_urls']['permalink']; |
| 1245 | + unset( $toolbox["permalink"]["href"] ); |
| 1246 | + $toolbox["ispermalink"]["tooltiponly"] = true; |
| 1247 | + $toolbox["ispermalink"]["id"] = "t-ispermalink"; |
| 1248 | + $toolbox["ispermalink"]["msg"] = "permalink"; |
| 1249 | + } |
| 1250 | + wfRunHooks( 'BaseTemplateToolbox', array( &$this, &$toolbox ) ); |
| 1251 | + wfProfileOut( __METHOD__ ); |
| 1252 | + return $toolbox; |
| 1253 | + } |
| 1254 | + |
| 1255 | + /** |
| 1256 | + * Makes a link, usually used by makeListItem to generate a link for an item |
| 1257 | + * in a list used in navigation lists, portlets, portals, sidebars, etc... |
| 1258 | + * |
| 1259 | + * $key is a string, usually a key from the list you are generating this link from |
| 1260 | + * $item is an array containing some of a specific set of keys. |
| 1261 | + * The text of the link will be generated either from the contents of the "text" |
| 1262 | + * key in the $item array, if a "msg" key is present a message by that name will |
| 1263 | + * be used, and if neither of those are set the $key will be used as a message name. |
| 1264 | + * If a "href" key is not present makeLink will just output htmlescaped text. |
| 1265 | + * The href, id, class, rel, and type keys are used as attributes for the link if present. |
| 1266 | + * If an "id" or "single-id" (if you don't want the actual id to be output on the link) |
| 1267 | + * is present it will be used to generate a tooltip and accesskey for the link. |
| 1268 | + * If you don't want an accesskey set $item["tooltiponly"] = true; |
| 1269 | + */ |
| 1270 | + function makeLink($key, $item) { |
| 1271 | + if ( isset($item["text"]) ) { |
| 1272 | + $text = $item["text"]; |
| 1273 | + } else { |
| 1274 | + $text = $this->translator->translate( isset($item["msg"]) ? $item["msg"] : $key ); |
| 1275 | + } |
| 1276 | + |
| 1277 | + if ( !isset($item["href"]) ) { |
| 1278 | + return htmlspecialchars($text); |
| 1279 | + } |
| 1280 | + |
| 1281 | + $attrs = array(); |
| 1282 | + foreach ( array("href", "id", "class", "rel", "type") as $attr ) { |
| 1283 | + if ( isset($item[$attr]) ) { |
| 1284 | + $attrs[$attr] = $item[$attr]; |
| 1285 | + } |
| 1286 | + } |
| 1287 | + |
| 1288 | + if ( isset($item["id"]) ) { |
| 1289 | + $item["single-id"] = $item["id"]; |
| 1290 | + } |
| 1291 | + if ( isset($item["single-id"]) ) { |
| 1292 | + if ( isset($item["tooltiponly"]) && $item["tooltiponly"] ) { |
| 1293 | + $attrs["title"] = $this->skin->titleAttrib($item["single-id"]); |
| 1294 | + if ( $attrs["title"] === false ) { |
| 1295 | + unset($attrs["title"]); |
| 1296 | + } |
| 1297 | + } else { |
| 1298 | + $attrs = array_merge($attrs, $this->skin->tooltipAndAccesskeyAttribs($item["single-id"])); |
| 1299 | + } |
| 1300 | + } |
| 1301 | + |
| 1302 | + return Html::element( "a", $attrs, $text ); |
| 1303 | + } |
| 1304 | + |
| 1305 | + /** |
| 1306 | + * Generates a list item for a navigation, portlet, portal, sidebar... etc list |
| 1307 | + * $key is a string, usually a key from the list you are generating this link from |
| 1308 | + * $item is an array of list item data containing some of a specific set of keys. |
| 1309 | + * The "id" and "class" keys will be used as attributes for the list item, |
| 1310 | + * if "active" contains a value of true a "active" class will also be appended to class. |
| 1311 | + * If you want something other than a <li> you can pass a tag name such as |
| 1312 | + * "tag" => "span" in the $options array to change the tag used. |
| 1313 | + * link/content data for the list item may come in one of two forms |
| 1314 | + * A "links" key may be used, in which case it should contain an array with |
| 1315 | + * a list of links to include inside the list item, see makeLink for the format |
| 1316 | + * of individual links array items. |
| 1317 | + * Otherwise the relevant keys from the list item $item array will be passed |
| 1318 | + * to makeLink instead. Note however that "id" and "class" are used by the |
| 1319 | + * list item directly so they will not be passed to makeLink |
| 1320 | + * (however the link will still support a tooltip and accesskey from it) |
| 1321 | + * If you need an id or class on a single link you should include a "links" |
| 1322 | + * array with just one link item inside of it. |
| 1323 | + */ |
| 1324 | + function makeListItem($key, $item, $options = array()) { |
| 1325 | + if ( isset($item["links"]) ) { |
| 1326 | + $html = ''; |
| 1327 | + foreach ( $item["links"] as $linkKey => $link ) { |
| 1328 | + $html .= $this->makeLink($linkKey, $link); |
| 1329 | + } |
| 1330 | + } else { |
| 1331 | + $link = array(); |
| 1332 | + foreach ( array("text", "msg", "href", "rel", "type", "tooltiponly") as $k ) { |
| 1333 | + if ( isset($item[$k]) ) { |
| 1334 | + $link[$k] = $item[$k]; |
| 1335 | + } |
| 1336 | + } |
| 1337 | + if ( isset($item["id"]) ) { |
| 1338 | + // The id goes on the <li> not on the <a> for single links |
| 1339 | + // but makeSidebarLink still needs to know what id to use when |
| 1340 | + // generating tooltips and accesskeys. |
| 1341 | + $link["single-id"] = $item["id"]; |
| 1342 | + } |
| 1343 | + $html = $this->makeLink($key, $link); |
| 1344 | + } |
| 1345 | + |
| 1346 | + $attrs = array(); |
| 1347 | + foreach ( array("id", "class") as $attr ) { |
| 1348 | + if ( isset($item[$attr]) ) { |
| 1349 | + $attrs[$attr] = $item[$attr]; |
| 1350 | + } |
| 1351 | + } |
| 1352 | + if ( isset($item["active"]) && $item["active"] ) { |
| 1353 | + $attrs["class"] .= " active"; |
| 1354 | + $attrs["class"] = trim($attrs["class"]); |
| 1355 | + } |
| 1356 | + return Html::rawElement( isset($options["tag"]) ? $options["tag"] : "li", $attrs, $html ); |
| 1357 | + } |
| 1358 | + |
| 1359 | + |
| 1360 | +} |
| 1361 | + |