Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
PageMoveLogger
0.00% covered (danger)
0.00%
0 / 18
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 logSuccess
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 logError
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2declare( strict_types = 1 );
3
4namespace MediaWiki\Extension\Translate\MessageGroupProcessing;
5
6use ManualLogEntry;
7use MediaWiki\Title\Title;
8use Status;
9use User;
10
11/**
12 * Helper class for logging translatable bundle moves
13 * @author Abijeet Patro
14 * @author Niklas Laxström
15 * @since 2022.03
16 * @license GPL-2.0-or-later
17 */
18class PageMoveLogger {
19    /** @var string */
20    private $logType;
21    /** @var Title */
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}