X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Flogging%2FDeleteLogFormatter.php;h=e8c4393645bd875f8b679c2ee885224a66659f87;hp=8078e2e02ce0b546792bfb92d853faa4a04a9b39;hb=52a3335087091554e34d6e1167fbb82f549a3262;hpb=56d45558b102349f3480a46819669407aa3be2d6 diff --git a/includes/logging/DeleteLogFormatter.php b/includes/logging/DeleteLogFormatter.php index 8078e2e02c..e8c4393645 100644 --- a/includes/logging/DeleteLogFormatter.php +++ b/includes/logging/DeleteLogFormatter.php @@ -23,12 +23,20 @@ * @since 1.22 */ +use MediaWiki\Storage\RevisionRecord; + /** * This class formats delete log entries. * * @since 1.19 */ class DeleteLogFormatter extends LogFormatter { + /** @var array|null */ + private $parsedParametersDeleteLog; + + /** + * @inheritDoc + */ protected function getMessageKey() { $key = parent::getMessageKey(); if ( in_array( $this->entry->getSubtype(), [ 'event', 'revision' ] ) ) { @@ -48,8 +56,11 @@ class DeleteLogFormatter extends LogFormatter { return $key; } + /** + * @inheritDoc + */ protected function getMessageParameters() { - if ( isset( $this->parsedParametersDeleteLog ) ) { + if ( $this->parsedParametersDeleteLog !== null ) { return $this->parsedParametersDeleteLog; } @@ -270,8 +281,6 @@ class DeleteLogFormatter extends LogFormatter { } } - $old = $this->parseBitField( $rawParams['6::ofield'] ); - $new = $this->parseBitField( $rawParams['7::nfield'] ); if ( !is_array( $rawParams['5::ids'] ) ) { $rawParams['5::ids'] = explode( ',', $rawParams['5::ids'] ); } @@ -279,19 +288,28 @@ class DeleteLogFormatter extends LogFormatter { $params = [ '::type' => $rawParams['4::type'], ':array:ids' => $rawParams['5::ids'], - ':assoc:old' => [ 'bitmask' => $old ], - ':assoc:new' => [ 'bitmask' => $new ], ]; static $fields = [ - Revision::DELETED_TEXT => 'content', - Revision::DELETED_COMMENT => 'comment', - Revision::DELETED_USER => 'user', - Revision::DELETED_RESTRICTED => 'restricted', + RevisionRecord::DELETED_TEXT => 'content', + RevisionRecord::DELETED_COMMENT => 'comment', + RevisionRecord::DELETED_USER => 'user', + RevisionRecord::DELETED_RESTRICTED => 'restricted', ]; - foreach ( $fields as $bit => $key ) { - $params[':assoc:old'][$key] = (bool)( $old & $bit ); - $params[':assoc:new'][$key] = (bool)( $new & $bit ); + + if ( isset( $rawParams['6::ofield'] ) ) { + $old = $this->parseBitField( $rawParams['6::ofield'] ); + $params[':assoc:old'] = [ 'bitmask' => $old ]; + foreach ( $fields as $bit => $key ) { + $params[':assoc:old'][$key] = (bool)( $old & $bit ); + } + } + if ( isset( $rawParams['7::nfield'] ) ) { + $new = $this->parseBitField( $rawParams['7::nfield'] ); + $params[':assoc:new'] = [ 'bitmask' => $new ]; + foreach ( $fields as $bit => $key ) { + $params[':assoc:new'][$key] = (bool)( $new & $bit ); + } } } elseif ( $subtype === 'restore' ) { $rawParams = $entry->getParameters();