From dfc043b119213d80105c9e19991f0257a0d59a22 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Mon, 13 Jun 2016 02:20:49 -0700 Subject: [PATCH] Use the specified page ID for LinksDeletionUpdate This makes LinksDeleteJob use the correct page ID when a new page was later created at the title. The links and protection rows to clear should always be for the ID of the actual page being deleted. This fixes a bug when pages are moved over redirects. Bug: T128624 Change-Id: Id67a021539b97020e8dd32d56dba1b77c806f31c --- includes/deferred/LinksDeletionUpdate.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/deferred/LinksDeletionUpdate.php b/includes/deferred/LinksDeletionUpdate.php index b8bd74722c..c227ecdc8c 100644 --- a/includes/deferred/LinksDeletionUpdate.php +++ b/includes/deferred/LinksDeletionUpdate.php @@ -37,10 +37,10 @@ class LinksDeletionUpdate extends SqlDataUpdate implements EnqueueableDataUpdate parent::__construct( false ); // no implicit transaction $this->page = $page; - if ( $page->exists() ) { + if ( $pageId ) { + $this->pageId = $pageId; // page ID at time of deletion + } elseif ( $page->exists() ) { $this->pageId = $page->getId(); - } elseif ( $pageId ) { - $this->pageId = $pageId; } else { throw new InvalidArgumentException( "Page ID not known. Page doesn't exist?" ); } -- 2.20.1