Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
Prev Previous Post   Next Post Next
  #1  
Old 03-27-2006, 11:12 AM
makaiguy's Avatar
makaiguy makaiguy is offline
 
Join Date: May 2004
Location: Aiken, SC, USA
Posts: 150
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Auto-entry in membergroup by field in profile - 3.5.4

Quick background:
In 3.0.7, I use the following code in phpinclude_start template. Every time a user logs on, it checks for our organization's member password entered into custom field5 in user's profile. The user is then added to or removed from a particular secondary usergroup depending on whether field5 matches the organization password stored in a custom $vbphrase. Membership in the secondary usergroup is used to control access to private forums and a couple of other things on the board. We do it this way because the password changes periodically and we wish all users to have to re-enter the current password into their profiles when the password is updated to prove they are current members and have the current password.
PHP Code:
// Add or remove user from secondary usergroup 12
// according to Org Pwd value in user's profile field5

if ($bbuserinfo[field5] == $vbphrase[org_member_password]) // Correct pwd in profile
{
if (
$bbuserinfo[membergroupids] == ''// if no membergroupids already set, set to 12
{
$updatefields $DB_site->query("
UPDATE user
SET membergroupids='12'
WHERE userid=
$bbuserinfo[userid]
"
);
}
elseif ((
strpos($bbuserinfo[membergroupids], '12'))=== false// else if group 12 not found add 12 to list
{
$updatefields $DB_site->query("
UPDATE user
SET membergroupids=concat_ws(',', membergroupids, '12')
WHERE userid=
$bbuserinfo[userid]
"
);
}
}
else 
// Correct pwd not in profile
{
if (
$bbuserinfo[membergroupids] == '12'// 12 only usergroup listed
// so blank it out
$updatefields $DB_site->query("
UPDATE user
SET membergroupids=''
WHERE (userid=
$bbuserinfo[userid])
"
);
}
else 
// 12 could be one of several
// remove it if it's there
$updatefields $DB_site->query("
UPDATE user
SET membergroupids=if(instr(membergroupids, ',12') >0, replace(membergroupids, ',12', ''), replace(membergroupids, '12,', ''))
WHERE (userid=
$bbuserinfo[userid]) AND (find_in_set('12', membergroupids))
"
);
}
}

The problem: This doesn't seem to work in 3.5.4. I'm guessing the problem is that the syntax needed to access the $bbuserinfo fields in the various if() statements has changed (??), and maybe the required query code itself. I can't activate 3.5.4 until I can get this working, as it is essential to the board. Can anybody suggest the needed code changes?

And as a secondary question, is there someplace I can relocate the code to that it would work instantly as the user updates his profile instead of waiting for his next login?
Reply With Quote
 

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 03:18 AM.


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.04763 seconds
  • Memory Usage 2,761KB
  • Queries Executed 12 (?)
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)bbcode_code
  • (11)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (11)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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