Page MenuHomeWickedGov Phorge

SpecialWantedTemplates.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

SpecialWantedTemplates.php

<?php
/**
* Copyright © 2008, Danny B.
* Based on SpecialWantedcategories.php by Ævar Arnfjörð Bjarmason <avarab@gmail.com>
* makeWlhLink() taken from SpecialMostlinkedtemplates by Rob Church <robchur@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
namespace MediaWiki\Specials;
use MediaWiki\Cache\LinkBatchFactory;
use MediaWiki\Linker\LinksMigration;
use MediaWiki\SpecialPage\WantedQueryPage;
use Wikimedia\Rdbms\IConnectionProvider;
/**
* List of the most wanted templates
*
* @ingroup SpecialPage
* @author Danny B.
*/
class SpecialWantedTemplates extends WantedQueryPage {
private LinksMigration $linksMigration;
/**
* @param IConnectionProvider $dbProvider
* @param LinkBatchFactory $linkBatchFactory
* @param LinksMigration $linksMigration
*/
public function __construct(
IConnectionProvider $dbProvider,
LinkBatchFactory $linkBatchFactory,
LinksMigration $linksMigration
) {
parent::__construct( 'Wantedtemplates' );
$this->setDatabaseProvider( $dbProvider );
$this->setLinkBatchFactory( $linkBatchFactory );
$this->linksMigration = $linksMigration;
}
public function getQueryInfo() {
$queryInfo = $this->linksMigration->getQueryInfo( 'templatelinks' );
[ $ns, $title ] = $this->linksMigration->getTitleFields( 'templatelinks' );
return [
'tables' => array_merge( $queryInfo['tables'], [ 'page' ] ),
'fields' => [
'namespace' => $ns,
'title' => $title,
'value' => 'COUNT(*)'
],
'conds' => [
'page_title' => null,
$ns => NS_TEMPLATE
],
'options' => [ 'GROUP BY' => [ $ns, $title ] ],
'join_conds' => array_merge(
[ 'page' => [ 'LEFT JOIN',
[ "page_namespace = $ns", "page_title = $title" ] ] ],
$queryInfo['joins']
)
];
}
protected function getGroupName() {
return 'maintenance';
}
}
/**
* Retain the old class name for backwards compatibility.
* @deprecated since 1.41
*/
class_alias( SpecialWantedTemplates::class, 'SpecialWantedTemplates' );

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 09:08 (1 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
89/e0/e1ead3aee7d9aa32ffae7a10da49
Default Alt Text
SpecialWantedTemplates.php (2 KB)

Event Timeline