diff options
Diffstat (limited to 'www/wiki/extensions/AbuseFilter/includes/AbuseFilterModifyLogFormatter.php')
-rw-r--r-- | www/wiki/extensions/AbuseFilter/includes/AbuseFilterModifyLogFormatter.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/www/wiki/extensions/AbuseFilter/includes/AbuseFilterModifyLogFormatter.php b/www/wiki/extensions/AbuseFilter/includes/AbuseFilterModifyLogFormatter.php new file mode 100644 index 00000000..769c27d3 --- /dev/null +++ b/www/wiki/extensions/AbuseFilter/includes/AbuseFilterModifyLogFormatter.php @@ -0,0 +1,53 @@ +<?php + +class AbuseFilterModifyLogFormatter extends LogFormatter { + + /** + * @return string + */ + protected function getMessageKey() { + $subtype = $this->entry->getSubtype(); + // Messages that can be used here: + // * abusefilter-logentry-create + // * abusefilter-logentry-modify + return "abusefilter-logentry-$subtype"; + } + + /** + * @return array + */ + protected function extractParameters() { + $parameters = $this->entry->getParameters(); + if ( $this->entry->isLegacy() ) { + list( $historyId, $filterId ) = $parameters; + } else { + $historyId = $parameters['historyId']; + $filterId = $parameters['newId']; + } + + $detailsTitle = SpecialPage::getTitleFor( + 'AbuseFilter', + "history/$filterId/diff/prev/$historyId" + ); + + $params = []; + $params[3] = Message::rawParam( + $this->makePageLink( + $this->entry->getTarget(), + [], + $this->msg( 'abusefilter-log-detailedentry-local' ) + ->numParams( $filterId )->escaped() + ) + ); + $params[4] = Message::rawParam( + $this->makePageLink( + $detailsTitle, + [], + $this->msg( 'abusefilter-log-detailslink' )->escaped() + ) + ); + + return $params; + } + +} |