Description
Related Objects
- Mentioned In
- T88263: Clean #Wiki-Release-Team project
T76461: WYSIWYG extension tries to use protected variable styles of includes/OutputPage.php in MW1.24
T76168: Unable to access $OutputPage::mLinktags from extensions since MW 1.24 (changed to "protected") - Mentioned Here
- T76461: WYSIWYG extension tries to use protected variable styles of includes/OutputPage.php in MW1.24
T76168: Unable to access $OutputPage::mLinktags from extensions since MW 1.24 (changed to "protected")
Event Timeline
In addition, having logged in here with some difficulty, I was unable to set any meaningful "Projects" field.
This is likely due to an extension calling something too early during the setup process. Can you provide a full backtrace? See https://www.mediawiki.org/wiki/Manual:How_to_debug#PHP_errors for instructions on how to turn that on.
There used to be a reference to User::$mCoreRights in my LocalSettings.php, which was copied into privileged user group's permissions, so that they could do everything. In 1.24 this property was made protected so I replaced it with User::getAllRights (). Evidently, this method calls wfRunHooks () but GlobalFunctions.php is not yet required when LocalSettings.php is processed. I am not sure that this is right.
I gor around this problem by wrapping this code in LocalSettings.php in a hooked function - I chose MediaWikiPerformAction for the time being.
I've added references to other tickets in the task description. This is due to https://github.com/wikimedia/mediawiki/commit/df49428b90ecfee7e9e7e9ffdcaca440a4375b50 and there is a simple workaround for the time being plus an intentional change, hence I'm lowering the priority.
User::getAllRights() isn't a good idea aside from the wfRunHooks issue, since it instance caches the result so any extension that tries to add rights after that wouln't work.
Adding a User::getAllCoreRights() accessor seems weird because there really should be no distinction on where a right comes from.
@alex-mashin: Any comments?
Now I moved the code that grants to privileged users all possible rights not already taken from $wgGroupPermissions to userCan hook. So far, that has been enough.
I'm removing MW-1.24-release here as I have not seen any other reports about this. If someone ever comes up with a patch merged into git master, feel free to request a backport of course, but this task obviously does not block 1.24 releases.
As of 1.25, User::getAllRights() should now be usable from LocalSettings.php, though inadvisable.