[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/specials/ -> SpecialDeadendpages.php (source)

   1  <?php
   2  /**
   3   * Implements Special:Deadenpages
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @ingroup SpecialPage
  22   */
  23  
  24  /**
  25   * A special page that list pages that contain no link to other pages
  26   *
  27   * @ingroup SpecialPage
  28   */
  29  class DeadendPagesPage extends PageQueryPage {
  30  
  31  	function __construct( $name = 'Deadendpages' ) {
  32          parent::__construct( $name );
  33      }
  34  
  35  	function getPageHeader() {
  36          return $this->msg( 'deadendpagestext' )->parseAsBlock();
  37      }
  38  
  39      /**
  40       * LEFT JOIN is expensive
  41       *
  42       * @return bool
  43       */
  44  	function isExpensive() {
  45          return true;
  46      }
  47  
  48  	function isSyndicated() {
  49          return false;
  50      }
  51  
  52      /**
  53       * @return bool
  54       */
  55  	function sortDescending() {
  56          return false;
  57      }
  58  
  59  	function getQueryInfo() {
  60          return array(
  61              'tables' => array( 'page', 'pagelinks' ),
  62              'fields' => array(
  63                  'namespace' => 'page_namespace',
  64                  'title' => 'page_title',
  65                  'value' => 'page_title'
  66              ),
  67              'conds' => array(
  68                  'pl_from IS NULL',
  69                  'page_namespace' => MWNamespace::getContentNamespaces(),
  70                  'page_is_redirect' => 0
  71              ),
  72              'join_conds' => array(
  73                  'pagelinks' => array(
  74                      'LEFT JOIN',
  75                      array( 'page_id=pl_from' )
  76                  )
  77              )
  78          );
  79      }
  80  
  81  	function getOrderFields() {
  82          // For some crazy reason ordering by a constant
  83          // causes a filesort
  84          if ( count( MWNamespace::getContentNamespaces() ) > 1 ) {
  85              return array( 'page_namespace', 'page_title' );
  86          } else {
  87              return array( 'page_title' );
  88          }
  89      }
  90  
  91  	protected function getGroupName() {
  92          return 'maintenance';
  93      }
  94  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1