From 086ae52d12011746a75f5588e877347bc0457352 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 21 Mar 2008 11:49:34 +0100 Subject: Update auf MediaWiki 1.12.0 --- includes/SpecialWithoutinterwiki.php | 41 ++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'includes/SpecialWithoutinterwiki.php') diff --git a/includes/SpecialWithoutinterwiki.php b/includes/SpecialWithoutinterwiki.php index 33464586..37d9a282 100644 --- a/includes/SpecialWithoutinterwiki.php +++ b/includes/SpecialWithoutinterwiki.php @@ -8,13 +8,41 @@ * @author Rob Church */ class WithoutInterwikiPage extends PageQueryPage { + private $prefix = ''; function getName() { return 'Withoutinterwiki'; } function getPageHeader() { - return '

' . wfMsgExt( 'withoutinterwiki-header', array( 'parseinline' ) ) . '

'; + global $wgScript, $wgContLang; + $prefix = $this->prefix; + $t = SpecialPage::getTitleFor( $this->getName() ); + $align = $wgContLang->isRtl() ? 'left' : 'right'; + + $s = '

' . wfMsgExt( 'withoutinterwiki-header', array( 'parseinline' ) ) . '

'; + $s .= Xml::openElement( 'div', array( 'class' => 'namespaceoptions' ) ); + $s .= Xml::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript ) ); + $s .= Xml::hidden( 'title', $t->getPrefixedText() ); + $s .= Xml::openElement( 'table', array( 'id' => 'nsselect', 'class' => 'withoutinterwiki' ) ); + $s .= " + " . + Xml::label( wfMsg( 'allpagesprefix' ), 'wiprefix' ) . + " + " . + Xml::input( 'prefix', 20, htmlspecialchars ( $prefix ), array( 'id' => 'wiprefix' ) ) . + " + + + + " . + Xml::submitButton( wfMsgHtml( 'withoutinterwiki-submit' ) ) . + " + "; + $s .= Xml::closeElement( 'table' ); + $s .= Xml::closeElement( 'form' ); + $s .= Xml::closeElement( 'div' ); + return $s; } function sortDescending() { @@ -32,6 +60,7 @@ class WithoutInterwikiPage extends PageQueryPage { function getSQL() { $dbr = wfGetDB( DB_SLAVE ); list( $page, $langlinks ) = $dbr->tableNamesN( 'page', 'langlinks' ); + $prefix = $this->prefix ? "AND page_title LIKE '" . $dbr->escapeLike( $this->prefix ) . "%'" : ''; return "SELECT 'Withoutinterwiki' AS type, page_namespace AS namespace, @@ -42,14 +71,22 @@ class WithoutInterwikiPage extends PageQueryPage { ON ll_from = page_id WHERE ll_title IS NULL AND page_namespace=" . NS_MAIN . " - AND page_is_redirect = 0"; + AND page_is_redirect = 0 + {$prefix}"; + } + + function setPrefix( $prefix = '' ) { + $this->prefix = $prefix; } } function wfSpecialWithoutinterwiki() { + global $wgRequest; list( $limit, $offset ) = wfCheckLimits(); + $prefix = $wgRequest->getVal( 'prefix' ); $wip = new WithoutInterwikiPage(); + $wip->setPrefix( $prefix ); $wip->doQuery( $offset, $limit ); } -- cgit v1.2.3-54-g00ecf