summaryrefslogtreecommitdiff
path: root/includes/specials/SpecialProtectedtitles.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/specials/SpecialProtectedtitles.php')
-rw-r--r--includes/specials/SpecialProtectedtitles.php71
1 files changed, 41 insertions, 30 deletions
diff --git a/includes/specials/SpecialProtectedtitles.php b/includes/specials/SpecialProtectedtitles.php
index d65b3f79..5b18d87f 100644
--- a/includes/specials/SpecialProtectedtitles.php
+++ b/includes/specials/SpecialProtectedtitles.php
@@ -1,24 +1,45 @@
<?php
/**
+ * Implements Special:Protectedtitles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup SpecialPage
*/
/**
- * @todo document
+ * A special page that list protected titles from creation
+ *
* @ingroup SpecialPage
*/
-class ProtectedTitlesForm {
+class SpecialProtectedtitles extends SpecialPage {
protected $IdLevel = 'level';
protected $IdType = 'type';
- function showList( $msg = '' ) {
+ public function __construct() {
+ parent::__construct( 'Protectedtitles' );
+ }
+
+ function execute( $par ) {
global $wgOut, $wgRequest;
- if ( $msg != "" ) {
- $wgOut->setSubtitle( $msg );
- }
+ $this->setHeaders();
+ $this->outputHeader();
// Purge expired entries on one in every 10 queries
if ( !mt_rand( 0, 10 ) ) {
@@ -33,7 +54,7 @@ class ProtectedTitlesForm {
$pager = new ProtectedTitlesPager( $this, array(), $type, $level, $NS, $sizetype, $size );
- $wgOut->addHTML( $this->showOptions( $NS, $type, $level, $sizetype, $size ) );
+ $wgOut->addHTML( $this->showOptions( $NS, $type, $level ) );
if ( $pager->getNumRows() ) {
$s = $pager->getNavigationBar();
@@ -51,7 +72,7 @@ class ProtectedTitlesForm {
* Callback function to output a restriction
*/
function formatRow( $row ) {
- global $wgUser, $wgLang, $wgContLang;
+ global $wgUser, $wgLang;
wfProfileIn( __METHOD__ );
@@ -69,7 +90,7 @@ class ProtectedTitlesForm {
$description_items[] = $protType;
- $expiry_description = ''; $stxt = '';
+ $stxt = '';
if ( $row->pt_expiry != 'infinity' && strlen($row->pt_expiry) ) {
$expiry = Block::decodeExpiry( $row->pt_expiry );
@@ -85,13 +106,12 @@ class ProtectedTitlesForm {
}
/**
- * @param $namespace int
+ * @param $namespace Integer:
* @param $type string
* @param $level string
- * @param $minsize int
* @private
*/
- function showOptions( $namespace, $type='edit', $level, $sizetype, $size ) {
+ function showOptions( $namespace, $type='edit', $level ) {
global $wgScript;
$action = htmlspecialchars( $wgScript );
$title = SpecialPage::getTitleFor( 'Protectedtitles' );
@@ -99,10 +119,10 @@ class ProtectedTitlesForm {
return "<form action=\"$action\" method=\"get\">\n" .
'<fieldset>' .
Xml::element( 'legend', array(), wfMsg( 'protectedtitles' ) ) .
- Xml::hidden( 'title', $special ) . "&nbsp;\n" .
- $this->getNamespaceMenu( $namespace ) . "&nbsp;\n" .
- $this->getLevelMenu( $level ) . "&nbsp;\n" .
- "&nbsp;" . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . "\n" .
+ Html::hidden( 'title', $special ) . "&#160;\n" .
+ $this->getNamespaceMenu( $namespace ) . "&#160;\n" .
+ $this->getLevelMenu( $level ) . "&#160;\n" .
+ "&#160;" . Xml::submitButton( wfMsg( 'allpagessubmit' ) ) . "\n" .
"</fieldset></form>";
}
@@ -110,12 +130,12 @@ class ProtectedTitlesForm {
* Prepare the namespace filter drop-down; standard namespace
* selector, sans the MediaWiki namespace
*
- * @param mixed $namespace Pre-select namespace
+ * @param $namespace Mixed: pre-select namespace
* @return string
*/
function getNamespaceMenu( $namespace = null ) {
return Xml::label( wfMsg( 'namespace' ), 'namespace' )
- . '&nbsp;'
+ . '&#160;'
. Xml::namespaceSelector( $namespace, '' );
}
@@ -147,7 +167,7 @@ class ProtectedTitlesForm {
}
return
- Xml::label( wfMsg('restriction-level') , $this->IdLevel ) . '&nbsp;' .
+ Xml::label( wfMsg('restriction-level') , $this->IdLevel ) . '&#160;' .
Xml::tags( 'select',
array( 'id' => $this->IdLevel, 'name' => $this->IdLevel ),
implode( "\n", $options ) );
@@ -158,7 +178,7 @@ class ProtectedTitlesForm {
* @todo document
* @ingroup Pager
*/
-class ProtectedtitlesPager extends AlphabeticPager {
+class ProtectedTitlesPager extends AlphabeticPager {
public $mForm, $mConds;
function __construct( $form, $conds = array(), $type, $level, $namespace, $sizetype='', $size=0 ) {
@@ -176,7 +196,7 @@ class ProtectedtitlesPager extends AlphabeticPager {
$this->mResult->seek( 0 );
$lb = new LinkBatch;
- while ( $row = $this->mResult->fetchObject() ) {
+ foreach ( $this->mResult as $row ) {
$lb->add( $row->pt_namespace, $row->pt_title );
}
@@ -208,12 +228,3 @@ class ProtectedtitlesPager extends AlphabeticPager {
}
}
-/**
- * Constructor
- */
-function wfSpecialProtectedtitles() {
-
- $ppForm = new ProtectedTitlesForm();
-
- $ppForm->showList();
-}