From 9e70a05c318fd5174b2cab9c0ad09f8a30ef3fb8 Mon Sep 17 00:00:00 2001 From: River Tarnell Date: Fri, 29 Jul 2005 06:36:09 +0000 Subject: [PATCH] add namespace filter --- includes/SpecialContributions.php | 62 ++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/includes/SpecialContributions.php b/includes/SpecialContributions.php index 484714fde4..ea66479e5a 100644 --- a/includes/SpecialContributions.php +++ b/includes/SpecialContributions.php @@ -152,7 +152,8 @@ class contribs_finder { * @param string $par (optional) user name of the user for which to show the contributions */ function wfSpecialContributions( $par = null ) { - global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgTitle; + global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgTitle, + $wgScript; $fname = 'wfSpecialContributions'; $target = isset($par) ? $par : $wgRequest->getVal( 'target' ); @@ -183,19 +184,23 @@ function wfSpecialContributions( $par = null ) { $finder->set_limit($limit); $finder->set_offset($offset); - if (($ns = $wgRequest->getVal('namespace', null)) !== null) + $nsurl = $xnsurl = ""; + if (($ns = $wgRequest->getVal('namespace', null)) !== null) { + $nsurl = "&namespace=$ns"; + $xnsurl = htmlspecialchars($nsurl); $finder->set_namespace($ns); + } if ($wgRequest->getText('go') == "prev") { $prevts = $finder->get_previous_offset_for_paging(); - $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit"); + $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl"); $wgOut->redirect($prevurl); return; } if ($wgRequest->getText('go') == "first") { $prevts = $finder->get_first_offset_for_paging(); - $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit"); + $prevurl = $title->getLocalURL($urlbits . "&offset=$prevts&limit=$limit$nsurl"); $wgOut->redirect($prevurl); return; } @@ -221,6 +226,45 @@ function wfSpecialContributions( $par = null ) { $wgOut->setSubtitle( wfMsgHtml( 'contribsub', $ul ) ); + $arr = $wgContLang->getFormattedNamespaces(); + $nsform = "
\n"; + $nsform .= wfElement("input", array( + "name" => "title", + "type" => "hidden", + "value" => $wgTitle->getPrefixedText())); + $nsform .= wfElement("input", array( + "name" => "offset", + "type" => "hidden", + "value" => $offset)); + $nsform .= wfElement("input", array( + "name" => "limit", + "type" => "hidden", + "value" => $limit)); + $nsform .= wfElement("input", array( + "name" => "target", + "type" => "hidden", + "value" => $target)); + $nsform .= "

"; + $nsform .= htmlspecialchars(wfMsg('namespace')) . " \n"; + $nsform .= wfElement("input", array( + "type" => "submit", + "value" => wfMsg('allpagessubmit'))); + $nsform .= "

\n"; + + $wgOut->addHTML($nsform); + $contribsPage = Title::makeTitle( NS_SPECIAL, 'Contributions' ); $contribs = $finder->find(); @@ -244,8 +288,8 @@ function wfSpecialContributions( $par = null ) { $lastlink = $lasttext; $prevlink = $prevtext; } else { - $lastlink = "$lasttext"; - $prevlink = "$prevtext"; + $lastlink = "$lasttext"; + $prevlink = "$prevtext"; } $nexttext = wfMsg("nextn", $limit); @@ -253,14 +297,14 @@ function wfSpecialContributions( $par = null ) { $firstlink = $firsttext; $nextlink = $nexttext; } else { - $firstlink = "$firsttext"; - $nextlink = "$nexttext"; + $firstlink = "$firsttext"; + $nextlink = "$nexttext"; } $firstlast = "($lastlink | $firstlink)"; $urls = array(); foreach (array(20, 50, 100, 250, 500) as $num) - $urls[] = "".$wgLang->formatNum($num).""; + $urls[] = "".$wgLang->formatNum($num).""; $bits = implode($urls, ' | '); $prevnextbits = "$firstlast " . wfMsgHtml("viewprevnext", $prevlink, $nextlink, $bits); -- 2.20.1