Last modified: 2010-05-15 15:33:36 UTC
If you are running a shared-login setup, then users who sign up on one site can not be made sysops on a wiki other than the one they signed up for. The reason is that the Makesysop.php script uses a left join statement to get the user's id from the shared user table and their rights from the local user_rights table. However, the user_rights table entry is made when the user signs up. So, only one site will have a user_rights entry in it's table for the user. So, the query turns up null, and any attempt to make the user a sysop results in a query trying to add sysop rights to the user with id 0. I've fixed my setup by splitting the join into two queries, so that I always have the correct user id, regardless of what's in user_rights.
Created attachment 182 [details] patch to allow sysoping of users Here is a patch that makes it work, but I know it could be done better...
It should have been a left _OUTER_ join. Fixed that for both name and ID modes.