From 7421a015752cd89bb9e8be4dbc0c7e3082543c32 Mon Sep 17 00:00:00 2001 From: Alex Z Date: Wed, 22 Jul 2009 20:09:23 +0000 Subject: [PATCH] (bug 16877) When moving a page over a redirect, delete the creation entry for the redirect from the recentchanges table --- RELEASE-NOTES | 2 ++ includes/Title.php | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 56048cdd91..dc4b40751b 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -312,6 +312,8 @@ this. Was used when mwEmbed was going to be an extension. "enhanced recent changes" * (bug 19857) maintenance/deleteRevision.php on last revision no longer breaks target page +* (bug 16877) Moving a page over a redirect no longer leaves an orphan entry in + the recentchanges table == API changes in 1.16 == diff --git a/includes/Title.php b/includes/Title.php index 00513607e2..912ed9d73b 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -2812,6 +2812,9 @@ class Title { $newid = $nt->getArticleID(); $oldid = $this->getArticleID(); $latest = $this->getLatestRevID(); + $rcts = $dbw->timestamp( $nt->getEarliestRevTime() ); + $newns = $nt->getNamespace(); + $newdbk = $nt->getDBkey(); $dbw = wfGetDB( DB_MASTER ); @@ -2833,6 +2836,11 @@ class Title { $dbw->delete( 'langlinks', array( 'll_from' => $newid ), __METHOD__ ); $dbw->delete( 'redirect', array( 'rd_from' => $newid ), __METHOD__ ); } + // If the redirect was recently created, it may have an entry in recentchanges still + $dbw->delete( 'recentchanges', + array( 'rc_timestamp' => $rcts, 'rc_namespace' => $newns, 'rc_title' => $newdbk, 'rc_new' => 1 ), + __METHOD__ + ); # Save a null revision in the page's history notifying of the move $nullRevision = Revision::newNullRevision( $dbw, $oldid, $comment, true ); -- 2.20.1