From ca32f08966f1b51fcb19460f0996bb0c4048e6fe Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 13:29:22 +0100 Subject: Update to MediaWiki 1.18.0 * also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing --- includes/specials/SpecialSpecialpages.php | 44 ++++++++++++++++++------------- 1 file changed, 26 insertions(+), 18 deletions(-) (limited to 'includes/specials/SpecialSpecialpages.php') diff --git a/includes/specials/SpecialSpecialpages.php b/includes/specials/SpecialSpecialpages.php index 19bc6b00..13bc4c2b 100644 --- a/includes/specials/SpecialSpecialpages.php +++ b/includes/specials/SpecialSpecialpages.php @@ -33,10 +33,11 @@ class SpecialSpecialpages extends UnlistedSpecialPage { } function execute( $par ) { - global $wgOut; + $out = $this->getOutput(); $this->setHeaders(); $this->outputHeader(); - $wgOut->allowClickjacking(); + $out->allowClickjacking(); + $out->addModuleStyles( 'mediawiki.special' ); $groups = $this->getPageGroups(); @@ -50,7 +51,7 @@ class SpecialSpecialpages extends UnlistedSpecialPage { private function getPageGroups() { global $wgSortSpecialPages; - $pages = SpecialPage::getUsablePages(); + $pages = SpecialPageFactory::getUsablePages(); if( !count( $pages ) ) { # Yeah, that was pointless. Thanks for coming. @@ -61,11 +62,11 @@ class SpecialSpecialpages extends UnlistedSpecialPage { $groups = array(); foreach ( $pages as $page ) { if ( $page->isListed() ) { - $group = SpecialPage::getGroup( $page ); + $group = SpecialPageFactory::getGroup( $page ); if( !isset( $groups[$group] ) ) { $groups[$group] = array(); } - $groups[$group][$page->getDescription()] = array( $page->getTitle(), $page->isRestricted() ); + $groups[$group][$page->getDescription()] = array( $page->getTitle(), $page->isRestricted(), $page->isExpensive() ); } } @@ -87,52 +88,59 @@ class SpecialSpecialpages extends UnlistedSpecialPage { } private function outputPageList( $groups ) { - global $wgUser, $wgOut; + global $wgMiserMode; + $out = $this->getOutput(); - $sk = $wgUser->getSkin(); $includesRestrictedPages = false; + $includesCachedPages = false; foreach ( $groups as $group => $sortedPages ) { $middle = ceil( count( $sortedPages )/2 ); $total = count( $sortedPages ); $count = 0; - $wgOut->wrapWikiMsg( "

$1

\n", "specialpages-group-$group" ); - $wgOut->addHTML( + $out->wrapWikiMsg( "

$1

\n", "specialpages-group-$group" ); + $out->addHTML( Html::openElement( 'table', array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' ) ) ."\n" . Html::openElement( 'tr' ) . "\n" . Html::openElement( 'td', array( 'style' => 'width:30%;vertical-align:top' ) ) . "\n" . Html::openElement( 'ul' ) . "\n" ); foreach( $sortedPages as $desc => $specialpage ) { - list( $title, $restricted ) = $specialpage; - $link = $sk->linkKnown( $title , htmlspecialchars( $desc ) ); + list( $title, $restricted, $expensive) = $specialpage; + + $pageClasses = array(); + if ( $expensive && $wgMiserMode ){ + $includesCachedPages = true; + $pageClasses[] = 'mw-specialpagecached'; + } if( $restricted ) { $includesRestrictedPages = true; - $wgOut->addHTML( Html::rawElement( 'li', array( 'class' => 'mw-specialpages-page mw-specialpagerestricted' ), Html::rawElement( 'strong', array(), $link ) ) . "\n" ); - } else { - $wgOut->addHTML( Html::rawElement( 'li', array(), $link ) . "\n" ); + $pageClasses[] = 'mw-specialpagerestricted'; } + $link = Linker::linkKnown( $title , htmlspecialchars( $desc ) ); + $out->addHTML( Html::rawElement( 'li', array( 'class' => implode( ' ', $pageClasses ) ), $link ) . "\n" ); + # Split up the larger groups $count++; if( $total > 3 && $count == $middle ) { - $wgOut->addHTML( + $out->addHTML( Html::closeElement( 'ul' ) . Html::closeElement( 'td' ) . Html::element( 'td', array( 'style' => 'width:10%' ), '' ) . Html::openElement( 'td', array( 'style' => 'width:30%' ) ) . Html::openElement( 'ul' ) . "\n" ); } } - $wgOut->addHTML( + $out->addHTML( Html::closeElement( 'ul' ) . Html::closeElement( 'td' ) . Html::element( 'td', array( 'style' => 'width:30%' ), '' ) . Html::closeElement( 'tr' ) . Html::closeElement( 'table' ) . "\n" ); } - if ( $includesRestrictedPages ) { - $wgOut->wrapWikiMsg( "
\n$1\n
", 'specialpages-note' ); + if ( $includesRestrictedPages || $includesCachedPages ) { + $out->wrapWikiMsg( "
\n$1\n
", 'specialpages-note' ); } } } -- cgit v1.2.3-54-g00ecf