diff options
Diffstat (limited to 'includes/logging/LogEntry.php')
-rw-r--r-- | includes/logging/LogEntry.php | 78 |
1 files changed, 44 insertions, 34 deletions
diff --git a/includes/logging/LogEntry.php b/includes/logging/LogEntry.php index 37560d80..0f20ed16 100644 --- a/includes/logging/LogEntry.php +++ b/includes/logging/LogEntry.php @@ -175,6 +175,7 @@ class DatabaseLogEntry extends LogEntryBase { /// Database result row. protected $row; + protected $performer; protected function __construct( $row ) { $this->row = $row; @@ -232,17 +233,20 @@ class DatabaseLogEntry extends LogEntryBase { } public function getPerformer() { - $userId = (int) $this->row->log_user; - if ( $userId !== 0 ) { // logged-in users - if ( isset( $this->row->user_name ) ) { - return User::newFromRow( $this->row ); - } else { - return User::newFromId( $userId ); + if( !$this->performer ) { + $userId = (int) $this->row->log_user; + if ( $userId !== 0 ) { // logged-in users + if ( isset( $this->row->user_name ) ) { + $this->performer = User::newFromRow( $this->row ); + } else { + $this->performer = User::newFromId( $userId ); + } + } else { // IP users + $userText = $this->row->log_user_text; + $this->performer = User::newFromName( $userText, false ); } - } else { // IP users - $userText = $this->row->log_user_text; - return User::newFromName( $userText, false ); } + return $this->performer; } public function getTarget() { @@ -287,14 +291,17 @@ class RCDatabaseLogEntry extends DatabaseLogEntry { } public function getPerformer() { - $userId = (int) $this->row->rc_user; - if ( $userId !== 0 ) { - return User::newFromId( $userId ); - } else { - $userText = $this->row->rc_user_text; - // Might be an IP, don't validate the username - return User::newFromName( $userText, false ); + if( !$this->performer ) { + $userId = (int) $this->row->rc_user; + if ( $userId !== 0 ) { + $this->performer = User::newFromId( $userId ); + } else { + $userText = $this->row->rc_user_text; + // Might be an IP, don't validate the username + $this->performer = User::newFromName( $userText, false ); + } } + return $this->performer; } public function getTarget() { @@ -335,9 +342,9 @@ class ManualLogEntry extends LogEntryBase { /** * Constructor. - * + * * @since 1.19 - * + * * @param string $type * @param string $subtype */ @@ -357,10 +364,10 @@ class ManualLogEntry extends LogEntryBase { * '4:color' => 'blue', * 'animal' => 'dog' * ); - * + * * @since 1.19 - * - * @param $parameters array Associative array + * + * @param array $parameters Associative array */ public function setParameters( $parameters ) { $this->parameters = $parameters; @@ -368,9 +375,9 @@ class ManualLogEntry extends LogEntryBase { /** * Set the user that performed the action being logged. - * + * * @since 1.19 - * + * * @param User $performer */ public function setPerformer( User $performer ) { @@ -379,9 +386,9 @@ class ManualLogEntry extends LogEntryBase { /** * Set the title of the object changed. - * + * * @since 1.19 - * + * * @param Title $target */ public function setTarget( Title $target ) { @@ -390,9 +397,9 @@ class ManualLogEntry extends LogEntryBase { /** * Set the timestamp of when the logged action took place. - * + * * @since 1.19 - * + * * @param string $timestamp */ public function setTimestamp( $timestamp ) { @@ -401,9 +408,9 @@ class ManualLogEntry extends LogEntryBase { /** * Set a comment associated with the action being logged. - * + * * @since 1.19 - * + * * @param string $comment */ public function setComment( $comment ) { @@ -412,9 +419,9 @@ class ManualLogEntry extends LogEntryBase { /** * TODO: document - * + * * @since 1.19 - * + * * @param integer $deleted */ public function setDeleted( $deleted ) { @@ -435,8 +442,11 @@ class ManualLogEntry extends LogEntryBase { $this->timestamp = wfTimestampNow(); } + # Trim spaces on user supplied text + $comment = trim( $this->getComment() ); + # Truncate for whole multibyte characters. - $comment = $wgContLang->truncate( $this->getComment(), 255 ); + $comment = $wgContLang->truncate( $comment, 255 ); $data = array( 'log_id' => $id, @@ -458,8 +468,8 @@ class ManualLogEntry extends LogEntryBase { /** * Publishes the log entry. - * @param $newId int id of the log entry. - * @param $to string: rcandudp (default), rc, udp + * @param int $newId id of the log entry. + * @param string $to rcandudp (default), rc, udp */ public function publish( $newId, $to = 'rcandudp' ) { $log = new LogPage( $this->getType() ); |