Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
PageMoveLogger.php
1<?php
2declare( strict_types = 1 );
3
4namespace MediaWiki\Extension\Translate\MessageGroupProcessing;
5
6use MediaWiki\Logging\ManualLogEntry;
7use MediaWiki\Status\Status;
8use MediaWiki\Title\Title;
9use MediaWiki\User\User;
10
19
20 public function __construct(
21 private readonly Title $baseSourceTitle,
22 private readonly string $logType,
23 ) {
24 }
25
26 public function logSuccess( User $performer, Title $target, string $reason ): void {
27 $entry = new ManualLogEntry( $this->logType, 'moveok' );
28 $entry->setPerformer( $performer );
29 $entry->setTarget( $this->baseSourceTitle );
30 $entry->setComment( $reason );
31 $entry->setParameters( [ 'target' => $target->getPrefixedText() ] );
32 $logid = $entry->insert();
33 $entry->publish( $logid );
34 }
35
36 public function logError( User $performer, Title $source, Title $target, Status $error ): void {
37 $entry = new ManualLogEntry( $this->logType, 'movenok' );
38 $entry->setPerformer( $performer );
39 $entry->setTarget( $source );
40 $entry->setParameters( [
41 'target' => $target->getPrefixedText(),
42 'error' => $error->getErrorsArray(),
43 ] );
44 $logid = $entry->insert();
45 $entry->publish( $logid );
46 }
47}
Helper class for logging translatable bundle moves.