#!/usr/bin/perl

print "Location: http://bb.bbboy.net/support-usercp\n\n";
exit;

use CGI qw(:standard);
use CGI::Carp "fatalsToBrowser";

$query = new CGI;
$action = $query->param('action');
$username = cookie('username');
$password = cookie('password');
$bbuser = $query->param('back');
$cleanusername = $username;
$cleanusername=~s/ /_/g;
$cleanusername=~s/\W//g;
open(BB,"/home/bbboy/public_html/bb/bb/all/members/$cleanusername.cgi");
@info = <BB>;
close(BB);

for ($x=0; $x<=$#info; $x++) {
	chomp($info[$x]);
}
if (crypt($info[1],"Mg") ne $password) {
	print "Location: http://bb.bbboy.net/register.cgi?$bbuser\n\n";
}


print "Content-type:text/html\n\n";
open(TOP,"top.html");
while (<TOP>) {print;}
close(BOT);

if (!$action) {

	$c{newonly} = "CHECKED" if ($info[16]);
	$c{userreversepostorder} = "CHECKED" if ($info[18]);
	$c{forumreply} = "CHECKED" if ($info[20]);
	$showemail = "CHECKED" if ($info[13]);
	$noshowemail = "CHECKED" if (!$info[13]);
	$wh = "CHECKED" if ($info[17]);

	open(MD,"/home/bbboy/public_html/profiles/$cleanusername");
	@ff = <MD>;
	close(MD);

	foreach (@ff) {
		foreach $gg ('website','aol','icq','location','personalbio') {
			if ($_=~/\<\!--$gg--\>/) {
				$_=~s/\<\!--$gg--\>(.*?)\<\!--\/$gg--\>//g;
				$fg{$gg} = $1;
			}
		}
	}

	open(EX,"/home/bbboy/newfex.cgi");
	@ex = <EX>;
	close(EX);

	foreach (@ex) {
		chomp;
		$newf++ if ($_ eq $cleanusername);
	}

	$newfeatures = "CHECKED" unless ($newf);

	print qq~	<style>input,select{font-family:verdana; font-size:10px;}</style>
				Hi, $username. Any changes you make here will alter this information on all Best Boards. <a href=modify.cgi?back=$bbuser&action=sigs>Click here</a> to modify signatures.
				<br><br><br>
				<form action="http://bb.bbboy.net/modify.cgi" method=post>
				<input type=hidden name=back value=$bbuser>
				<input type=hidden name=action value=save>
				<table border=0 align=center>
				<tr><td align=right><b>Show Email Address?</b></td><td><input type=radio name=showemail value="1" $showemail> Yes &nbsp; <input type=radio name=showemail value="0" $noshowemail> No</td></tr>
				<tr><td align=right><b>Web Site URL *</b></td><td><input type=text name=homepage value="$fg{website}"></td></tr>
				<tr><td align=right><b>AOL ID *</b></td><td><input type=text name=aolname value="$fg{aol}"></td></tr>
				<tr><td align=right><b>ICQ # *</b></td><Td><input type=text name=icqnumber value="$fg{icq}"></td></tr>
				<tr><td align=right><b>Location *</b></td><td><input type=text name=location value="$fg{location}"></td></tr>
				<tr><td align=right><b>Personal Bio *</b></td><td><textarea size=20 name="bio" cols="30" rows="4">$fg{personalbio}</textarea></td></tr>
				<tr><td align=right><b>Time Zone *</b></td><td>GMT + <input type=text name=timezone value="$info[4]" size=2> hours</td></tr>
				<tr><td align=right><b>Personal Picture URL *</b><br><font size=-2>(Avatar)</font></td><td><input type=text name=personalpic value="$info[7]"></td></tr>
				<tr><td align=right><b>Personal Pic Width *</b></td><td><input type=text name=ppicwidth value="$info[8]" size=3> px</td></tr>
				<tr><td align=right><b>Personal Pic Height *</b></td><td><input type=text name=ppicheight value="$info[9]" size=3> px</td></tr>
				<tr><td align=right><b>Personal Icon URL *</b></td><td><input type=text name=personalicon value="$info[10]"></td></tr>
				<tr><td align=right><b>Personal Icon Width *</b></td><td><input type=text name=piconwidth value="$info[11]" size=3> px</td></tr>
				<tr><td align=right><b>Personal Icon Height *</b></td><td><input type=text name=piconheight value="$info[12]" size=3> px</td></tr>
				<tr><td align=right><b>Date Format *</b></td><td>
					<select name=dateformat>
					<option value="hh:ii:ss <br>ddd mmm dd yyyy">11:45:03 Mon Jan 22 2002
					<option value="hh:ii:ss <br>dd/mm/yy">11:45:03 22/01/02
					<option value="hh:ii:ss <br>mm/dd/yy">11:45:03 01/22/02
					<option value="ddd mmm dd yyyy <br>hh:ii:ss">Mon Jan 22 2002 11:45:03
					</select></td></tr>
				<tr><td align=right><b>Show New Posts Only? *</b></td><td><input type=checkbox name=shownewonly value=1 $c{newonly}></td></tr>
				<tr><td align=right><b>Return to forum after replying? *</b></td><td><input type=checkbox name=forumreply value=1 $c{forumreply}></td></tr>
				<tr><td align=right><b>Be Anonymous In Who's Online? *</b></td><td><input type=checkbox name=anonymous $wh></td></tr>
				<tr><td align=right><b>Reverse Post Order? *</b><br><font size=-2>(Sends new posts to the top of the thread, over-riding admin's choice)</font></td>
					<td><input type=checkbox name=userreversepostorder $c{userreversepostorder} value=1></td></tr>
				<tr><td align=right><b>Birthday *</b></td><td><select name=birthday><option value="">Day~;
					foreach (1 .. 31) {print qq~<option value=$_>$_~;}
		print qq~</select>  <select name=birthmonth><option value="">Month~;
			@mon = qw(Bla Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
					foreach (1 .. 12) {print qq~<option value=$_>$mon[$_]~;}
		print qq~</select><input type=hidden name=prevbirth value="$info[21]"></td></tr>
				<tr><td align=right><b>Recieve updates when new features of BbBoard are released?</b></td><td><input type=checkbox name=newfeatures value=1 $newfeatures></td></tr>
				<tr><td align=right><b>Change Password?</b></td><td><input type=text name=newpass></td></tr>
				</table>
				<center><input type=submit value="Save Changes"></center></form>
			<Br><br><br><center>* Optional</center>
			~;
}
elsif ($action eq "save") {
	$info[4] = $query->param('timezone');
	$info[7] = $query->param('personalpic');
	$info[8] = $query->param('ppicwidth');
	$info[9] = $query->param('ppicheight');
	$info[10] = $query->param('personalicon');
		$info[10]=~s/</&lt;/g;
		$info[10]=~s/>/&lt;/g;
	$info[11] = $query->param('piconwidth');
	$info[12] = $query->param('piconheight');
	$info[13] = $query->param('showemail');
	$info[15] = $query->param('dateformat');
	$info[16] = $query->param('shownewonly');
	$info[17] = $query->param('anonymous');
	$info[18] = $query->param('userreversepostorder');
	# 19 - ignored users
	$info[20] = $query->param('forumreply');	
	$info[21] = $query->param('birthday')."::::".$query->param('birthmonth');
	# 22 - fav boards
	# 23 - selective pm
	# 24 - selective admin email
	# 25 - hostname login
	# 26 - ip login
	# 27 - block login

	$prevb = $query->param('prevbirth');

	if ($query->param('newfeatures')) {

		open(EX,"/home/bbboy/newfex.cgi");
		@ex = <EX>;
		close(EX);

		foreach (@ex) {
			chomp;
			$newf .= "$_\n" unless ($_ eq $cleanusername);
		}
		open(EX,">/home/bbboy/newfex.cgi");
		print EX $newf;
		close(EX);
		
	}
	else {
		open(EX,">>/home/bbboy/newfex.cgi");
		print EX "$cleanusername\n";
		close(EX);
	}

	if ($prevb) {
		($jm,$jd) = split(/::::/,$prevb);
		open(BM,"/home/bbboy/public_html/bb/bb/all/birthdays/$jm.$jd.cgi");
		while (<BM>) {
			chomp;
			if ($_ ne $username) {
				$tbadd .= $_."\n";
			}
		}
		close(BM);
		open(BM,">/home/bbboy/public_html/bb/bb/all/birthdays/$jm.$jd.cgi");
		print BM $tbadd;
		close(BM);
	}

	if ($query->param('birthday')) {
		$bd = $query->param('birthday');
		$bm = $query->param('birthmonth');
		open(BM,">>/home/bbboy/public_html/bb/bb/all/birthdays/${bm}.$bd.cgi");
		print BM "$username\n";
		close(BM);
	}



	$info[1] = $query->param('newpass') if ($query->param('newpass'));

	$gh = join("\n",@info)."\n";
	open(FB,">/home/bbboy/public_html/bb/bb/all/members/$cleanusername.cgi");
	print FB $gh;
	close(FB);

	open(PF,"/home/bbboy/public_html/profiles/$cleanusername");
	@pf = <PF>;
	close(PF);

	$fg{website} = $query->param('homepage');
	$fg{aol} = $query->param('aolname');
	$fg{icq} = $query->param('icqnumber');
	$fg{location} = $query->param('location');
	$fg{personalbio} = $query->param('bio');
	$fg{personalbio}=~s/\n/<br>/g;
	$fg{email} = ($query->param('showemail')) ? $info[3] : "Private";

	foreach (@pf) {
		foreach $gg ('website','aol','icq','location','personalbio','email') {
			$_=~s/\<!--$gg--\>(.*?)\<!--\/$gg--\>/<!--$gg-->$fg{$gg}<!--\/$gg-->/g;
		}
		$todo .= "$_";
	}

	open(PF,">/home/bbboy/public_html/profiles/$cleanusername");
	print PF $todo;
	close(PF);

	print qq~	Settings updated.~;
	print qq~ Do you wish to return to the <a href=/$bbuser>board you were previously at</a>?~ if ($bbuser);
	
}
elsif ($action eq "sigs") {
	print qq~	Here you can modify and add your sigs. When you are posting, (On ANY Best Board, and if sigs are enabled in that forum) you will see a pull-down menu to choose which sig you wish to use. You may use BbCode, but not HTML in your sigs.<br><br>~;

	$fgh = 1;
	while (-e "/home/bbboy/public_html/bb/bb/all/sigs/$cleanusername-$fgh.cgi") {
		open(BB,"/home/bbboy/public_html/bb/bb/all/sigs/$cleanusername-$fgh.cgi");
		@gb = <BB>;
		close(BB);
		$name = shift(@gb);
		print qq~<center><b>Sig Name: $name</b><form action=modify.cgi?back=$bbuser method=post>
				<input type=hidden name=action value=modifysig>
				<input type=hidden name=num value=$fgh>
				<input type=text name=name value="$name" size=40><br>
				<textarea name=sig$fgh rows=4 cols=40>~;
		foreach $ff (@gb) {
			$ff=~s/\[br\]/\n/ig;
			print $ff;
		}
		print qq~</textarea><br><input type=submit value="Save Changes"></form></center><br><br>~;
		$fgh++;
	}
	print qq~	<center>Add New Sig:<br>
				<form action=modify.cgi?back=$bbuser method=post>
				<input type=hidden name=action value=addsig>
				<input type=text name=name value="Sig Name" size=40><br>
				<textarea name=cont rows=4 cols=40></textarea>
				<br><input type=submit value="Add Sig"></form>~;
}
elsif ($action eq "modifysig") {
	$num = $query->param('num');
	$cont = $query->param("sig$num");
	$cont=~s/\n/[br]/g;
	$cont=~s/\r//g;
	open(GB,">/home/bbboy/public_html/bb/bb/all/sigs/$cleanusername-$num.cgi");
	print GB $query->param('name')."\n";
	print GB $cont;
	close(GB);
	print qq~ Sig saved. <a href="modify.cgi?back=$bbuser&action=sigs">Click here</a> to add/edit more sigs.~;
	print qq~ Do you want to return to <a href=/$bbuser>the board you came from</a>?~ if ($bbuser);
}
elsif ($action eq "addsig") {
	$cont = $query->param('cont');
	$name = $query->param('name');
	$fgh = 1;
	while (-e "/home/bbboy/public_html/bb/bb/all/sigs/$cleanusername-$fgh.cgi") {
		$fgh++;
	}
	open(DF,">/home/bbboy/public_html/bb/bb/all/sigs/$cleanusername-$fgh.cgi");
	print DF $name."\n";
	print DF $cont;
	close(DF);
	print "Sig added. <a href=modify.cgi?back=$bbuser&action=sigs>Click here</a> to return.";
}

open(BOT,"bottom.html");
while(<BOT>) {print;}
close(BOT);

