MediaWiki REL1_34
SpecialUnusedImages.php
Go to the documentation of this file.
1<?php
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 = [
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 function usesTimestamps() {
75 return true;
76 }
77
78 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}
Variant of QueryPage which uses a gallery to output results, thus suited for reports generating image...
msg( $key,... $params)
Wrapper around wfMessage that sets the current context.
getConfig()
Shortcut to get main config object.
A special page that lists unused images.
usesTimestamps()
Does this query return timestamps rather than integers in its 'value' field? If true,...
sortDescending()
Override to sort by increasing values.
getPageHeader()
The content returned by this function will be output before any result.
getGroupName()
Under which header this special page is listed in Special:SpecialPages See messages 'specialpages-gro...
isSyndicated()
Sometime we don't want to build rss / atom feeds.
isExpensive()
Is this query expensive (for some definition of expensive)? Then we don't let it run in miser mode.
getQueryInfo()
Subclasses return an SQL query here, formatted as an array with the following keys: tables => Table(s...
__construct( $name='Unusedimages')
const NS_FILE
Definition Defines.php:75