private function getExtraDeletedPageLogEntryRelatedCond(IDatabase $db, User $user) { // LogPage::DELETED_ACTION hides the affected page, too. So hide those // entirely from the watchlist, or someone could guess the title. $bitmask = 0; if (!$user->isAllowed('deletedhistory')) { $bitmask = LogPage::DELETED_ACTION; } elseif (!$user->isAllowedAny('suppressrevision', 'viewsuppressed')) { $bitmask = LogPage::DELETED_ACTION | LogPage::DELETED_RESTRICTED; } if ($bitmask) { return $db->makeList(['rc_type != ' . RC_LOG, $db->bitAnd('rc_deleted', $bitmask) . " != {$bitmask}"], LIST_OR); } return ''; }