[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

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

   1  <?php
   2  /**
   3   * Implements Special:Unusedtemplates
   4   *
   5   * Copyright © 2006 Rob Church
   6   *
   7   * This program is free software; you can redistribute it and/or modify
   8   * it under the terms of the GNU General Public License as published by
   9   * the Free Software Foundation; either version 2 of the License, or
  10   * (at your option) any later version.
  11   *
  12   * This program is distributed in the hope that it will be useful,
  13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15   * GNU General Public License for more details.
  16   *
  17   * You should have received a copy of the GNU General Public License along
  18   * with this program; if not, write to the Free Software Foundation, Inc.,
  19   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  20   * http://www.gnu.org/copyleft/gpl.html
  21   *
  22   * @file
  23   * @ingroup SpecialPage
  24   * @author Rob Church <[email protected]>
  25   */
  26  
  27  /**
  28   * A special page that lists unused templates
  29   *
  30   * @ingroup SpecialPage
  31   */
  32  class UnusedtemplatesPage extends QueryPage {
  33  	function __construct( $name = 'Unusedtemplates' ) {
  34          parent::__construct( $name );
  35      }
  36  
  37  	function isExpensive() {
  38          return true;
  39      }
  40  
  41  	function isSyndicated() {
  42          return false;
  43      }
  44  
  45  	function sortDescending() {
  46          return false;
  47      }
  48  
  49  	function getQueryInfo() {
  50          return array(
  51              'tables' => array( 'page', 'templatelinks' ),
  52              'fields' => array(
  53                  'namespace' => 'page_namespace',
  54                  'title' => 'page_title',
  55                  'value' => 'page_title'
  56              ),
  57              'conds' => array(
  58                  'page_namespace' => NS_TEMPLATE,
  59                  'tl_from IS NULL',
  60                  'page_is_redirect' => 0
  61              ),
  62              'join_conds' => array( 'templatelinks' => array(
  63                  'LEFT JOIN', array( 'tl_title = page_title',
  64                      'tl_namespace = page_namespace' ) ) )
  65          );
  66      }
  67  
  68      /**
  69       * @param Skin $skin
  70       * @param object $result Result row
  71       * @return string
  72       */
  73  	function formatResult( $skin, $result ) {
  74          $title = Title::makeTitle( NS_TEMPLATE, $result->title );
  75          $pageLink = Linker::linkKnown(
  76              $title,
  77              null,
  78              array(),
  79              array( 'redirect' => 'no' )
  80          );
  81          $wlhLink = Linker::linkKnown(
  82              SpecialPage::getTitleFor( 'Whatlinkshere', $title->getPrefixedText() ),
  83              $this->msg( 'unusedtemplateswlh' )->escaped()
  84          );
  85  
  86          return $this->getLanguage()->specialList( $pageLink, $wlhLink );
  87      }
  88  
  89  	function getPageHeader() {
  90          return $this->msg( 'unusedtemplatestext' )->parseAsBlock();
  91      }
  92  
  93  	protected function getGroupName() {
  94          return 'maintenance';
  95      }
  96  }


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