PDA

View Full Version : Users choose Usergroup on reg...


Buczilla
06-18-2003, 09:04 PM
I need a hack that lets users choose their usergroup on registration... but never change it after that.

Buczilla
06-26-2003, 12:36 AM
bump

Chris M
06-26-2003, 07:32 PM
Run this query:
ALTER TABLE usergroup ADD userchoose smallint(6) NOT NULL DEFAULT '0'
Open admin/usergroup.php:
Find:
makeyesnocode("Viewable on <a href=\"../showgroups.php?s=$session[sessionhash]\" target=\"_blank\">Show Groups</a>?","showgroup",1);
Add below:
makeyesnocode("User can select to join this group on registration?","userchoose",0);
Find:
usergroup (usergroupid,title,usertitle,
Replace with:
usergroup (usergroupid,title,usertitle,userchoose,
Find:
NULL,'".addslashes($title)."','".addslashes($usertitle)."',
Replace with:
NULL,'".addslashes($title)."','".addslashes($usertitle)."','$userchoose',
Find:
if (($usergroupid != 1 and $usergroupid != 2 and $usergroupid != 3 and $usergroupid != 4 and $usergroupid != 7) or $usergroup['showgroup'] == 1) {
makeyesnocode("Viewable on <a href=\"../showgroups.php?s=$session[sessionhash]\" target=\"_blank\">Show Groups</a>?","showgroup",$usergroup[showgroup]);
} else {
makehiddencode("showgroup",0);
}
Add below:
makeyesnocode("User can select to join this group on registration?","userchoose",$usergroup[userchoose]);
Find:
usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',
Replace with:
usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',userchoose='$userchoose',
Open root/register.php:
Find:
// User selectable style sets
$stylesetlist = "";
if ($allowchangestyles==1) {
$stylesets=$DB_site->query("SELECT * FROM style WHERE userselect=1");
while($thisset=$DB_site->fetch_array($stylesets)) {
if ($bbuserinfo[styleid]==$thisset[styleid]) {
$selected = "selected";
} else {
$selected = "";
}
$thisid = $thisset[styleid];
$thisstylename = $thisset[title];

eval ("\$stylesetlist .= \"".gettemplate("modifyoptions_styleset")."\";");
altbgcolor($prf_bgcolor);
eval ("\$stylecell = \"".gettemplate("register_stylecell")."\";");
}
} else {
$stylecell = "";
}
Add below:
// User selectable usergroups
$usergrouplist = "";
$usergroups=$DB_site->query("SELECT * FROM usergroup WHERE userchoose=1");
while($thisgroup=$DB_site->fetch_array($usergroups)) {

$thisisid = $thisgroup[usergroupid];
$thisisgroupname = $thisgroup[title];

eval ("\$usergrouplist .= \"".gettemplate("modifyoptions_usergroup")."\";");
altbgcolor($prf_bgcolor);
eval ("\$groupcell = \"".gettemplate("register_groupcell")."\";");
}
Find:
if ($allowchangestyles==1) {
$newstylefield = "styleid,";
$newstyleval = "'".intval($newstyleset)."',";
} else {
$newstylefield = "";
$newstyleval = "";
}
Add below:
$newgroupid = "'".intval($newusergroup)."',";
Find:
'$newusergroupid',
Replace with:
'$newgroupid',
Create new template: register_groupcell
<tr>
<td bgcolor="{ firstaltcolor }"><normalfont><b>Usergroup:</b><br>
<smallfont>You make pick a usergroup from the list to belong to.</smallfont></normalfont></td>
<td bgcolor="{ firstaltcolor }"><smallfont><select name="newusergroup">
$usergrouplist
</select></smallfont></td>
Remember: Remove the spaces in { firstaltcolor }
Create new template: modifyoptions_usergroup
<option value="$thisisid" $selected> $thisisgroupname </option>
Edit template: registeradult (and registercoppa)
Find:
$stylecell
Replace with:
$stylecell
$groupcell
:)

All should work;):)

Satan

Buczilla
06-27-2003, 01:46 AM
Thanks so much... I've been needing this forever! Anyways... I got one little error when trying to register

Database error in vBulletin 2.3.0:

Invalid SQL: INSERT INTO user
(userid,username,password,email,parentemail,coppau ser,homepage,icq,aim,yahoo,signature,adminemail,sh owemail,invisible,usertitle,joindate,cookieuser,da ysprune,lastvisit,lastactivity,usergroupid,timezon eoffset,emailnotification,receivepm,emailonpm,opti ons,birthday,maxposts,startofweek,ipaddress,pmpopu p,referrerid,nosessionhash,avatarid)
VALUES
(NULL,'seahawkin','d8927d2b97ba50b1f48f711177c62f5 a','sigpics@nfl-world.com','','0','http://','','','','','1','1','0','Rookie','1056681936','1 ','-1','1056681936','1056681936',''25',','0','0','1',' 0','15','0','-1','1','65.34.95.31','0','0','1','0')
mysql error: You have an error in your SQL syntax near
'25',','0','0','1','0','15','0','-1','1','65.34.95.31','0','0','1','0')' at line
1

