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. |
#42
|
||||
|
||||
Quote:
|
#43
|
|||
|
|||
Can you make a specific user be allowed to use html?
If so, how? EDIT: hey, I have an idea, could I make a secondary usergroup that has it enabled, put the desired user as secondary usergroup for it, but have him display as his primary one? Will that work? If not.....what will? sorry guys...wrong thread. rofl... |
#44
|
||||
|
||||
Yes it will work, if the primary usergroup does allow membergroups.
|
#45
|
|||
|
|||
i am pretty sure there is a plugin for that which may make things a little neater....
|
#46
|
|||
|
|||
I got the same error someone else got about the escape strings
In the product I have I put that "Rebuild Bitfields" script Andreas wrote Code:
<plugins>
<plugin active="1">
<title>Testimonialss</title>
<phpcode><![CDATA[ // Rebuild Bitfields
require_once(DIR . '/includes/class_bitfield_builder.php');
vB_Bitfield_Builder::save($db);
$myobj =& vB_Bitfield_Builder::init();
$groupinfo = array();
for ($x = 1; $x < 9; $x++)
{
$groupinfo["$x"]['mypermissions'] = 0;
}
foreach ($myobj->data['ugp']['mypermissions'] AS $permtitle => $permvalue)
{
if (empty($permvalue['group']))
{
continue;
}
if (!empty($permvalue['install']))
{
foreach ($permvalue['install'] AS $gid)
{
$groupinfo["$gid"]['mypermission'] += $permvalue['value'];
}
}
}
foreach ($groupinfo AS $usergroupid => $permissions)
{
$db->query_write("UPDATE " . TABLE_PREFIX . "usergroup SET mypermissions=$permissions[mypermissions] WHERE usergroupid=$usergroupid");
}
build_forum_permissions();]]></phpcode>
</plugin>
</plugins>
Here's my bitfield Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <bitfields product="testimonials"> <bitfielddefs> <group name="ugp"> <group name="testimonials"> <bitfield name="can_mod_testimonials" group="testimonials_permissions" phrase="can_mod_testimonials" install="">1</bitfield> </group> </group> </bitfielddefs> </bitfields> |
#47
|
||||
|
||||
You must use the Code as Product install Code.
|
#48
|
|||
|
|||
It was in a product but removed the plugin tags around it.
when I upload the product I get this error Code:
### INSERT QUERY GENERATED BY fetch_query_sql() ### INSERT INTO plugin (`active`, `value`, `product`) VALUES ('1', '\r\n ', 'testimonials-Harmor19'); MySQL Error : Unknown column 'value' in 'field list' |
#49
|
||||
|
||||
Did you create the product XML by hand?
There is almost no chance the product manager would generate smth. like that ... |
#50
|
|||
|
|||
Well I took references frommy other product xml's.
Thanks. Now I'm on to update my testimonials mod. |
#51
|
|||
|
|||
Hi, this is the XML I'm trying to use:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?> <bitfields product="vBulletin"> <bitfielddefs> <group name="ugp"> <group name="charlimit"> <bitfield name="isexempt" group="post_thread_permissions" phrase="exempt_from_char_limit"></bitfield> </group> </group> </bitfielddefs> </bitfields> |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|