Add columns option to Special:PrefixIndex
authorDaniel De Marco <ddm@bartol.udel.edu>
Mon, 3 Feb 2014 20:00:53 +0000 (15:00 -0500)
committerChad <chadh@wikimedia.org>
Sun, 13 Apr 2014 22:31:11 +0000 (22:31 +0000)
Adds support for specifying the number of output columns to use in the
table generated by Special:PrefixIndex. Can be used as follows:

{{Special:PrefixIndex/{{FULLPAGENAME}}/|columns=2}}

Bug: 60759
Change-Id: Ic824351132ec8bf7c35116f6ab19f23386ead33e

includes/specials/SpecialPrefixindex.php

index 4548b63..16e6843 100644 (file)
@@ -36,6 +36,9 @@ class SpecialPrefixindex extends SpecialAllpages {
 
        protected $hideRedirects = false;
 
+       // number of columns in output table
+       protected $columns = 3;
+
        // Inherit $maxPerPage
 
        function __construct() {
@@ -63,6 +66,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                $namespace = (int)$ns; // if no namespace given, use 0 (NS_MAIN).
                $this->hideRedirects = $request->getBool( 'hideredirects', $this->hideRedirects );
                $this->stripPrefix = $request->getBool( 'stripprefix', $this->stripPrefix );
+               $this->columns = $request->getInt( 'columns', $this->columns );
 
                $namespaces = $wgContLang->getNamespaces();
                $out->setPageTitle(
@@ -224,17 +228,17 @@ class SpecialPrefixindex extends SpecialAllpages {
                                        } else {
                                                $link = '[[' . htmlspecialchars( $s->page_title ) . ']]';
                                        }
-                                       if ( $n % 3 == 0 ) {
+                                       if ( $n % $this->columns == 0 ) {
                                                $out .= '<tr>';
                                        }
                                        $out .= "<td>$link</td>";
                                        $n++;
-                                       if ( $n % 3 == 0 ) {
+                                       if ( $n % $this->columns == 0 ) {
                                                $out .= '</tr>';
                                        }
                                }
 
-                               if ( $n % 3 != 0 ) {
+                               if ( $n % $this->columns != 0 ) {
                                        $out .= '</tr>';
                                }
 
@@ -265,6 +269,7 @@ class SpecialPrefixindex extends SpecialAllpages {
                                        'prefix' => $prefix,
                                        'hideredirects' => $this->hideRedirects,
                                        'stripprefix' => $this->stripPrefix,
+                                       'columns' => $this->columns,
                                );
 
                                if ( $namespace || $prefix == '' ) {