View Single Post
  #38  
Old 10-23-2005, 02:30 PM
jdh jdh is offline
 
Join Date: Mar 2005
Location: Toronto
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

On thing that's really been missing in vBulletin IMHO is group-centric management (ie, select a group and then add/remove users). However, this plug-in looks like it might help me...

In my particular case, I run a private board for a youth organization with some forums that are only accessible by users in a certain training level, and other forums that are only accessible by users in a certain team. Both of these groupings are a reflection of their level and membership within the organization, as opposed to the board itself.

Normally, the level changes each year (assuming they pass), and the team membership can change fairly regularly as well.

Traditionally, I have used secondary groups for this, but as I mentioned above, that's a pain to maintain (since I can't just select the "Level 1" group and add fifteen members... Rather, I have to select each of the fifteen members manually and add them to the "Level 1" group as a secondary group).

However, the use of a custom profile field to control their membership would greatly simplify this for me, since not only would it control the group membership easily, but it would also allow me to import this information from an existing database (since I do already have it stored in a membership database).

There would be a couple of things that I would need to consider...

Firstly, I would need it to hook into somewhere else other than user registration, since the profile fields will change from time to time for existing users. I'm thinking of a hook into forumhome_start or somewhere related to login. This particular board only has about 200 users, so I'm not overly concerned about performance issues (although I'd like to avoid any glaring one). Any thoughts on a more suitable hook for this purpose?

The second problem, which is a more complex one, would be have it remove any groups for which the user is no longer. In other words, if the user is now in Level 2, they should be removed from the Level 1 group (or, put more simply, I guess they could be removed from ALL level groups and then re-added to the one that matches their profile field). The same would need to occur for the team groups (they can only be a member of one team at a time).

Any thoughts or advice on how to accomplish this would be very helpful. I don't consider myself a novice in programming, but I would like to benefit from the advice of those more experienced in working with vBulletin (especially the new 3.5 hooks system) before I attempt any of this myself...
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01131 seconds
  • Memory Usage 1,768KB
  • 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
  • (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