Summary
The ChangeTagStore methods of modifyDisplayQueryBuilder, modifyDisplayQuery, and makeTagSummarySubquery need to be updated for rights-restricted tag support. This task is to focus on that and to update callers to these methods to pass an Authority instance
Background
- Other ChangeTagsStore methods have been updated for rights-restricted tags
- The remaining methods are those which modify the database queries by MediaWiki PHP code
- This task focuses on updating these methods to appropriately remove rights-restricted tags from queries when the viewing user cannot see them
- In a sense this is like applying the logic from ChangeTagsStore::filterViewableTags but to the SQL queries
- This means the methods need to accept an Authority instance which is used to ensure the DB queries only select private tags that the user can see
- The Authority instance will need to be optional initially, by making the default as null (which should mean no rights restricted tags are provided)
- Eventually we should deprecate the ability for the Authority argument to be null so that all callers provide an appropriate authority (either the user, a null authority, or a ultimate authority)
Acceptance criteria
- The ChangeTagStore methods of modifyDisplayQueryBuilder, modifyDisplayQuery, and makeTagSummarySubquery methods support right-restricted tags
- Callers of these methods are updated to pass an appropriate Authority instance for the viewing user
- The ability for a caller of these methods to provide null for the Authority argument is hard-deprecated
- (optional) ChangeTagStore::modifyDisplayQuery is hard deprecated after removing it's last WMF deployed use (given it's currently deprecated)