/** * @param FlaggedRevision $frev * Removes flagged revision data for this page/id set * @return bool */ private function unapproveRevision(FlaggedRevision $frev) { wfProfileIn(__METHOD__); # Get current stable version ID (for logging) $oldSv = FlaggedRevision::newFromStable($this->page, FR_MASTER); # Delete from flaggedrevs table $frev->delete(); # Update the article review log $oldSvId = $oldSv ? $oldSv->getRevId() : 0; FlaggedRevsLog::updateReviewLog($this->page, $this->dims, $this->oldFlags, $this->comment, $this->oldid, $oldSvId, false); # Get the new stable version as of now $sv = FlaggedRevision::determineStable($this->page, FR_MASTER); # Update recent changes self::updateRecentChanges($frev->getRevision(), 'unpatrol', $sv); # Update page and tracking tables and clear cache $changed = FlaggedRevs::stableVersionUpdates($this->page, $sv, $oldSv); if ($changed) { FlaggedRevs::HTMLCacheUpdates($this->page); // purge pages that use this page } # Caller may want to get the change time $this->newLastChangeTime = ''; wfProfileOut(__METHOD__); return true; }