[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

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

   1  <?php
   2  /**
   3   * Implements Special:Unusedimages
   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 lists unused images
  26   *
  27   * @ingroup SpecialPage
  28   */
  29  class UnusedimagesPage extends ImageQueryPage {
  30  	function __construct( $name = 'Unusedimages' ) {
  31          parent::__construct( $name );
  32      }
  33  
  34  	function isExpensive() {
  35          return true;
  36      }
  37  
  38  	function sortDescending() {
  39          return false;
  40      }
  41  
  42  	function isSyndicated() {
  43          return false;
  44      }
  45  
  46  	function getQueryInfo() {
  47          $retval = array(
  48              'tables' => array( 'image', 'imagelinks' ),
  49              'fields' => array(
  50                  'namespace' => NS_FILE,
  51                  'title' => 'img_name',
  52                  'value' => 'img_timestamp',
  53                  'img_user', 'img_user_text',
  54                  'img_description'
  55              ),
  56              'conds' => array( 'il_to IS NULL' ),
  57              'join_conds' => array( 'imagelinks' => array( 'LEFT JOIN', 'il_to = img_name' ) )
  58          );
  59  
  60          if ( $this->getConfig()->get( 'CountCategorizedImagesAsUsed' ) ) {
  61              // Order is significant
  62              $retval['tables'] = array( 'image', 'page', 'categorylinks',
  63                  'imagelinks' );
  64              $retval['conds']['page_namespace'] = NS_FILE;
  65              $retval['conds'][] = 'cl_from IS NULL';
  66              $retval['conds'][] = 'img_name = page_title';
  67              $retval['join_conds']['categorylinks'] = array(
  68                  'LEFT JOIN', 'cl_from = page_id' );
  69              $retval['join_conds']['imagelinks'] = array(
  70                  'LEFT JOIN', 'il_to = page_title' );
  71          }
  72  
  73          return $retval;
  74      }
  75  
  76  	function usesTimestamps() {
  77          return true;
  78      }
  79  
  80  	function getPageHeader() {
  81          return $this->msg( 'unusedimagestext' )->parseAsBlock();
  82      }
  83  
  84  	protected function getGroupName() {
  85          return 'maintenance';
  86      }
  87  }


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