* @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.
/** @var string */
protected $irctext = false;
+ /**
+ * @var LinkRenderer|null
+ */
+ private $linkRenderer;
+
protected function __construct( LogEntry $entry ) {
$this->entry = $entry;
$this->context = RequestContext::getMain();
$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
$text = wfMessage( 'undeletedarticle' )
->rawParams( $target )->inContentLanguage()->escaped();
break;
- // @codingStandardsIgnoreStart Long line
//case 'revision': // Revision deletion
//case 'event': // Log deletion
// see https://github.com/wikimedia/mediawiki/commit/a9c243b7b5289dad204278dbe7ed571fd914e395
//default:
- // @codingStandardsIgnoreEnd
}
break;
case 'patrol':
- // @codingStandardsIgnoreStart Long line
// https://github.com/wikimedia/mediawiki/commit/1a05f8faf78675dc85984f27f355b8825b43efff
- // @codingStandardsIgnoreEnd
// Create a diff link to the patrolled revision
if ( $entry->getSubtype() === 'patrol' ) {
$diffLink = htmlspecialchars(
* @return string
*/
protected function makePageLink( Title $title = null, $parameters = [], $html = null ) {
+ if ( !$title instanceof Title ) {
+ throw new MWException( 'Expected title, got null' );
+ }
if ( !$this->plaintext ) {
- $link = Linker::link( $title, $html, [], $parameters );
+ $html = $html !== null ? new HtmlArmor( $html ) : $html;
+ $link = $this->getLinkRenderer()->makeLink( $title, $html, [], $parameters );
} else {
- if ( !$title instanceof Title ) {
- throw new MWException( "Expected title, got null" );
- }
$link = '[[' . $title->getPrefixedText() . ']]';
}
case 'title':
case 'title-link':
$title = Title::newFromText( $value );
- if ( $title ) {
- $value = [];
- ApiQueryBase::addTitleInfo( $value, $title, "{$name}_" );
+ if ( !$title ) {
+ // Huh? Do something halfway sane.
+ $title = SpecialPage::getTitleFor( 'Badtitle', $value );
}
+ $value = [];
+ ApiQueryBase::addTitleInfo( $value, $title, "{$name}_" );
return $value;
case 'user':