The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
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; } 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; |
#2
|
||||
|
||||
Try this:
Code:
else if ($vbulletin->userinfo['field12'] != "Venue") { $newusergroupid = 10; |
#3
|
||||
|
||||
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; } 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; } --------------- 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); } } |
#4
|
||||
|
||||
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; } |
#5
|
||||
|
||||
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; } 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); } } |
#6
|
||||
|
||||
!= means is not equal to
== means is equal to |
#7
|
||||
|
||||
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; } Code:
else if ($vbulletin->userinfo['field7'] == "Entertainer") { $newusergroupid = 9; } |
#8
|
||||
|
||||
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.
|
#9
|
||||
|
||||
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";} |
#10
|
||||
|
||||
I just thought of something. How can there be a user field for any users BEFORE they register?
|
Благодарность от: | ||
LifesGreatestGift |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|