| I'm thinking off the top of my head!
1. Forum permission (single switch), can be done in that forum!
2. Base permission (usergroup), over-rides forum permission
3. Switch in usergroup panel (over-ride by admin selected user)
This will allow you to turn it off for the complete group, but still allow a single user to use the permissions in that group! The user over-ride would be found in the user manager panel!
Here is all that would need to be done!
1. new table (allowed)
forum id, post id, topic id, topic owner, full ban, write ban, users allowed
The (topic owner) is the person that owns the topic. The (full ban) is a set of users that have been fully ban from the topic, (no access [read/write]), (write ban) means they can read but not reply, (users allowed) would mean that these users can not be ban.
This way, one single row controls one topic, so that you can inner join it as it is being displayed, no extra query!
So...
1. Alter table usergroup (add a bit index permissions group) (controls ban permissions)
2. add on table called (what ever => allowed) (controls topic view permissions)
3. add another table that will hold the permissions for the control (it's only used in the admin cp, the permissions are cached with the result of the forum permissions!
4. Alter table user (add the (bit) group over-ride permissions)
5. 5 script edits (forum)
6. 3 script edits (admin)
7. 4 edits (templates)
8. 40 phrases for the user help (facts)
9. 60 to 80 admin cp phrases (depending on the permissions added), I think 15 switches are needed for the complete system!
1. forum permissions! (user or group can have private topics)
2. usergroup permissions! (allow user group to control private topics)
3. usergroup permissions! (if group permission are off, allow single user access to allowed users)
4. usergroup permissions! (user can not ban these groups)
5. usergroup permissions! (user can not ban these users)
6. usergroup permissions! (topic owner can not be removed by other users)
Then, you will need a global permissions panel for the kick control (ie: admin ban can not be over-ruled, ...)
I can write this in few hours, but I don't feel like writing all the phrases. If you agree to write the phrases for the admin cp, then I will write all the edits.
me!
|