Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 04-18-2010, 04:47 PM
Jaxel Jaxel is offline
 
Join Date: Sep 2005
Posts: 1,160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Default Bitfield Permissions?

I have the following usergroup permissions file:

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<bitfields product="medialibrary">
	<bitfielddefs>
		<group name="ugp">
			<group name="medialibperms">
				<bitfield group="medialibperms" name="canview" phrase="can_media_view" install="1,2,3,4,5,6,7">1</bitfield>
				<bitfield group="medialibperms" name="candeta" phrase="can_media_deta" install="1,2,3,4,5,6,7">2</bitfield>
				<bitfield group="medialibperms" name="cansubm" phrase="can_media_subm" install="2,5,6,7">4</bitfield>
				<bitfield group="medialibperms" name="cancomm" phrase="can_media_comm" install="2,5,6,7">8</bitfield>
				<bitfield group="medialibperms" name="canrate" phrase="can_media_rate" install="2,5,6,7">16</bitfield>
				<bitfield group="medialibperms" name="canrepo" phrase="can_media_repo" install="2,5,6,7">32</bitfield>
			</group>
			<group name="medialibmodperms">
				<bitfield group="medialibmodperms" name="canmodsubm" phrase="can_media_mod_subm" install="5,6,7">1</bitfield>
				<bitfield group="medialibmodperms" name="canmodcomm" phrase="can_media_mod_comm" install="5,6,7">2</bitfield>
				<bitfield group="medialibmodperms" name="canmoddeta" phrase="can_media_mod_deta" install="6">4</bitfield>
				<bitfield group="medialibmodperms" name="canmodtags" phrase="can_media_mod_tags" install="6">8</bitfield>
				<bitfield group="medialibmodperms" name="canmodcats" phrase="can_media_mod_cats" install="6">16</bitfield>
				<bitfield group="medialibmodperms" name="canmodhost" phrase="can_media_mod_host" install="6">32</bitfield>
			</group>
		</group>
	</bitfielddefs>
</bitfields>
Code:
			<installcode><![CDATA[
				require_once(DIR . '/includes/class_dbalter.php');
				$dbalter = new vB_Database_Alter_MySQL($db);

				echo('<ul>');
				echo('<li>Altering Table <strong>usergroup</strong> ...');
				vbflush();

				$dbalter->fetch_table_info('usergroup');
				$dbalter->add_field(array('name'=>'medialibperms','type'=>'INT','length'=>'10','attributes'=>'UNSIGNED','null'=>false,'default'=>'0'));
				$dbalter->add_field(array('name'=>'medialibmodperms','type'=>'INT','length'=>'10','attributes'=>'UNSIGNED','null'=>false,'default'=>'0'));

				echo('Done!</li>');
				echo('</ul>');
				vbflush();
			]]></installcode>
As you can see, I am using the "install=" parameter to give permission to certain usergroups by default. In VB3x, this worked fine for me. However, I have determined that this parameter is no longer functioning as intended. Now it appears that none of my usergroups are getting any permissions by default. What am I doing wrong for VB4x?
Reply With Quote
  #2  
Old 04-19-2010, 05:03 PM
Jaxel Jaxel is offline
 
Join Date: Sep 2005
Posts: 1,160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay... update to this problem... I am using the following code in a plugin:
Code:
$perms['submit'] = ($permissions['medialibperms'] & $vbulletin->bf_ugp_medialibperms['cansubm']);

And then later in the plugin it calls for a template, and in that template I have the following:
Code:
<vb:if condition="$perms['submit']">
	<li><a href="{vb:raw href.submit}">{vb:phrase media_submit}</a></li>
</vb:if>

The template call works fine, as if I change the first line to code to the following, it successfully conditions the IF:
Code:
$perms['submit'] = true;

However, that means that the first line of code is inherently broken. The code works great in my PHP files, however in this plugin, it doesn't. I have global $permission set in the plugin, so there is no reason the permission shouldn't work. It works on MY forum, but it doesn't seem to work on everybody's. Is there something I am missing?

--------------- Added [DATE]1271701703[/DATE] at [TIME]1271701703[/TIME] ---------------

New update... the following code works...
Code:
$perms['submit'] =$vbulletin->bf_ugp_medialibperms['cansubm'];

Why does this part of the code fail? It doesn't fail on MY forum, but it fails on others.
Code:
$permissions['medialibperms']
--------------- Added [DATE]1271702950[/DATE] at [TIME]1271702950[/TIME] ---------------

Okay... another update

$perms['submit'] = $vbulletin->bf_ugp_medialibperms['cansubm']; ALWAYS RETURNS TRUE (not good)

So in order to get permissions to work, you MUST use:

$perms['submit'] = ($permissions['medialibperms'] & $vbulletin->bf_ugp_medialibperms['cansubm']);

Once again, works great on my forum... not working on some other people's forums... Is there a reason why?
Reply With Quote
  #3  
Old 04-21-2010, 03:20 PM
Jaxel Jaxel is offline
 
Join Date: Sep 2005
Posts: 1,160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Has anyone been able to figure this out for me? There are TWO different issues here...
Reply With Quote
  #4  
Old 12-22-2010, 08:16 AM
Neo_obs Neo_obs is offline
 
Join Date: Mar 2006
Location: Disneyland, CA
Posts: 363
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you ever get this working correctly? Does it still work on your forum but not on others?

Just wondering because I have the same issue and was wondering if maybe we can figure this out.
Reply With Quote
  #5  
Old 12-22-2010, 07:24 PM
randyv12 randyv12 is offline
 
Join Date: Sep 2010
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i actually tested the vb database alter code on my user table and it actually added medialibs
i'm thinking maybe its your vbflush() call because once i actually added those in my code the script stopped on that point.. i ran it on a debugger :P

i tested this on a separate vb page tho... i dont even know how vbflush works.. all the doc says is that it will output a buffer to the browser..
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:25 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07419 seconds
  • Memory Usage 2,200KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (7)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete