mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Nuke
synced 2024-11-15 03:35:39 +00:00
e42a881976
Bug: T366068 Change-Id: I3455fab45698884d0b32f0065aaaf9fe7c0c6916
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace MediaWiki\Extension\Nuke;
|
|
|
|
use MediaWiki\Hook\ContributionsToolLinksHook;
|
|
use MediaWiki\SpecialPage\SpecialPage;
|
|
use MediaWiki\Title\Title;
|
|
use Wikimedia\IPUtils;
|
|
|
|
class Hooks implements ContributionsToolLinksHook {
|
|
|
|
/**
|
|
* Shows link to Special:Nuke on Special:Contributions/username if applicable
|
|
*
|
|
* @param int $id
|
|
* @param Title $title
|
|
* @param string[] &$tools
|
|
* @param SpecialPage $specialPage
|
|
*/
|
|
public function onContributionsToolLinks( $id, Title $title, array &$tools, SpecialPage $specialPage ) {
|
|
$username = $title->getText();
|
|
if ( $specialPage->getUser()->isAllowed( 'nuke' ) && !IPUtils::isValidRange( $username ) ) {
|
|
$tools['nuke'] = $specialPage->getLinkRenderer()->makeKnownLink(
|
|
SpecialPage::getTitleFor( 'Nuke' ),
|
|
$specialPage->msg( 'nuke-linkoncontribs' )->text(),
|
|
[
|
|
'title' => $specialPage->msg( 'nuke-linkoncontribs-text', $username )->text(),
|
|
'class' => 'mw-contributions-link-nuke'
|
|
],
|
|
[ 'target' => $username ]
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Registers Nuke tag for deletion logs
|
|
*
|
|
* @param string[] &$tags
|
|
*/
|
|
public static function onRegisterTags( array &$tags ): bool {
|
|
$tags[] = 'Nuke';
|
|
return true;
|
|
}
|
|
}
|