I'm working on a hack to add the following user privileges: profile-edit-enabled, pm-enabled and login-enabled.
profile-edit-enabled - if set, user can make changes in the My Home area. (This might need to be further broken down.)
pm-enabled - if set, user can send and receive private messages
login-enabled - if set, user can log in
I'm trying to figure out the best way to approach this. Here are some possibilities:
(1) Add three new columns to w3t_Users.
(2) Add the three new columns to w3t_Banned.
(3) Create a new table w3t_X_UserRestrictions, with these three columns, along with the username and/or user number. The rationale here is that normally users would have all these privileges, so only a small fraction of the users would require having a row in this table.
(4) Use the permission groups (somehow) to implement this functionality.
My design goals are to (A) minimize the amount of hacking required (to facilitate new-version-updates), (B) avoid database-compatibility issues with new versions, and (C) keep the script efficient.
What do you think is the best approach? Any feedback is welcome.
