MediaWiki REL1_31
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 return $this->msg( 'unusedimagestext' )->parseAsBlock();
80 }
81
82 protected function getGroupName() {
83 return 'maintenance';
84 }
85}
Variant of QueryPage which uses a gallery to output results, thus suited for reports generating image...
msg( $key)
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,...
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...
__construct( $name='Unusedimages')
sortDescending()
Override to sort by increasing values.
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...
please add to it if you re going to add events to the MediaWiki code where normally authentication against an external auth plugin would be creating a local account incomplete not yet checked for validity & $retval
Definition hooks.txt:266
const NS_FILE
Definition Defines.php:80