![]() |
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']) 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") |
Try this:
Code:
else if ($vbulletin->userinfo['field12'] != "Venue") |
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) Annnnnd this won't work... Code:
if ($vbulletin->options['verifyemail']) --------------- 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']) |
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']) |
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") 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']) |
!= means is not equal to
== means is equal to |
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) Code:
else if ($vbulletin->userinfo['field7'] == "Entertainer") |
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.
|
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";} |
I just thought of something. How can there be a user field for any users BEFORE they register?
|
LOL! I wasn't sure if that was something that it checked as it was processing the registration fields. So do you think I would have to use another method of creating those options? Well doesn't the system store the custom profile field that is input during registration somewhere? It would have to. Especially being that you can make them required upon registration. Those values get stored somehow.
Of course, I guess that wouldn't work if the values are not stored prior to the script checking the values. ugh. What to do? |
Yes, they do get stored, but not until after registration. I apologize for not catching that before now. I should know better than that.
You would need to create a mod for what you are trying to do and then make a setting to handle that. But I still don't see how it can be done BEFORE they register if you are wanting to use a profile field. |
What if....
I have email activation enabled which puts them and their profile information into usergroup 3 (storing their profile field data), then include the code to check the field variable and put them in the correct usergroup once they click the activation link? Would that work? |
Yes, but how do you determine what usergroup they need to go into? Who decides?
|
During registration, that profile field would be required. So they select say "Venue", then are pushed to "awaiting email activation" usergroup. Thus storing that selected profile field option. So once they click the acitvation link, that is sent through register.php again where we could possibly add some code to say what we were trying to do initially (or some variation)...
Code:
if ($vbulletin->userinfo['field7'] == "Entertainer") |
Yes, that should work that way.
|
I am not sure how to go about implementing that. Any suggestions? It drives me crazy that I can see the solution in front of me, but not know exactly how to code it. Grrr! LOL!
|
PM on the way.
|
All times are GMT. The time now is 06:56 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|