X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Flogging%2FLogFormatter.php;h=3e942ae08d12facc2a9a59f88505e8923ca71329;hp=b07f20e6d9560d7ca02f3ad051a1add378eae4d3;hb=f032d27d0cfc16d93d9164498c3967c77c60cfc8;hpb=a2519903067d8e738a5e24fa279dcf876a793a88 diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index b07f20e6d9..3e942ae08d 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -1,6 +1,6 @@ rawParams( $target )->inContentLanguage()->escaped(); break; case 'overwrite': + case 'revert': $text = wfMessage( 'overwroteimage' ) ->rawParams( $target )->inContentLanguage()->escaped(); break; @@ -761,7 +762,9 @@ class LogFormatter { $user->getName(), true, // redContribsWhenNoEdits $toolFlags, - $user->getEditCount() + $user->getEditCount(), + // do not render parenthesises in the HTML markup (CSS will provide) + false ); } } @@ -814,6 +817,11 @@ class LogFormatter { foreach ( $this->getParametersForApi() as $key => $value ) { $vals = explode( ':', $key, 3 ); if ( count( $vals ) !== 3 ) { + if ( $value instanceof __PHP_Incomplete_Class ) { + wfLogWarning( 'Log entry of type ' . $this->entry->getFullType() . + ' contains unrecoverable extra parameters.' ); + continue; + } $logParams[$key] = $value; continue; } @@ -902,106 +910,3 @@ class LogFormatter { return [ $name => $value ]; } } - -/** - * This class formats all log entries for log types - * which have not been converted to the new system. - * This is not about old log entries which store - * parameters in a different format - the new - * LogFormatter classes have code to support formatting - * those too. - * @since 1.19 - */ -class LegacyLogFormatter extends LogFormatter { - /** - * Backward compatibility for extension changing the comment from - * the LogLine hook. This will be set by the first call on getComment(), - * then it might be modified by the hook when calling getActionLinks(), - * so that the modified value will be returned when calling getComment() - * a second time. - * - * @var string|null - */ - private $comment = null; - - /** - * Cache for the result of getActionLinks() so that it does not need to - * run multiple times depending on the order that getComment() and - * getActionLinks() are called. - * - * @var string|null - */ - private $revert = null; - - public function getComment() { - if ( $this->comment === null ) { - $this->comment = parent::getComment(); - } - - // Make sure we execute the LogLine hook so that we immediately return - // the correct value. - if ( $this->revert === null ) { - $this->getActionLinks(); - } - - return $this->comment; - } - - /** - * @return string - * @return-taint onlysafefor_html - */ - protected function getActionMessage() { - $entry = $this->entry; - $action = LogPage::actionText( - $entry->getType(), - $entry->getSubtype(), - $entry->getTarget(), - $this->plaintext ? null : $this->context->getSkin(), - (array)$entry->getParameters(), - !$this->plaintext // whether to filter [[]] links - ); - - $performer = $this->getPerformerElement(); - if ( !$this->irctext ) { - $sep = $this->msg( 'word-separator' ); - $sep = $this->plaintext ? $sep->text() : $sep->escaped(); - $action = $performer . $sep . $action; - } - - return $action; - } - - public function getActionLinks() { - if ( $this->revert !== null ) { - return $this->revert; - } - - if ( $this->entry->isDeleted( LogPage::DELETED_ACTION ) ) { - $this->revert = ''; - return $this->revert; - } - - $title = $this->entry->getTarget(); - $type = $this->entry->getType(); - $subtype = $this->entry->getSubtype(); - - // Do nothing. The implementation is handled by the hook modifiying the - // passed-by-ref parameters. This also changes the default value so that - // getComment() and getActionLinks() do not call them indefinitely. - $this->revert = ''; - - // This is to populate the $comment member of this instance so that it - // can be modified when calling the hook just below. - if ( $this->comment === null ) { - $this->getComment(); - } - - $params = $this->entry->getParameters(); - - Hooks::run( 'LogLine', [ $type, $subtype, $title, $params, - &$this->comment, &$this->revert, $this->entry->getTimestamp() ] ); - - return $this->revert; - } -}