mysql error number: 1064

Date: Thursday 26th of June 2003 07:45:36 PM
Script: http://www.nfl-world.com/forums/forums/register.php
Referer: http://www.nfl-world.com/forums/register.php



Thanks again!

Logician
06-27-2003, 09:52 AM
also might help:
https://vborg.vbsupport.ru/showthread.php?s=&threadid=36547&highlight=register%2A

Chris M
06-27-2003, 04:43 PM
''25',','0'

That looks like there may be an extra set of '' s that are either in the wrong place or should not be there - Can you post the code from register.php where it inserts the user?:)

Satan

Buczilla
06-27-2003, 04:53 PM
$DB_site->query("INSERT INTO user (userid,username,password,email,".$newstylefield."parentemail,coppauser,homepage,icq,aim,yahoo,signa ture,adminemail,showemail,invisible,usertitle,join date,cookieuser,daysprune,lastvisit,lastactivity,u sergroupid,timezoneoffset,emailnotification,receiv epm,emailonpm,options,birthday,maxposts,startofwee k,ipaddress,pmpopup,referrerid,nosessionhash,avata rid) VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".addslashes(md5($password))."','".addslashes(htmlspecialchars($email))."',".$newstyleval."'".addslashes(htmlspecialchars($parentemail))."','$coppauser','".addslashes(htmlspecialchars($homepage))."','".addslashes(htmlspecialchars($icq))."','".addslashes(htmlspecialchars($aim))."','".addslashes(htmlspecialchars($yahoo))."','".addslashes($signature)."','$adminemail','$showemail','$invisible','".addslashes($usertitle)."','".time()."','$cookieuser','".addslashes($prunedays)."','".time()."','".time()."','$newgroupid','".addslashes($timezoneoffset)."','$emailnotification','$receivepm','$emailonpm',' $options','".addslashes($birthday)."','".addslashes($umaxposts)."','".addslashes($startofweek)."','".addslashes($ipaddress)."','$pmpopup','".addslashes($testreferrerid['userid'])."','$nosessionhash','$avatarid')");
$userid=$DB_site->insert_id();


That?

Chris M
06-27-2003, 04:56 PM
Hmm it all appears to be ok...

:confused:

Satan

Buczilla
06-27-2003, 04:57 PM
Today at 11:52 AM Logician said this in Post #5 (https://vborg.vbsupport.ru/showthread.php?postid=413292#post413292)
also might help:
https://vborg.vbsupport.ru/showthread.php?s=&threadid=36547&highlight=register%2A

That's exactly what I need it for... but I'll just use this one from Satan... since he already took the time to start it, and, previewing it, it is exactly what i need.

Thanks anyways :)

Buczilla
06-27-2003, 05:06 PM
Today at 06:56 PM hellsatan said this in Post #8 (https://vborg.vbsupport.ru/showthread.php?postid=413422#post413422)
Hmm it all appears to be ok...

:confused:

Satan


hm....

Logician
06-28-2003, 07:25 AM
Yesterday at 08:56 PM hellsatan said this in Post #8 (https://vborg.vbsupport.ru/showthread.php?postid=413422#post413422)
Hmm it all appears to be ok...

:confused:

Satan
Chris you are adding ' to new usergroupid here:


$newgroupid = "'".intval($newusergroup)."',";


and thus making it a string, then you are trying to insert its value into database as if its an integer:

'".time()."','$newgroupid','".addslashes($timezoneoffset)."',

It is not an integer anymore, it holds value:

'11',

which is a string and 's in it clashes with query string..

Buczilla
06-28-2003, 05:52 PM
Today at 09:25 AM Logician said this in Post #11 (https://vborg.vbsupport.ru/showthread.php?postid=413638#post413638)
Chris you are adding ' to new usergroupid here:


$newgroupid = "'".intval($newusergroup)."',";


and thus making it a string, then you are trying to insert its value into database as if its an integer:

'".time()."','$newgroupid','".addslashes($timezoneoffset)."',

It is not an integer anymore, it holds value:

'11',

which is a string and 's in it clashes with query string..
What do I need to change to fix it? Thanks... :)

Buczilla
06-29-2003, 05:32 PM
bump, need it to work.


Also, just wondering... if they select a group that has full forum access, will it eliminate the E-Mail Confirmation? Is there a way to get around this if so? If not, that's ok... this hack is more important to me :)

Buczilla
07-28-2003, 02:16 AM
did we ever figure this out???

BlackxRam
12-17-2003, 02:54 AM
Ill be using this hack soon aswell, Buczilla if your still around i think he means to replace the ' witht eh usergroup ID number, which is why he referenced the #11.

DDad
12-29-2005, 08:34 PM
Does this work on 3.5.1 or .2?

Logician
12-30-2005, 05:05 AM
Does this work on 3.5.1 or .2?
nope