Merge "build: Ignore phpcs in /skins but not /includes/skins"
[lhc/web/wiklou.git] / includes / specials / SpecialProtectedtitles.php
index d25c2c8..5df425a 100644 (file)
@@ -38,11 +38,6 @@ class SpecialProtectedtitles extends SpecialPage {
                $this->setHeaders();
                $this->outputHeader();
 
-               // Purge expired entries on one in every 10 queries
-               if ( !mt_rand( 0, 10 ) ) {
-                       Title::purgeExpiredRestrictions();
-               }
-
                $request = $this->getRequest();
                $type = $request->getVal( $this->IdType );
                $level = $request->getVal( $this->IdLevel );
@@ -50,7 +45,7 @@ class SpecialProtectedtitles extends SpecialPage {
                $size = $request->getIntOrNull( 'size' );
                $NS = $request->getIntOrNull( 'namespace' );
 
-               $pager = new ProtectedTitlesPager( $this, array(), $type, $level, $NS, $sizetype, $size );
+               $pager = new ProtectedTitlesPager( $this, [], $type, $level, $NS, $sizetype, $size );
 
                $this->getOutput()->addHTML( $this->showOptions( $NS, $type, $level ) );
 
@@ -72,22 +67,14 @@ class SpecialProtectedtitles extends SpecialPage {
         * @return string
         */
        function formatRow( $row ) {
-
-               static $infinity = null;
-
-               if ( is_null( $infinity ) ) {
-                       $infinity = wfGetDB( DB_SLAVE )->getInfinity();
-               }
-
                $title = Title::makeTitleSafe( $row->pt_namespace, $row->pt_title );
                if ( !$title ) {
-
                        return Html::rawElement(
                                'li',
-                               array(),
+                               [],
                                Html::element(
                                        'span',
-                                       array( 'class' => 'mw-invalidtitle' ),
+                                       [ 'class' => 'mw-invalidtitle' ],
                                        Linker::getInvalidTitleDescription(
                                                $this->getContext(),
                                                $row->pt_namespace,
@@ -98,16 +85,16 @@ class SpecialProtectedtitles extends SpecialPage {
                }
 
                $link = Linker::link( $title );
-               $description_items = array();
+               $description_items = [];
                // Messages: restriction-level-sysop, restriction-level-autoconfirmed
                $protType = $this->msg( 'restriction-level-' . $row->pt_create_perm )->escaped();
                $description_items[] = $protType;
                $lang = $this->getLanguage();
                $expiry = strlen( $row->pt_expiry ) ?
                        $lang->formatExpiry( $row->pt_expiry, TS_MW ) :
-                       $infinity;
+                       'infinity';
 
-               if ( $expiry != $infinity ) {
+               if ( $expiry !== 'infinity' ) {
                        $user = $this->getUser();
                        $description_items[] = $this->msg(
                                'protect-expiring-local',
@@ -135,11 +122,11 @@ class SpecialProtectedtitles extends SpecialPage {
 
                return "<form action=\"$action\" method=\"get\">\n" .
                        '<fieldset>' .
-                       Xml::element( 'legend', array(), $this->msg( 'protectedtitles' )->text() ) .
+                       Xml::element( 'legend', [], $this->msg( 'protectedtitles' )->text() ) .
                        Html::hidden( 'title', $special ) . "&#160;\n" .
                        $this->getNamespaceMenu( $namespace ) . "&#160;\n" .
                        $this->getLevelMenu( $level ) . "&#160;\n" .
-                       "&#160;" . Xml::submitButton( $this->msg( 'allpagessubmit' )->text() ) . "\n" .
+                       "&#160;" . Xml::submitButton( $this->msg( 'protectedtitles-submit' )->text() ) . "\n" .
                        "</fieldset></form>";
        }
 
@@ -152,15 +139,15 @@ class SpecialProtectedtitles extends SpecialPage {
         */
        function getNamespaceMenu( $namespace = null ) {
                return Html::namespaceSelector(
-                       array(
+                       [
                                'selected' => $namespace,
                                'all' => '',
                                'label' => $this->msg( 'namespace' )->text()
-                       ), array(
+                       ], [
                                'name' => 'namespace',
                                'id' => 'namespace',
                                'class' => 'namespaceselector',
-                       )
+                       ]
                );
        }
 
@@ -171,8 +158,8 @@ class SpecialProtectedtitles extends SpecialPage {
         */
        function getLevelMenu( $pr_level ) {
                // Temporary array
-               $m = array( $this->msg( 'restriction-level-all' )->text() => 0 );
-               $options = array();
+               $m = [ $this->msg( 'restriction-level-all' )->text() => 0 ];
+               $options = [];
 
                // First pass to load the log names
                foreach ( $this->getConfig()->get( 'RestrictionLevels' ) as $type ) {
@@ -195,7 +182,7 @@ class SpecialProtectedtitles extends SpecialPage {
 
                return Xml::label( $this->msg( 'restriction-level' )->text(), $this->IdLevel ) . '&#160;' .
                        Xml::tags( 'select',
-                               array( 'id' => $this->IdLevel, 'name' => $this->IdLevel ),
+                               [ 'id' => $this->IdLevel, 'name' => $this->IdLevel ],
                                implode( "\n", $options ) );
        }
 
@@ -211,7 +198,7 @@ class SpecialProtectedtitles extends SpecialPage {
 class ProtectedTitlesPager extends AlphabeticPager {
        public $mForm, $mConds;
 
-       function __construct( $form, $conds = array(), $type, $level, $namespace,
+       function __construct( $form, $conds = [], $type, $level, $namespace,
                $sizetype = '', $size = 0
        ) {
                $this->mForm = $form;
@@ -252,7 +239,8 @@ class ProtectedTitlesPager extends AlphabeticPager {
         */
        function getQueryInfo() {
                $conds = $this->mConds;
-               $conds[] = 'pt_expiry>' . $this->mDb->addQuotes( $this->mDb->timestamp() );
+               $conds[] = 'pt_expiry > ' . $this->mDb->addQuotes( $this->mDb->timestamp() ) .
+                       ' OR pt_expiry IS NULL';
                if ( $this->level ) {
                        $conds['pt_create_perm'] = $this->level;
                }
@@ -261,12 +249,12 @@ class ProtectedTitlesPager extends AlphabeticPager {
                        $conds[] = 'pt_namespace=' . $this->mDb->addQuotes( $this->namespace );
                }
 
-               return array(
+               return [
                        'tables' => 'protected_titles',
-                       'fields' => array( 'pt_namespace', 'pt_title', 'pt_create_perm',
-                               'pt_expiry', 'pt_timestamp' ),
+                       'fields' => [ 'pt_namespace', 'pt_title', 'pt_create_perm',
+                               'pt_expiry', 'pt_timestamp' ],
                        'conds' => $conds
-               );
+               ];
        }
 
        function getIndexField() {