MediaWiki  master
SpecialUnusedImages.php
Go to the documentation of this file.
1 <?php
30  public function __construct( $name = 'Unusedimages' ) {
31  parent::__construct( $name );
32  }
33 
34  public function isExpensive() {
35  return true;
36  }
37 
38  protected function sortDescending() {
39  return false;
40  }
41 
42  public function isSyndicated() {
43  return false;
44  }
45 
46  public function getQueryInfo() {
47  $retval = [
48  'tables' => [ 'image', 'imagelinks' ],
49  'fields' => [
50  'namespace' => NS_FILE,
51  'title' => 'img_name',
52  'value' => 'img_timestamp',
53  ],
54  'conds' => [ 'il_to IS NULL' ],
55  'join_conds' => [ 'imagelinks' => [ 'LEFT JOIN', 'il_to = img_name' ] ]
56  ];
57 
58  if ( $this->getConfig()->get( 'CountCategorizedImagesAsUsed' ) ) {
59  // Order is significant
60  $retval['tables'] = [ 'image', 'page', 'categorylinks',
61  'imagelinks' ];
62  $retval['conds']['page_namespace'] = NS_FILE;
63  $retval['conds'][] = 'cl_from IS NULL';
64  $retval['conds'][] = 'img_name = page_title';
65  $retval['join_conds']['categorylinks'] = [
66  'LEFT JOIN', 'cl_from = page_id' ];
67  $retval['join_conds']['imagelinks'] = [
68  'LEFT JOIN', 'il_to = page_title' ];
69  }
70 
71  return $retval;
72  }
73 
74  public function usesTimestamps() {
75  return true;
76  }
77 
78  protected function getPageHeader() {
79  if ( $this->getConfig()->get( 'CountCategorizedImagesAsUsed' ) ) {
80  return $this->msg(
81  'unusedimagestext-categorizedimgisused'
82  )->parseAsBlock();
83  }
84  return $this->msg( 'unusedimagestext' )->parseAsBlock();
85  }
86 
87  protected function getGroupName() {
88  return 'maintenance';
89  }
90 }
SpecialUnusedImages\getQueryInfo
getQueryInfo()
Subclasses return an SQL query here, formatted as an array with the following keys: tables => Table(s...
Definition: SpecialUnusedImages.php:46
SpecialPage\msg
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
Definition: SpecialPage.php:800
SpecialUnusedImages\isSyndicated
isSyndicated()
Sometime we don't want to build rss / atom feeds.
Definition: SpecialUnusedImages.php:42
NS_FILE
const NS_FILE
Definition: Defines.php:75
SpecialUnusedImages\isExpensive
isExpensive()
Is this query expensive (for some definition of expensive)? Then we don't let it run in miser mode.
Definition: SpecialUnusedImages.php:34
SpecialPage\getConfig
getConfig()
Shortcut to get main config object.
Definition: SpecialPage.php:766
SpecialUnusedImages\sortDescending
sortDescending()
Override to sort by increasing values.
Definition: SpecialUnusedImages.php:38
SpecialUnusedImages\getPageHeader
getPageHeader()
The content returned by this function will be output before any result.
Definition: SpecialUnusedImages.php:78
SpecialUnusedImages
A special page that lists unused images.
Definition: SpecialUnusedImages.php:29
SpecialUnusedImages\usesTimestamps
usesTimestamps()
Does this query return timestamps rather than integers in its 'value' field? If true,...
Definition: SpecialUnusedImages.php:74
SpecialUnusedImages\__construct
__construct( $name='Unusedimages')
Definition: SpecialUnusedImages.php:30
ImageQueryPage
Variant of QueryPage which uses a gallery to output results, thus suited for reports generating image...
Definition: ImageQueryPage.php:34
SpecialUnusedImages\getGroupName
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
Definition: SpecialUnusedImages.php:87