/**
* Fetch the skinname messages for available skins.
+ * @deprecated since 1.34, no longer used.
* @return string[]
*/
static function getSkinNameMessages() {
+ wfDeprecated( __METHOD__, '1.34' );
$messages = [];
foreach ( self::getSkinNames() as $skinKey => $skinName ) {
$messages[] = "skinname-$skinKey";
/**
* Get the current revision ID
*
+ * @deprecated since 1.34, use OutputPage::getRevisionId instead
* @return int
*/
public function getRevisionId() {
/**
* Whether the revision displayed is the latest revision of the page
*
+ * @deprecated since 1.34, use OutputPage::isRevisionCurrent instead
* @return bool
*/
public function isRevisionCurrent() {
- $revID = $this->getRevisionId();
- return $revID == 0 || $revID == $this->getTitle()->getLatestRevID();
+ return $this->getOutput()->isRevisionCurrent();
}
/**
$type = 'ns-subject';
}
// T208315: add HTML class when the user can edit the page
- if ( $title->quickUserCan( 'edit', $user ) ) {
+ if ( MediaWikiServices::getInstance()->getPermissionManager()
+ ->quickUserCan( 'edit', $user, $title )
+ ) {
$type .= ' mw-editable';
}
}
* @return string HTML text with an URL
*/
function printSource() {
- $oldid = $this->getRevisionId();
+ $oldid = $this->getOutput()->getRevisionId();
if ( $oldid ) {
$canonicalUrl = $this->getTitle()->getCanonicalURL( 'oldid=' . $oldid );
$url = htmlspecialchars( wfExpandIRI( $canonicalUrl ) );
$action = $this->getRequest()->getVal( 'action', 'view' );
$title = $this->getTitle();
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+ $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
if ( ( !$title->exists() || $action == 'history' ) &&
- $title->quickUserCan( 'deletedhistory', $this->getUser() )
+ $permissionManager->quickUserCan( 'deletedhistory', $this->getUser(), $title )
) {
$n = $title->isDeleted();
if ( $n ) {
- if ( $this->getTitle()->quickUserCan( 'undelete', $this->getUser() ) ) {
+ if ( $permissionManager->quickUserCan( 'undelete',
+ $this->getUser(), $this->getTitle() )
+ ) {
$msg = 'thisisdeleted';
} else {
$msg = 'viewdeleted';
}
- return $this->msg( $msg )->rawParams(
+ $subtitle = $this->msg( $msg )->rawParams(
$linkRenderer->makeKnownLink(
SpecialPage::getTitleFor( 'Undelete', $this->getTitle()->getPrefixedDBkey() ),
$this->msg( 'restorelink' )->numParams( $n )->text() )
)->escaped();
+
+ // Allow extensions to add more links
+ $links = [];
+ Hooks::run( 'UndeletePageToolLinks', [ $this->getContext(), $linkRenderer, &$links ] );
+
+ if ( $links ) {
+ $subtitle .= ''
+ . $this->msg( 'word-separator' )->escaped()
+ . $this->msg( 'parentheses' )
+ ->rawParams( $this->getLanguage()->pipeList( $links ) )
+ ->escaped();
+ }
+ return Html::rawElement( 'div', [ 'class' => 'mw-undelete-subtitle' ], $subtitle );
}
}
function getCopyright( $type = 'detect' ) {
$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
if ( $type == 'detect' ) {
- if ( !$this->isRevisionCurrent()
+ if ( !$this->getOutput()->isRevisionCurrent()
&& !$this->msg( 'history_copyright' )->inContentLanguage()->isDisabled()
) {
$type = 'history';
# No cached timestamp, load it from the database
if ( $timestamp === null ) {
- $timestamp = Revision::getTimestampFromId( $this->getTitle(), $this->getRevisionId() );
+ $timestamp = Revision::getTimestampFromId( $this->getTitle(),
+ $this->getOutput()->getRevisionId() );
}
if ( $timestamp ) {
function editUrlOptions() {
$options = [ 'action' => 'edit' ];
- if ( !$this->isRevisionCurrent() ) {
- $options['oldid'] = intval( $this->getRevisionId() );
+ if ( !$this->getOutput()->isRevisionCurrent() ) {
+ $options['oldid'] = intval( $this->getOutput()->getRevisionId() );
}
return $options;
* @return array
*/
public function buildSidebar() {
+ $services = MediaWikiServices::getInstance();
$callback = function ( $old = null, &$ttl = null ) {
$bar = [];
$this->addToSidebar( $bar, 'sidebar' );
Hooks::run( 'SkinBuildSidebar', [ $this, &$bar ] );
- if ( MessageCache::singleton()->isDisabled() ) {
+ $msgCache = MediaWikiServices::getInstance()->getMessageCache();
+ if ( $msgCache->isDisabled() ) {
$ttl = WANObjectCache::TTL_UNCACHEABLE; // bug T133069
}
return $bar;
};
- $msgCache = MessageCache::singleton();
- $wanCache = MediaWikiServices::getInstance()->getMainWANObjectCache();
+ $msgCache = $services->getMessageCache();
+ $wanCache = $services->getMainWANObjectCache();
$config = $this->getConfig();
$sidebar = $config->get( 'EnableSidebarCache' )