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. |
#92
|
||||
|
||||
Very useful info, thanks. I have permissions working properly for different usergroups within my hack, but I haven't been able to figure out how to put usergroup ids that have a certain setting into a string for use as a conditional query. For instance...
I have a y/n bitfield usergroup permission set up as: $permissions['myhackperms'] & $vbulletin->bf_ugp_myhackperms['canfoo'] and I want to run a query on which users have bitfield 'canfoo' set to yes? regardless of what usergroup they're in. PHP Code:
I know the query to get the usergroupids is wrong, it's due to me not knowing how to decode the bitfield, is there a function already written which vb uses to do these kinds of things? If so can someone point it out please? |
#93
|
||||
|
||||
figured it out, nevermind
|
#94
|
|||
|
|||
How would I call a permission in a template?
|
#95
|
|||
|
|||
thanks, but how can I make my own permission for admin pages?
I mean to use: if (!can_administer('XXXXXXXXXX')) { print_cp_no_permission(); } XXXXXXXXXX = my permission and then I can edit the permission from: admincp/adminpermissions.php?do=modify |
#96
|
|||
|
|||
Quote:
|
#97
|
|||
|
|||
Apologies if this has already been asked and answered, but I need to adjust some permissions (upon product install) per usergroup so that some usergroups don't have access to certain features while others do. What would be the query for changing the permissions after the bitfield has been updated?
|
#98
|
||||
|
||||
ok the only question i have for this, is how do you check the permissions of a usergroup a certain user is in?
|
#99
|
|||
|
|||
I just want to say that this help is awesome! Thanks to you for creating it!
Just remember that the bit number needs to be in the XML or it will not save! Took me like ten minutes to realize that.... of course I am a noob! |
#100
|
|||
|
|||
So is there any way to create custom forum permissions without having to worry about future vBulletin bits?
|
#101
|
|||
|
|||
Is this article still valid with 3.8.4? I'd rather know that before just jumping right into editing my database.
|
#102
|
|||
|
|||
How do I call an integer setting?
I have <bitfield intperm="true" name="tunez_votes" group="tunez_perm" phrase="tunez_votes"></bitfield> And I have the value set to 1 in the usergroup permissions page. But I can't seem to call it, any ideas? |
#103
|
||||
|
||||
Thank you for this article. It helps me a lot with a mod that I will be creating soon.
|
#104
|
|||
|
|||
Does this work with 3.8.7, because it's not saving the value...
|
#105
|
|||
|
|||
Can this documentation be used with vb4? Is this still valid??
|
#106
|
||||
|
||||
I've used it in vB4 and haven't found any issues or errors. If your doing something sensitive I would wait for a definitive answer though.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|