The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
HowTo Create Custom Usergroup Permissions
Usergoup Permissions are being controlled through XML files, you don't have to edit usergroup.php anymore To create your own usergroup permissions, the first thing to do is to modify table usergroup (keep table prefixes in mind!): [sql]ALTER TABLE usergroup ADD myhackpermissions INT( 10 ) UNSIGNED DEFAULT '0' NOT NULL ;[/sql] If your hack does need some integer settings as well (and not just On/Off-Options): [sql]ALTER TABLE usergroup ADD myhackintset INT( 10 ) DEFAULT '100' NOT NULL ;[/sql] Then you must create a an XML-File bitfield_myhack.xml and place it in includes/xml: HTML Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <bitfields product="vbulletin"> <bitfielddefs> <group name="ugp"> <group name="myhackpermissions"> <bitfield name="canfoo" group="my_hack_permissions" phrase="can_foo_forum" install="1,2,3,4,5,6,7">1</bitfield> <bitfield name="canbaa" group="my_hack_permissions" phrase="can_baa_forum" install="">2</bitfield> <bitfield intperm="true" name="myhackintset" group="my_hack_permissions" phrase="myhack_int_desc"></bitfield> </group> </group> </bitfielddefs> </bitfields> Parameter product of Tag bitfields should be the identifier of your Product Paramater name of Tag group must match the column name in table usergroup. The Parameters for Tag bitfield are:
The value of <bitfield> is the decimal value of the bit (eg. 1 for the first, 2 for the second, 4 for the third, and so on). In case of an Integer Option this is the default value. If you want to hide certain permission groups for some usergroups, for example from Guests as they don't make sense for them: HTML Code:
<ignoregroups> <group name="myhackpermissions" ignoregroups="1" /> </ignoregroups> Place this section below the <bitfielddefs>-Section. Now create the necessary phrases (in Phrasegroup Permissions) at this point. As vBulletin caches Bitfields in Datastore, you must rebuild this cache before the new usergroup permissions can be actually used (They will already show up in Usergroup Manager, but cannot be saved - you will get an error). To do so, point your browser to admincp/index.php?do=buildbitfields. You can also use the following Code (in a Custom Installer or Install-Code of a Product) to update the Bitfield Cache: PHP Code:
This How-To is (C) 2005 by KirbyDE and you are not allowed to redistribute it in any way without my explicit consent. |
#62
|
||||
|
||||
Quote:
|
#63
|
|||
|
|||
Ah, I didn't see that
|
#64
|
|||
|
|||
I have a usergroup xml file with 3 bitfield options. How can I get them to be "Yes" by default when the product is installed?
At the moment, I've set the database column default to 7, then rebuild the bitfields, which makes them all appear as "Yes" when you edit a usergroup, but you need to go into each usergorup and click "Save" to make them take effect. If you don't, they are still set as "No" in the forum, despite Usergroup Manager saying they are yes. Any ideas? |
#65
|
||||
|
||||
You can either run a manual query to update the bitfield values or you will have to save each Usergroup - There is no way to set it to a default value for existing usergroups since the datastore will not contain the values for the new settings
Chris |
#66
|
|||
|
|||
Dang, I was afraid of that. Cool, thanks Chris
|
#67
|
||||
|
||||
thanks, very useful.
|
#68
|
||||
|
||||
I found that the product attribute of the <bitfields> on vb3.5.0 is not case sensitive while 3.5.1 is
|
#69
|
|||
|
|||
Quote:
I spent the last 8 hours clicking around and found Andreas had a problem with his signature hack when vb351 came out, but since I didn't see the previous version, I don't know what he did to fix. Sorry if this was answered elsewhere. |
#70
|
||||
|
||||
Yep, that does not work any longer for 3.5.1+ as the bitfield builder ignores bitfields for non-active products.
You must adjust it a bit to just use the XMLReader. |
#71
|
|||
|
|||
Quote:
For the record, I gave up and moved the code to a seperate admin file and call it after installation. |
#72
|
|||
|
|||
Hi,
I cannot get this work ;( I made the following bitfield: Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <bitfields product="vbulletin"> <bitfielddefs> <group name="ugp"> <group name="teampermissions"> <bitfield name="caneditteam" group="team_permissions" phrase="can_edit_team" install="">1</bitfield> <bitfield name="candeleteteams" group="team_permissions" phrase="can_delete_teams" install="">2</bitfield> </group> </group> </bitfielddefs> </bitfields> Tobi |
#73
|
|||
|
|||
Does noone have an idea what is wrong in my coding?!
|
#74
|
||||
|
||||
Did you rebuild the bitfield cache?
@MrBlunt Well, as said - just directly use the XMLReader and set your bits accordingly. Or fake the product being installed and call the bitfield builder. |
#75
|
|||
|
|||
Quote:
Regards, Tobi |
#76
|
||||
|
||||
If you already have a thread there or create on - sure
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|