* to avoid formatting for any particular user.
* @see getActionText()
* @return string Plain text
+ * @return-taint tainted
*/
public function getPlainActionText() {
$this->plaintext = true;
* @return string Text
*/
public function getIRCActionText() {
- global $wgContLang;
-
$this->plaintext = true;
$this->irctext = true;
// Text of title the action is aimed at.
$target = $entry->getTarget()->getPrefixedText();
$text = null;
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
switch ( $entry->getType() ) {
case 'move':
switch ( $entry->getSubtype() ) {
$rawDuration = $parameters['5::duration'];
$rawFlags = $parameters['6::flags'];
}
- $duration = $wgContLang->translateBlockExpiry(
+ $duration = $contLang->translateBlockExpiry(
$rawDuration,
null,
wfTimestamp( TS_UNIX, $entry->getTimestamp() )
);
- $flags = BlockLogFormatter::formatBlockFlags( $rawFlags, $wgContLang );
+ $flags = BlockLogFormatter::formatBlockFlags( $rawFlags, $contLang );
$text = wfMessage( 'blocklogentry' )
->rawParams( $target, $duration, $flags )->inContentLanguage()->escaped();
break;
->rawParams( $target )->inContentLanguage()->escaped();
break;
case 'reblock':
- $duration = $wgContLang->translateBlockExpiry(
+ $duration = $contLang->translateBlockExpiry(
$parameters['5::duration'],
null,
wfTimestamp( TS_UNIX, $entry->getTimestamp() )
);
- $flags = BlockLogFormatter::formatBlockFlags( $parameters['6::flags'], $wgContLang );
+ $flags = BlockLogFormatter::formatBlockFlags( $parameters['6::flags'],
+ $contLang );
$text = wfMessage( 'reblock-logentry' )
->rawParams( $target, $duration, $flags )->inContentLanguage()->escaped();
break;
/**
* Gets the log action, including username.
* @return string HTML
+ * phan-taint-check gets very confused by $this->plaintext, so disable.
+ * @return-taint onlysafefor_html
*/
public function getActionText() {
if ( $this->canView( LogPage::DELETED_ACTION ) ) {
/**
* Helper to make a link to the page, taking the plaintext
* value in consideration.
- * @param Title $title The page
+ * @param Title|null $title The page
* @param array $parameters Query parameters
* @param string|null $html Linktext of the link as raw html
- * @throws MWException
* @return string
*/
protected function makePageLink( Title $title = null, $parameters = [], $html = null ) {
if ( !$title instanceof Title ) {
- throw new MWException( 'Expected title, got null' );
+ $msg = $this->msg( 'invalidtitle' )->text();
+ if ( !$this->plaintext ) {
+ return Html::element( 'span', [ 'class' => 'mw-invalidtitle' ], $msg );
+ } else {
+ return $msg;
+ }
}
+
if ( !$this->plaintext ) {
$html = $html !== null ? new HtmlArmor( $html ) : $html;
$link = $this->getLinkRenderer()->makeLink( $title, $html, [], $parameters );
* Helper method for displaying restricted element.
* @param string $message
* @return string HTML or wiki text
+ * @return-taint onlysafefor_html
*/
protected function getRestrictedElement( $message ) {
if ( $this->plaintext ) {
return $this->context->msg( $key );
}
+ /**
+ * @param User $user
+ * @param int $toolFlags Combination of Linker::TOOL_LINKS_* flags
+ * @return string wikitext or html
+ * @return-taint onlysafefor_html
+ */
protected function makeUserLink( User $user, $toolFlags = 0 ) {
if ( $this->plaintext ) {
$element = $user->getName();
return $this->comment;
}
+ /**
+ * @return string
+ * @return-taint onlysafefor_html
+ */
protected function getActionMessage() {
$entry = $this->entry;
$action = LogPage::actionText(