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