Smalyshev has uploaded a new change for review.
https://gerrit.wikimedia.org/r/227372
Change subject: T105427: create nearly-blank RC entry for suppressed events
......................................................................
T105427: create nearly-blank RC entry for suppressed events
The entry will contain only page ID that was changed but no other
information.
Change-Id: I9422c2dc1ac5631a6b8b8791b3e15604b50647b8
---
M includes/changes/RecentChange.php
M includes/logging/LogEntry.php
2 files changed, 33 insertions(+), 22 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/72/227372/1
diff --git a/includes/changes/RecentChange.php
b/includes/changes/RecentChange.php
index 77bf5df..b884b3c 100644
--- a/includes/changes/RecentChange.php
+++ b/includes/changes/RecentChange.php
@@ -681,7 +681,7 @@
* @param string $actionCommentIRC
* @return RecentChange
*/
- public static function newLogEntry( $timestamp, &$title, &$user,
$actionComment, $ip,
+ public static function newLogEntry( $timestamp, $title, $user,
$actionComment, $ip,
$type, $action, $target, $logComment, $params, $newId = 0,
$actionCommentIRC = '' ) {
global $wgRequest;
diff --git a/includes/logging/LogEntry.php b/includes/logging/LogEntry.php
index 8427adb..1562902 100644
--- a/includes/logging/LogEntry.php
+++ b/includes/logging/LogEntry.php
@@ -575,40 +575,54 @@
/**
* Get a RecentChanges object for the log entry
* @param int $newId
+ * @param bool $isRestricted Is this a restricted change?
* @return RecentChange
* @since 1.23
*/
- public function getRecentChange( $newId = 0 ) {
+ public function getRecentChange( $newId = 0, $isRestricted = false ) {
$formatter = LogFormatter::newFromEntry( $this );
$context = RequestContext::newExtraneousContext(
$this->getTarget() );
$formatter->setContext( $context );
-
$logpage = SpecialPage::getTitleFor( 'Log', $this->getType() );
- $user = $this->getPerformer();
- $ip = "";
- if ( $user->isAnon() ) {
- /*
- * "MediaWiki default" and friends may have
- * no IP address in their name
- */
- if ( IP::isIPAddress( $user->getName() ) ) {
- $ip = $user->getName();
+
+ if ( !$isRestricted ) {
+ $user = $this->getPerformer();
+ $ip = "";
+ if ( $user->isAnon() ) {
+ /*
+ * "MediaWiki default" and friends may have
+ * no IP address in their name
+ */
+ if ( IP::isIPAddress( $user->getName() ) ) {
+ $ip = $user->getName();
+ }
}
+ } else {
+ // Restricted changes only have page ID in RC but other
information is hidden
+ $row = array(
+ 'page_id' =>
$this->getTarget()->getArticleID(),
+ 'page_namespace' =>
$this->getTarget()->getNamespace(),
+ 'page_title' => ''
+ );
+ $nullpage = Title::newFromRow( (object)$row );
+ $user = new User();
+ $user->setName( '0.0.0.0' );
+ $ip = '0.0.0.0';
}
return RecentChange::newLogEntry(
$this->getTimestamp(),
- $logpage,
+ $isRestricted ? $nullpage : $logpage,
$user,
- $formatter->getPlainActionText(),
+ $isRestricted ? '' : $formatter->getPlainActionText(),
$ip,
$this->getType(),
$this->getSubtype(),
- $this->getTarget(),
- $this->getComment(),
- LogEntryBase::makeParamBlob( $this->getParameters() ),
+ $isRestricted ? $nullpage : $this->getTarget(),
+ $isRestricted ? '' : $this->getComment(),
+ $isRestricted ? '' : LogEntryBase::makeParamBlob(
$this->getParameters() ),
$newId,
- $formatter->getIRCActionComment() // Used for IRC feeds
+ $isRestricted ? '' : $formatter->getIRCActionComment()
// Used for IRC feeds
);
}
@@ -619,11 +633,8 @@
*/
public function publish( $newId, $to = 'rcandudp' ) {
$log = new LogPage( $this->getType() );
- if ( $log->isRestricted() ) {
- return;
- }
- $rc = $this->getRecentChange( $newId );
+ $rc = $this->getRecentChange( $newId, $log->isRestricted() );
if ( $to === 'rc' || $to === 'rcandudp' ) {
$rc->save( 'pleasedontudp' );
--
To view, visit https://gerrit.wikimedia.org/r/227372
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9422c2dc1ac5631a6b8b8791b3e15604b50647b8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits