View Single Post
  #58  
Old 05-17-2005, 01:13 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

snotek

Make the following changes to your vbulletinCMS file (whichever one you are using).

Find;
PHP Code:
$this->getUserStmt = new Statement("SELECT userid AS id, username AS login, usergroupid FROM {$GLOBALS['tableprefix']}user WHERE userid=?"); 
Replace with;
PHP Code:
$this->getUserStmt = new Statement("SELECT userid AS id, username AS login, usergroupid, membergroupids FROM {$GLOBALS['tableprefix']}user WHERE userid=?"); 
Find;
PHP Code:
$rec['roles'] = $this->getRoles($rec['usergroupid']); 
Replace with;
PHP Code:
$rec['usergroupid'] .= ",".$rec['membergroupids'] ; //added by Paul M
$rec['roles'] = $this->getRoles($rec['usergroupid']); 
Find the getRoles function ;
PHP Code:
function getRoles($usergroupid) {

# current block of code # >


Replace it with a new version ;
PHP Code:
  // Paul M Version - Edit to set user roles for different vB usergroups 
  
function getRoles($usergroupid) {

    
// Set default access
    
$userrole ROLE_NOBODY ;

    
$groups explode(',',$usergroupid);

    
// Set Allowed groups
    
if (in_array(2,$groups)) $userrole ROLE_USER;
    if (
in_array(7,$groups)) $userrole ROLE_USER;

    
//Set Staff groups
    
if (in_array(5,$groups)) $userrole ROLE_ADMIN;
    if (
in_array(6,$groups)) $userrole ROLE_ADMIN;

    
//Set Banned groups
    
if (in_array(8,$groups)) $userrole ROLE_NOBODY;
    if (
in_array(9,$groups)) $userrole ROLE_NOBODY;

    return 
$userrole;
  } 
Edit the above function for your usergroups. This is working fine on my test system.

This version assigns access in the following priority based on both primary and secondary groups.

1. Assign default access (which is set to NO access).
2. If they are a member of an allowed group, grant USER access.
3. If they are a member of a staff group, grant ADMIN access.
4. If they are a member of a banned group, grant NO access.

Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01490 seconds
  • Memory Usage 1,793KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete