View Single Post
  #2  
Old 04-13-2009, 06:39 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I love it when people actually have the code for a mod they're developing. It makes things so much more fun and interesting.

That said, check this out for your Assign Random Usergroup From List plugin at hook register_addmember_process:
PHP Code:
if ($vbulletin->options['fpx_rndm_usrgrp_list'] AND !$vbulletin->options['verifyemail']) {
    
$rndgroups preg_split("/[\s,]+/"$vbulletin->options['fpx_rndm_usrgrp_list']);
    
    
$newusergroupid $rndgroupsrand0count($rndgroups)-) ];
    
    
$userdata->set('usergroupid'$newusergroupid);

Much simpler than your plugin code, should work great for the non-mail verfication boards.

Next, for the mail verification boards...

Hook: register_activate_process
PHP Code:
if ($vbulletin->options['fpx_rndm_usrgrp_list']) {
    
$rndgroups preg_split("/[\s,]+/"$vbulletin->options['fpx_rndm_usrgrp_list']);
    
    
$userinfo['usergroupid'] = $rndgroupsrand0count($rndgroups)-) ];
}
$vbulletin->userinfo['usergroupid'] = $user['usergroupid'] = $userinfo['usergroupid'];
$userdata->set('usergroupid'$user['usergroupid']);

/*//reset some usergroup/usertitle caches
$getusergroupid = iif($userinfo['displaygroupid'] != $userinfo['usergroupid'], $userinfo['displaygroupid'], $user['usergroupid']);

$user_usergroup =& $vbulletin->usergroupcache["$user[usergroupid]"];
$display_usergroup =& $vbulletin->usergroupcache["$getusergroupid"];

//reset the usertitle
$userdata->set_usertitle(
    $user['customtitle'] ? $user['usertitle'] : '',
    false,
    $display_usergroup,
    ($user_usergroup['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canusecustomtitle']) ? true : false,
    ($user_usergroup['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cancontrolpanel']) ? true : false
);
if ($user['userid'] == $vbulletin->userinfo['userid'])
{
    $vbulletin->userinfo['usergroupid'] = $user['usergroupid'];
    $vbulletin->userinfo['displaygroupid'] = $user['usergroupid'];
}
*/ 
The code in the commented section isn't really necessary. The info should be updated when the cron for it runs, then again if you want to include it that's up to you.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01280 seconds
  • Memory Usage 1,790KB
  • 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
  • (2)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