Merge "maintenance: Add maintenance script for managing foreign resources"
[lhc/web/wiklou.git] / includes / actions / HistoryAction.php
index 8ea50ec..2778a1d 100644 (file)
@@ -62,12 +62,25 @@ class HistoryAction extends FormlessAction {
 
        protected function getDescription() {
                // Creation of a subtitle link pointing to [[Special:Log]]
-               return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
+               $linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
+               $subtitle = $linkRenderer->makeKnownLink(
                        SpecialPage::getTitleFor( 'Log' ),
                        $this->msg( 'viewpagelogs' )->text(),
                        [],
                        [ 'page' => $this->getTitle()->getPrefixedText() ]
                );
+
+               $links = [];
+               // Allow extensions to add more links
+               Hooks::run( 'HistoryPageToolLinks', [ $this->getContext(), $linkRenderer, &$links ] );
+               if ( $links ) {
+                       $subtitle .= ''
+                               . $this->msg( 'word-separator' )->escaped()
+                               . $this->msg( 'parentheses' )
+                                       ->rawParams( $this->getLanguage()->pipeList( $links ) )
+                                       ->escaped();
+               }
+               return $subtitle;
        }
 
        /**
@@ -345,12 +358,13 @@ class HistoryAction extends FormlessAction {
                        $rev->getComment()
                );
                if ( $rev->getComment() == '' ) {
-                       global $wgContLang;
+                       $contLang = MediaWikiServices::getInstance()->getContentLanguage();
                        $title = $this->msg( 'history-feed-item-nocomment',
                                $rev->getUserText(),
-                               $wgContLang->timeanddate( $rev->getTimestamp() ),
-                               $wgContLang->date( $rev->getTimestamp() ),
-                               $wgContLang->time( $rev->getTimestamp() ) )->inContentLanguage()->text();
+                               $contLang->timeanddate( $rev->getTimestamp() ),
+                               $contLang->date( $rev->getTimestamp() ),
+                               $contLang->time( $rev->getTimestamp() )
+                       )->inContentLanguage()->text();
                } else {
                        $title = $rev->getUserText() .
                                $this->msg( 'colon-separator' )->inContentLanguage()->text() .
@@ -788,7 +802,10 @@ class HistoryPager extends ReverseChronologicalPager {
                $attribs = [ 'data-mw-revid' => $rev->getId() ];
 
                Hooks::run( 'PageHistoryLineEnding', [ $this, &$row, &$s, &$classes, &$attribs ] );
-               $attribs = wfArrayFilterByKey( $attribs, [ Sanitizer::class, 'isReservedDataAttribute' ] );
+               $attribs = array_filter( $attribs,
+                       [ Sanitizer::class, 'isReservedDataAttribute' ],
+                       ARRAY_FILTER_USE_KEY
+               );
 
                if ( $classes ) {
                        $attribs['class'] = implode( ' ', $classes );
@@ -836,7 +853,7 @@ class HistoryPager extends ReverseChronologicalPager {
                } else {
                        return MediaWikiServices::getInstance()->getLinkRenderer()->makeKnownLink(
                                $this->getTitle(),
-                               $cur,
+                               new HtmlArmor( $cur ),
                                [],
                                [
                                        'diff' => $this->getWikiPage()->getLatest(),
@@ -868,7 +885,7 @@ class HistoryPager extends ReverseChronologicalPager {
                        # Next row probably exists but is unknown, use an oldid=prev link
                        return $linkRenderer->makeKnownLink(
                                $this->getTitle(),
-                               $last,
+                               new HtmlArmor( $last ),
                                [],
                                [
                                        'diff' => $prevRev->getId(),
@@ -887,7 +904,7 @@ class HistoryPager extends ReverseChronologicalPager {
 
                return $linkRenderer->makeKnownLink(
                        $this->getTitle(),
-                       $last,
+                       new HtmlArmor( $last ),
                        [],
                        [
                                'diff' => $prevRev->getId(),