Expose LinkRenderer for LogFormatter instances
[lhc/web/wiklou.git] / includes / logging / LogFormatter.php
index 68404bf..2a47943 100644 (file)
@@ -22,6 +22,8 @@
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
  * @since 1.19
  */
+use MediaWiki\Linker\LinkRenderer;
+use MediaWiki\MediaWikiServices;
 
 /**
  * Implements the default log formatting.
@@ -101,6 +103,11 @@ class LogFormatter {
        /** @var string */
        protected $irctext = false;
 
+       /**
+        * @var LinkRenderer|null
+        */
+       private $linkRenderer;
+
        protected function __construct( LogEntry $entry ) {
                $this->entry = $entry;
                $this->context = RequestContext::getMain();
@@ -114,6 +121,26 @@ class LogFormatter {
                $this->context = $context;
        }
 
+       /**
+        * @since 1.30
+        * @param LinkRenderer $linkRenderer
+        */
+       public function setLinkRenderer( LinkRenderer $linkRenderer ) {
+               $this->linkRenderer = $linkRenderer;
+       }
+
+       /**
+        * @since 1.30
+        * @return LinkRenderer
+        */
+       public function getLinkRenderer() {
+               if ( $this->linkRenderer !== null ) {
+                       return $this->linkRenderer;
+               } else {
+                       return MediaWikiServices::getInstance()->getLinkRenderer();
+               }
+       }
+
        /**
         * Set the visibility restrictions for displaying content.
         * If set to public, and an item is deleted, then it will be replaced