lampak wrote:
I have started to do it (or at least try). The main problem is: how to check if the user has ever belonged to the group? Should I (a) search the log or (b) create a new database table for former user groups or (c) add a column to the user_groups table so that if a user is kicked off some group the row is not deleted but the value is changed?
I'm not sure if the goal is not too trivial for (b) and (c). But (a) doesn't seem very elegant to me. (Was the log meant to be read by other parts of the code?)
From all these options (c) seems the neatest. But that would mean searching for all places where this table is used... And I don't really feel like altering core tables. (b) would be simpler but produces some redundancy...
Any advice?
lampak
You seem to be using it just to not promet him again when he has been removed. Why not change the user_groups entry to something like "~editor" ? (ie. "not editor")
Only User.php and UserRightsProxy.php should need to be changed (the api should format them differently, too, but that's no funcitonality change). Most uses in core are just to check if he's a bot, and if an extension accessed directly to the db (which shouldn't), would just see an unknown group.