blob: 7255fb45c4fc48d3b7da12de427cf91d871cb6ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<?php
namespace SMW\Maintenance;
use RuntimeException;
use SMW\MediaWiki\ManualEntryLogger;
/**
* @license GNU GPL v2+
* @since 2.4
*
* @author mwjames
*/
class MaintenanceLogger {
/**
* @var string
*/
private $performer = '';
/**
* @var ManualEntryLogger
*/
private $manualEntryLogger;
/**
* @var integer
*/
private $maxNameChars = 255;
/**
* @since 2.4
*
* @param string $performer
* @param ManualEntryLogger $manualEntryLogger
*/
public function __construct( $performer, ManualEntryLogger $manualEntryLogger ) {
$this->performer = $performer;
$this->manualEntryLogger = $manualEntryLogger;
$this->manualEntryLogger->registerLoggableEventType( 'maintenance' );
}
/**
* @since 2.5
*
* @param integer $maxNameChars
*/
public function setMaxNameChars( $maxNameChars ) {
$this->maxNameChars = $maxNameChars;
}
/**
* @since 2.4
*
* @param string $message
* @param string $target
*/
public function log( $message, $target = '' ) {
if ( $target === '' ) {
$target = $this->performer;
}
// #1983
if ( $this->maxNameChars < strlen( $target ) ) {
throw new RuntimeException( 'wgMaxNameChars requires at least ' . strlen( $target ) );
}
$this->manualEntryLogger->log( 'maintenance', $this->performer, $target, $message );
}
}
|