Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-26-2011, 07:57 PM
AFemaleProdigy's Avatar
AFemaleProdigy AFemaleProdigy is offline
 
Join Date: Mar 2006
Location: Murrells Inlet, SC
Posts: 216
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How can I modify this in register.php?

I have been trying for some time now to figure out how to create the option in user registration for the user to select which usergroup they are placed in. All I keep hearing is "pay someone to do it" or I get referred to mods that no longer work. And I see that many other people have asked about this as well, and not gotten any answers.

I don't have the money to hire someone to do this right now and need it done asap. I want to know how to do this myself. I understand the general concept, but I need some direction with the specific code.

Right now I am looking at register.php and am thinking that I need to modify this line of code to include the function that says "if userinfo.field12 = xyz, then place user in usrgeroup xx". So, assuming the user chooses their usergroup on the register.php page (which is generated by a custom profile field), then they are placed into the appropriate group.

The default code below says (correct me if I am wrong): If user email needs verified, place into usergroup 3. Otherwise if user needs to be moderated, place into usergroup 4. Otherwise place all other users in default usergroup 2.

Code:
if ($vbulletin->options['verifyemail'])
 {
  $newusergroupid = 3;
 }
 else if ($vbulletin->options['moderatenewmembers'] OR $vbulletin->GPC['coppauser'])
 {
  $newusergroupid = 4;
 }
 else
 {
  $newusergroupid = 2;
 }
So how could I write it to say all of that, plus modify the last else to say " else if userinfo.field12=x, place into usergroup xx. Then repeat for each userfield/usergroup option that can be selected?

If someone would help me with this I would greatly appreciate it!

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

Trying to figure this out. I came up with this and know it is not right, but I feel like I am so close! Ideas??

Code:
else if ($vbulletin->options['userinfo.field12'] != "Venue")
 {
  $newusergroupid = 10;
Reply With Quote
  #2  
Old 06-26-2011, 08:16 PM
HMBeaty's Avatar
HMBeaty HMBeaty is offline
 
Join Date: Sep 2005
Posts: 4,141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this:
Code:
else if ($vbulletin->userinfo['field12'] != "Venue")
 {
  $newusergroupid = 10;
Reply With Quote
  #3  
Old 06-26-2011, 08:52 PM
AFemaleProdigy's Avatar
AFemaleProdigy AFemaleProdigy is offline
 
Join Date: Mar 2006
Location: Murrells Inlet, SC
Posts: 216
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks! However, I am not able to get that to work. I should probably also mention that the curstom field is a drop down menu (don't know if that matters). So I tried a variation of the following to select the particular option ID selected:

Code:
else if ($vbulletin->userinfo['field7'] != 5)
    {
     $newusergroupid = 10;
 }
So 5 = Venue, but that doesn't seem to work either. It is still putting users in the default 2 group.

Annnnnd this won't work...

Code:
if ($vbulletin->options['verifyemail'])
 {
  $newusergroupid = 3;
 }
 else if ($vbulletin->options['moderatenewmembers'] OR $vbulletin->GPC['coppauser'])
 {
  $newusergroupid = 4;
 }
 else if ($vbulletin->userinfo['field7'] != "Venue")
    {
     $newusergroupid = 10;
 }
 else
 {
  $newusergroupid = 2;
 }
hmmm...

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

Hey... could it be that I should be editing this instead?? I am using email activation. So upon clicking the activation link, it is putting user into default 2 group. Maybe I need to put that line of code into this somewhere??

Code:
if ($vbulletin->options['verifyemail'])
   {
    $activateid = build_user_activation_id($userid, (($vbulletin->options['moderatenewmembers'] OR $vbulletin->GPC['coppauser']) ? 4 : 2), 0);
    eval(fetch_email_phrases('activateaccount'));
    vbmail($email, $subject, $message, true);
   }
   else if ($newusergroupid == 2)
   {
    if ($vbulletin->options['welcomemail'])
    {
     eval(fetch_email_phrases('welcomemail'));
     vbmail($email, $subject, $message);
    }
   }
Reply With Quote
  #4  
Old 06-26-2011, 08:56 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Do you want them in the 10 usergroup is Venue shows up for the field?

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

If so, try this:

Code:
if ($vbulletin->options['verifyemail'])
{
	$newusergroupid = 3;
}
else if ($vbulletin->options['moderatenewmembers'] OR $vbulletin->GPC['coppauser'])
{
	$newusergroupid = 4;
}
else if ($vbulletin->userinfo['field7'] == "Venue")
{
	$newusergroupid = 10;
}
else
{
	$newusergroupid = 2;
}
Reply With Quote
  #5  
Old 06-26-2011, 09:06 PM
AFemaleProdigy's Avatar
AFemaleProdigy AFemaleProdigy is offline
 
Join Date: Mar 2006
Location: Murrells Inlet, SC
Posts: 216
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okaaay... so I did some experimenting thinking maybe the email activation was interfering and it turns out that it was. So this DOES work if email activation is turned off. So the next hurdle is, how to keep email activation enabled and have this work?

And yes, if the user selects drop down otion "Venue", then they will be placed into usergroup 10 which is for Venues only.

Code:
else if ($vbulletin->userinfo['field7'] != "Venue")
    {
     $newusergroupid = 10;
 }
--------------- Added [DATE]1309126284[/DATE] at [TIME]1309126284[/TIME] ---------------

So pending email activation throws them into usergroup 3, nullifying the line that says if field7 is "venue" put them into usergroup 10. Then when they click the activation link, they still bypass that line and are put into default group 2. How do I modify that?

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

I'm thinking maybe this is where the issue is?

Code:
if ($vbulletin->options['verifyemail'])
   {
    $activateid = build_user_activation_id($userid, (($vbulletin->options['moderatenewmembers'] OR $vbulletin->GPC['coppauser']) ? 4 : 2), 0);
    eval(fetch_email_phrases('activateaccount'));
    vbmail($email, $subject, $message, true);
   }
   else if ($newusergroupid == 2)
   {
    if ($vbulletin->options['welcomemail'])
    {
     eval(fetch_email_phrases('welcomemail'));
     vbmail($email, $subject, $message);
    }
   }
Reply With Quote
  #6  
Old 06-26-2011, 09:25 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

!= means is not equal to
== means is equal to
Reply With Quote
  #7  
Old 06-26-2011, 09:38 PM
AFemaleProdigy's Avatar
AFemaleProdigy AFemaleProdigy is offline
 
Join Date: Mar 2006
Location: Murrells Inlet, SC
Posts: 216
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm... well... did some more testing based on the != vs == and am not sure what to think of it.

If I use !- then it seems to work properly. If I select option "Venue", then it moves me to usergroup 10. If I select another option like "Patron", it moves me to the default usergroup 2.

If I use == then nothing I choose puts me into usergroup 10 like it should. What do you make of that?

And thanks for your help guys! You are awesome!!

--------------- Added 26 Jun 2011 at 18:43 ---------------

yeah, that is not right.. but the == isn't working either. hmmm

--------------- Added 26 Jun 2011 at 18:55 ---------------

So I can't get this to work

Code:
else if ($vbulletin->userinfo['field7'] == 11)
    {
     $newusergroupid = 9;
 }
Or this (which should equal the same as above)

Code:
else if ($vbulletin->userinfo['field7'] == "Entertainer")
    {
     $newusergroupid = 9;
 }
Reply With Quote
  #8  
Old 06-26-2011, 10:00 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, you have to make sure that Venue is spelled correctly and it IS case-sensitive. How do you have the option set your that? It has to be Venue to work with the code I posted.
Reply With Quote
  #9  
Old 06-26-2011, 10:02 PM
AFemaleProdigy's Avatar
AFemaleProdigy AFemaleProdigy is offline
 
Join Date: Mar 2006
Location: Murrells Inlet, SC
Posts: 216
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

These are the values in the database table...

Code:
a:4:{i:0;s:6:"Patron";i:1;s:11:"Entertainer";i:2;s:5:"Venue";i:3;s:14:"Venue Employee";}
That is for profilefieldid 7
Reply With Quote
  #10  
Old 06-26-2011, 10:04 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just thought of something. How can there be a user field for any users BEFORE they register?
Reply With Quote
Благодарность от:
LifesGreatestGift
Reply


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 07:14 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.04478 seconds
  • Memory Usage 2,270KB
  • Queries Executed 11 (?)
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
  • (12)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (1)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete