############################################################################### # MemberGroups.pl # ############################################################################### # YaBB: Yet another Bulletin Board # # Open-Source Community Software for Webmasters # # Version: YaBB 1 Gold - SP 1.3 # # Released: December 2001; Updated April 6, 2003 # # Distributed by: http://www.yabbforum.com # # =========================================================================== # # Copyright (c) 2000-2003 YaBB (www.yabbforum.com) - All Rights Reserved. # # Software by: The YaBB Development Team # # with assistance from the YaBB community. # # Sponsored by: Xnull Internet Media, Inc. - http://www.ximinc.com # ############################################################################### # Mod Name: Add More Membergroups - 1.5 - SP1.3.1 # # File written by: dOCda S! # # Last Modified: 31.05.2003 by dOCda S! # # Support, News, Updates at: http://boardmod.yabbforum.com # ############################################################################### sub Members_Update { &is_admin; $yytitle = "$amgtxt{'30'}"; $yymain .= qq~ <form action="$cgi;action=memupdate2" method="POST"> <table border="0" cellpadding="0" cellspacing="1" align="center" width="100%" bgcolor="$color{'bordercolor'}" class="bordercolor"> <tr><td> <table border="0" cellpadding="1" cellspacing="0" align="center" width="100%"> <tr> <td bgcolor="$color{'windowbg3'}" class="titlebg"><font size=2 color=$color{'titletext'}><b>&nbsp;$yytitle</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2" align="center"><font size=2><b><br>$amgtxt{'31'}</b></font> <select name="search" size=1>~; @temp=glob("$vardir/*.mgp"); foreach $lines (@temp) { chomp $lines; ($dummy,$dummy,$gimme) = split(/\//,$lines); ($fname,$dummy) = split(/\./,$gimme); if($fname eq "Administrator") { $fnamed = "$MemStatAdmin"; } elsif($fname eq "Global Moderator") { $fnamed = "$MemStatGMod"; } else { $fnamed = "$fname"; } $yymain .= qq~<option value="$gimme" $fname>$fnamed~; } $yymain .= qq~ </select><br><br></td> </tr> </table> <center><input type="submit" value="$txt{'182'}"></center> </td></tr> </table> </form> ~; &template; exit; } sub Members_Update2 { &is_admin; $find = $FORM{'search'}; fopen(FILE, "$vardir/$find"); @memberlist = <FILE>; fclose(FILE); $yytitle = "$txt{'308'}"; $yymain .= qq~ <script language="JavaScript1.2" type="text/javascript"> <!-- Begin function changeBox(cbox) { box = eval(cbox); box.checked = !box.checked; } function checkAll() { for (var i = 0; i < document.searchform.elements.length; i++) { document.searchform.elements[i].checked = true; } } function uncheckAll() { for (var i = 0; i < document.searchform.elements.length; i++) { document.searchform.elements[i].checked = false; } } //--> </script> <script language="JavaScript1.2" src="$ubbcjspath" type="text/javascript"></script> <form action="$scripturl?action=memupdate3" method="POST" name="searchform"> <table border=0 width=100% cellspacing=1 cellspacing="4" bgcolor="$color{'bordercolor'}" class="bordercolor"> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}" colspan="7"><b><font size=2 class="text1" color="$color{'titletext'}">&nbsp;$txt{'166'}</font></b></td> </tr> <tr> <td class="catbg" bgcolor="$color{'catbg'}" width="200"><b><font size=2>&nbsp;$txt{'35'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}"><b><font size=2>&nbsp;$txt{'307'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="55" align="center"><b><font size=2>$txt{'86'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}"><b><font size=2>&nbsp;$txt{'87'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="45"><b><font size=2>&nbsp;Edit?</font></b></td> </tr> ~; memcheck: for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; $uname = $memberlist[$a]; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = <MEMBERFILEREAD>; fclose(MEMBERFILEREAD); chomp @member; &LoadUser($memberlist[$a]); if ( $member[7] eq "Administrator" ) { $memgroup = "$MemStatAdmin"; } elsif ( $member[7] eq "Global Moderator" ) { $memgroup = "$MemStatGMod"; } else { $memgroup = "$member[7]"; } $yymain .= qq~ <tr> <td class="windowbg" bgcolor="$color{'windowbg'}"><font size=2>&nbsp;<a href="$cgi;action=viewprofile;username=$useraccount{$memberlist[$a]}">$member[1]</a></font></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}"><font size=2>&nbsp;<a href="mailto:$member[2]">$member[2]</a></font></td> <td class="windowbg" bgcolor="$color{'windowbg'}" align="center"><font size=2>$member[6]</font>&nbsp;</td> <td class="windowbg2" bgcolor="$color{'windowbg2'}"><font size=2>&nbsp;$memgroup</font>&nbsp;</td> <td class="windowbg" bgcolor="$color{'windowbg'}" align="center"><input type="checkbox" name="group$a" class="$windowcss" bgcolor="$color{'windowbg'}" value="1" style="cursor:hand;"> <input type="hidden" name="tip$a" value="$uname"> </td></tr> ~; undef $uname; } $yymain .= qq~<tr><td colspan="3">&nbsp;</td> <td><font size=2><select name="settings7"> <option value="" selected>----------------- ~; $position=''; $z=0; $yymain .= qq~<option value="Administrator">$MemStatAdmin~; $yymain .= qq~<option value="Global Moderator">$MemStatGMod~; $yymain .= qq~<option value="$MemStatNewbie">$MemStatNewbie~; while($MemStat[$z]) { $position= qq~<option value="$MemStat[$z]">$MemStat[$z]~; ++$z; $yymain .= qq~$position~; } $yymain .= qq~ </select></font></td><td class="$windowcss" bgcolor="$windowbg" align="center"><font size=2><INPUT TYPE="checkbox" ONCLICK="if (this.checked) checkAll(); else uncheckAll();" style="cursor:hand;"></font></td></tr> </table> <table border=0 width=100% cellspacing=1 cellspacing="4"> <tr><td align="right"><input type=submit name="imaction" value="SUBMIT"></td></tr> </table> </form>~; &template; exit; } sub Members_Update3 { &is_admin; $a=0; $c=0; while($FORM{"tip$a"}) { $ta = $FORM{"tip$a"}; if($FORM{"group$a"} == 1) { $c=1; &LoadUser($ta); fopen(FILE, ">$memberdir/$ta.dat"); for( $b = 0; $b < @{$userprofile{$ta}}; $b++ ) { if($b == 7) { print FILE "$FORM{'settings7'}\n"; } else { print FILE "$userprofile{$ta}->[$b]\n"; } } fclose(FILE); } $a++; undef $ta; } if ($c == 0) { $yymain .= qq~<center><b>$amgtxt{'44'}</b></center>~; &template; exit; } else { &RebuildMemGroup; } } sub RebuildMemGroup { &is_admin; @temp=glob("$vardir/*.mgp"); foreach $lines (@temp) { chomp $lines; unlink("$lines"); } fopen(FILE, "$memberdir/memberlist.txt"); @memberlist = <FILE>; fclose(FILE); for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = <MEMBERFILEREAD>; fclose(MEMBERFILEREAD); chomp @member; if($member[7]) { fopen(FILE, ">>$vardir/$member[7].mgp"); print FILE "$memberlist[$a]\n"; fclose(FILE); } } $yySetLocation = qq~$scripturl?action=admin~; &redirectexit; } sub GModEditProfile { ## BY SEAWOLF ## &is_admin_or_gmod; if ($INFO{'username'} =~ m~/~){ &fatal_error($txt{'224'}); } if ($INFO{'username'} =~ m~\\~){ &fatal_error($txt{'225'}); } unless($settings[7] eq 'Administrator' || $settings[7] eq 'Global Moderator' && $allowgmod_editprof == 1) { &fatal_error($txt{'80'}); } if(!-e ("$memberdir/$INFO{'username'}.dat")){ &fatal_error("$txt{'453'} -- $INFO{'username'}"); } if($allowpics) { opendir(DIR, "$facesdir") || fatal_error("$txt{'230'} ($facesdir)! $txt{'681'}"); closedir(DIR); } fopen(FILE, "$memberdir/$INFO{'username'}.dat"); @memsettings=<FILE>; fclose(FILE); foreach (@memsettings) { $_ =~ s~[\n\r]~~g; } $dr = $memsettings[14] ? $memsettings[14] : $txt{'470'}; if ($memsettings[11] eq 'Male') { $GenderMale = ' selected'; } if ($memsettings[11] eq 'Female') { $GenderFemale = ' selected'; } $signature = $memsettings[5]; $signature =~ s/\&\&/\n/g; $signature =~ s/\&lt;/</g; $signature =~ s/\&gt;/>/g; &CalcAge("parse"); # Let's get the birthdate $memsettings[9] =~ tr/+/ /; $memsettings[10] =~ tr/+/ /; if ($memsettings[17] == 6) { $tsl6 = ' selected'; } elsif ($memsettings[17] == 5) { $tsl5 = ' selected'; } elsif($memsettings[17] == 4) { $tsl4 = ' selected'; } elsif ($memsettings[17] == 3) { $tsl3 = ' selected'; } elsif ($memsettings[17] == 2) { $tsl2 = ' selected'; } elsif ($memsettings[17] == 1) { $tsl1 = ' selected'; } elsif ($timeselected == 6) { $tsl6 = ' selected'; } elsif ($timeselected == 5) { $tsl5 = ' selected'; } elsif ($timeselected == 4) { $tsl4 = ' selected'; } elsif ($timeselected == 3) { $tsl3 = ' selected'; } elsif ($timeselected == 2) { $tsl2 = ' selected'; } else { $tsl1 = ' selected'; } $dayormonthm = qq~$txt{'564'}<input type="text" name="bday1" size="2" maxlength="2" value="$umonth">~; $dayormonthd = qq~$txt{'565'}<input type="text" name="bday2" size="2" maxlength="2" value="$uday">~; if ($tsl2 || $tsl3 || $tsl6) {$dayormonth=$dayormonthd.$dayormonthm;} else {$dayormonth=$dayormonthm.$dayormonthd;} $oldformat = $date; $oldmonth = substr($oldformat,0,2); $oldday = substr($oldformat,3,2); $oldyear = ("20".substr($oldformat,6,2)) - 1900; $oldhour = substr($oldformat,-8,2); $oldminute = substr($oldformat,-5,2); $oldsecond = substr($oldformat,-2,2); use Time::Local 'timelocal'; eval { $oldtime = timelocal($oldsecond,$oldminute,$oldhour,$oldday,$oldmonth-1,$oldyear); }; my ($psec,$pmin,$phour,$dummy,$dummy,$dummy,$dummy,$dummy,$dummy) = localtime($oldtime); if ($phour < 10) { $phour = "0$phour" }; if ($pmin < 10) { $pmin = "0$pmin" }; if ($psec < 10) { $psec = "0$psec" }; $proftime = $phour.":".$pmin.":".$psec; $ampm = $phour > 11 ? 'pm' : 'am'; $phour = $phour % 12 || 12; $proftime = qq~$phour:$pmin:$psec$ampm~; $yymain .= qq~ <form action="$cgi;action=gmodeditprofile2" method="POST" name="creator">~; if($memsettings[7] eq 'Administrator' || $memsettings[7] eq 'Global Moderator') { $yymain .= qq~ <input type="hidden" name="settings6" value="$memsettings[6]"> <input type="hidden" name="settings7" value="$memsettings[7]">~; } $yymain .=qq~ <input type="hidden" name="passwrd1" value="$memsettings[0]"> <input type="hidden" name="passwrd2" value="$memsettings[0]"> <input type="hidden" name="name" value="$memsettings[1]"> <input type="hidden" name="email" value="$memsettings[2]"> <input type="hidden" name="hideemail" value="$memsettings[19]"> <table border=0 width=720 cellspacing=1 bgcolor="$color{'bordercolor'}" class="bordercolor" align="center"> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}" height="30"> &nbsp;<img src="$imagesdir/profile.gif" alt="" border="0">&nbsp; <font size=2 class="text1" color="$color{'titletext'}"><b>$txt{'79'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}" height="25"><BR><font size="1">$txt{'698'}</font><BR><BR></td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" height="25"><font size=2><b>$txt{'517'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}"><font size=2> <table border=0 width="100%" cellpadding="3"> <tr> <td width="320"><font size=2><b>$txt{'35'}: </b></font></td> <td><font size=2><input type="hidden" name="username" value="$INFO{'username'}">$INFO{'username'}</font></td> </tr> </table><br> </font></td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" height="25"><font size=2><b>$txt{'597'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}"> <table border=0 width="100%" cellpadding="3"> <tr> <td width="320"><font size=2><b>$txt{'231'}: </b></font></td> <td> <select name="gender" size="1"> <option value=""></option> <option value="Male"$GenderMale>$txt{'238'}</option> <option value="Female"$GenderFemale>$txt{'239'}</option> </select> </td> </tr><tr> <td width="320"><font size=2><b>$txt{'563'}:</b></font></td> <td><font size="1">$dayormonth$txt{'566'}<input type="text" name="bday3" size="4" maxlength="4" value="$uyear"></font></td> </tr><tr> <td width="320"><font size=2><b>$txt{'227'}: </b></font></td> <td><font size=2><input type="text" maxlength="30" name="location" size="50" value="$memsettings[15]"></font></td> </tr><tr> <td colspan=2> <BR><hr width="100%" size="1" class="hr"></td> </tr><tr> <td width="320"><font size=2><b>$txt{'83'}: </b></font><BR> <font size="1">$txt{'598'}</font></td> <td><font size=2><input type=text maxlength="30" name=websitetitle size=50 value="$memsettings[3]"></font></td> </tr><tr> <td width="320"><font size=2><b>$txt{'84'}: </b></font><BR> <font size="1">$txt{'599'}</font></td> <td><font size=2><input type=text name=websiteurl size=50 value="$memsettings[4]"></font></td> </tr><tr> <td colspan=2> <BR><hr width="100%" size="1" class="hr"></td> </tr><tr> <td width="320"><font size=2><b>$txt{'513'}: </b></font><BR> <font size="1">$txt{'600'}</font></td> <td><font size=2><input type=text maxlength="10" name=icq size=20 value="$memsettings[8]"></font></td> </tr><tr> <td width="320"><font size=2><b>$txt{'603'}: </b></font><BR> <font size="1">$txt{'601'}</font></td> <td><font size=2><input type=text maxlength="30" name=aim size=20 value="$memsettings[9]"></font></td> </tr><tr> <td width="320"><font size=2><b>$txt{'604'}: </b></font><BR> <font size="1">$txt{'602'}</font></td> <td><font size=2><input type=text maxlength="30" name=yim size=20 value="$memsettings[10]"></font></td> </tr><tr> <td colspan=2> <BR><hr width="100%" size="1" class="hr"></td> </tr><tr> <td width="320"><font size=2><b>$txt{'228'}: </b></font></td> <td><font size=2><input type=text name=usertext size=50 value="$memsettings[12]" maxlength="50"></font></td> </tr> ~; if($allowpics) { opendir(DIR, "$facesdir") || fatal_error("$txt{'230'} ($facesdir)!<BR>$txt{'681'}"); @contents = readdir(DIR); closedir(DIR); $images = ""; foreach $line (sort @contents){ ($name, $extension) = split (/\./, $line); $checked = ""; if ($line eq $memsettings[13]) { $checked = ' selected'; } if ($memsettings[13] =~ m~\Ahttp://~ && $line eq 'blank.gif') { $checked = ' selected'; } if ($extension =~ /gif/i || $extension =~ /jpg/i || $extension =~ /jpeg/i || $extension =~ /png/i ){ if ($line eq 'blank.gif') { $name = $txt{'422'}; } $images .= qq~<option value="$line"$checked>$name\n~; } } if ($memsettings[13] =~ m~\Ahttp://~) { $pic = 'blank.gif'; $checked = ' checked'; $tmp = $memsettings[13]; } else { $pic = $memsettings[13]; $tmp = 'http://'; } $yymain .= qq~ <tr> <td width="320"><font size="2"><b>$txt{'229'}:</b></font><br> <font size="1">$txt{'474'} $userpic_limits</font></td> <td> <script language="JavaScript1.2" type="text/javascript"> function showimage() { if (!document.images) return; document.images.icons.src="$facesurl/"+document.creator.userpic.options[document.creator.userpic.selectedIndex].value; } </script> <select name="userpic" size=6 onChange="showimage()">$images</select> &nbsp;&nbsp;<img src="$facesurl/$pic" name="icons" border=0 hspace=15> </td> </tr><tr> <td width="320"><font size="2"><B>$txt{'475'}</B></font></td> <td><input type="checkbox" name="userpicpersonalcheck"$checked> <input type="text" name="userpicpersonal" size="45" value="$tmp"></td> </tr> ~; } $yymain .= qq~ </table><BR> </td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" height="25"><font size=2><b>$txt{'605'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}"><font size=2> <table border=0 cellpadding="3" width="100%" cellspacing="0"> <tr> <td width="320"><font size=2><b>$txt{'486'}:</b></font><BR> <font size="1">$txt{'479'}</font></td> <td width="50"> <select name="usertimeselect" size=1> <option value="1"$tsl1>$txt{'480'} <option value="5"$tsl5>$txt{'484'} <option value="4"$tsl4>$txt{'483'} <option value="2"$tsl2>$txt{'481'} <option value="3"$tsl3>$txt{'482'} <option value="6"$tsl6>$txt{'485'} </select> </td> </tr><tr> <td width="320"><font size=2><b>$txt{'371'}:</b></font><BR> <font size="1">$txt{'519'}</font></td> <td><font size="1"> <input name="usertimeoffset" size="5" maxlength="5" value="$memsettings[18]"> <BR>$txt{'741'}: <i>$proftime</i></font></td> </tr><tr> <td colspan=2><br><hr width="100%" size="1" class="hr"></td> </tr><tr> <td width="320"><font size=2><b>$txt{'85'}:</b></font><BR> <font size="1">$txt{'606'}</font></td> <td><font size=2><textarea name="signature" rows="4" cols="50" wrap="virtual">$signature</textarea><BR> <font size="1">$txt{'664'} <input value="$MaxSigLen" size="3" name="msgCL" disabled></FONT><BR><BR></font></td></tr> <script language="JavaScript"> <!-- var supportsKeys = false function tick() { calcCharLeft(document.forms[0]) if (!supportsKeys) timerID = setTimeout("tick()",$MaxSigLen) } function calcCharLeft(sig) { clipped = false maxLength = $MaxSigLen if (document.creator.signature.value.length > maxLength) { document.creator.signature.value = document.creator.signature.value.substring(0,maxLength) charleft = 0 clipped = true } else { charleft = maxLength - document.creator.signature.value.length } document.creator.msgCL.value = charleft return clipped } tick(); //--> </script> ~; if(($settings[7] eq 'Global Moderator') && $allowgmod_editprof && ($memsettings[7] ne 'Administrator') && ($memsettings[7] ne 'Global Moderator')) { $position=''; if($memsettings[7] eq 'Administrator') { $tt2 = $MemStatAdmin; $tt = "Administrator"; } elsif ($memsettings[7] eq 'Global Moderator') { $tt2 = $MemStatGMod; $tt = "Global Moderator"; } else { $tt = $memsettings[7]; $tt2 = $memsettings[7]; } $yymain .= qq~ <tr> <td colspan=2><hr width="100%" size="1" class="hr"></td> </tr><tr> <td width="320"><font size=2><b>$txt{'86'}: </b></font></td> <td><font size=2><input type=text name=settings6 size=4 value="$memsettings[6]"></font></td> </tr><tr> <td width="320"><font size=2><b>$txt{'87'}: </b></font></td> <td><font size=2><select name="settings7"> <option value="$tt">$tt2 <option value="$tt">--------------- <option value=""> ~; $position=''; $z=0; $yymain .= qq~<option value="Administrator">$MemStatAdmin~; $yymain .= qq~<option value="Global Moderator">$MemStatGMod~; $yymain .= qq~<option value="$MemStatNewbie">$MemStatNewbie~; while($MemStat[$z]) { $position= qq~<option value="$MemStat[$z]">$MemStat[$z]~; ++$z; $yymain .= qq~$position~; } $yymain .= qq~ </select></font></td> </tr><tr> <td width="320"><font size="2"><b>$txt{'233'}:</b></font><br> <font size="1">$txt{'421'}</font><br><br></td> <td><input type="text" name="dr" size="20" value="$dr"><br><br></td> </tr>~; } $yymain .= qq~ </table> </font></td> </tr><tr> <td class="catbg" bgcolor="$color{'catbg'}" height="25" align="center"><font size=2><BR> <input type=submit name=moda value="$txt{'88'}"><BR><BR> </font></td> </tr> </table> </form> ~; $yytitle = $txt{'79'}; &template; exit; } sub GModEditProfile2 { ## BY SEAWOLF ## require "$sourcedir/Profile.pl"; &is_admin_or_gmod; my( %member, $key, $value, $newpassemail, @memberlist, $a, @check_settings, @reserve, $matchword, $matchcase, $matchuser, $matchname, $namecheck, $reserved, $reservecheck, @dirdata, $filename, @entries, $entry, $umail, @members, $tempname ); $FORM{'signature'} =~ s~\n~\&\&~g; while( ($key,$value) = each(%FORM) ) { $value =~ s~\A\s+~~; $value =~ s~\s+\Z~~; $value =~ s~[\n\r]~~g; $member{$key} = $value; } # make sure this person has access to this profile unless($username eq $INFO{'username'} || $settings[7] eq 'Administrator' || ($settings[7] eq 'Global Moderator' && $allowgmod_editprof)) { &fatal_error($txt{'80'}); } unless( $settings[7] eq 'Administrator' || ($settings[7] eq 'Global Moderator' && $allowgmod_editprof)) { $member{'username'} = $username; $member{'settings6'} = $settings[6]; $member{'settings7'} = $settings[7]; } if($member{'settings6'} !~ /\A[0-9]+\Z/) { &fatal_error("$txt{'749'}"); } if ($member{'username'} =~ /\//){ &fatal_error($txt{'224'}); } if ($member{'username'} =~ /\\/){ &fatal_error($txt{'225'}); } $INFO{'username'} = $member{'username'}; if(length($member{'usertext'}) > 51) { &fatal_error("$txt{'757'}"); } if( $member{'userpicpersonalcheck'} && ( $member{'userpicpersonal'} =~ m/\.gif\Z/i || $member{'userpicpersonal'} =~ m/\.jpg\Z/i || $member{'userpicpersonal'} =~ m/\.jpeg\Z/i || $member{'userpicpersonal'} =~ m/\.png\Z/i ) ) { $member{'userpic'} = $member{'userpicpersonal'}; } if($member{'userpic'} eq "") { $member{'userpic'} = "blank.gif"; } &fatal_error("$txt{'592'}") if($member{'userpic'} !~ m^\A[0-9a-zA-Z_\.\#\%\-\:\+\?\$\&\~\.\,\@/]+\Z^); if(!$allowpics) { $member{'userpic'} = "blank.gif"; } if( $emailnewpass && lc $member{'email'} ne lc $settings[2] && $settings[7] ne 'Administrator' && $settings[7] ne 'Global Moderator') { srand(); $member{'passwrd1'} = int( rand(100) ); $member{'passwrd1'} =~ tr/0123456789/ymifxupbck/; $_ = int( rand(77) ); $_ =~ tr/0123456789/q8dv7w4jm3/; $member{'passwrd1'} .= $_; $_ = int( rand(89) ); $_ =~ tr/0123456789/y6uivpkcxw/; $member{'passwrd1'} .= $_; $_ = int( rand(188) ); $_ =~ tr/0123456789/poiuytrewq/; $member{'passwrd1'} .= $_; $_ = int( rand(65) ); $_ =~ tr/0123456789/lkjhgfdaut/; $member{'passwrd1'} .= $_; $newpassemail = 1; } else { &fatal_error("($member{'username'}) $txt{'213'}") if($member{'passwrd1'} ne $member{'passwrd2'}); &fatal_error("($member{'username'}) $txt{'91'}") if($member{'passwrd1'} eq ''); &fatal_error("$txt{'240'} $txt{'36'} $txt{'241'}") if($member{'passwrd1'} !~ /\A[\s0-9A-Za-z!@#$%\^&*\(\)_\+|`~\-=\\:;'",\.\/?\[\]\{\}]+\Z/); } &fatal_error("$txt{'75'}") if($member{'name'} eq ''); &fatal_error("$txt{'240'} $txt{'68'} $txt{'241'}") if($member{'name'} !~ /^[\s0-9A-Za-zöäüÖÄÜßñ\[\]#%+,-|\.:=?@^_]+$/); &fatal_error("$txt{'75'}") if($member{'name'} eq '|'); &fatal_error("$txt{'568'}") if(length($member{'name'}) > 30); &fatal_error("$txt{'76'}") if($member{'email'} eq ''); &fatal_error("$txt{'240'} $txt{'69'} $txt{'241'}") if($member{'email'} !~ /[\w\-\.\+]+\@[\w\-\.\+]+\.(\w{2,4}$)/); &fatal_error("$txt{'500'}") if(($member{'email'} =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(\.$)/) || ($member{'email'} !~ /^.+@\[?(\w|[-.])+\.[a-zA-Z]{2,4}|[0-9]{1,4}\]?$/)); if( $member{'bday1'} ne "" || $member{'bday2'} ne "" || $member{'bday3'} ne "" ) { &fatal_error("$txt{'567'}") if( $member{'bday1'} !~ /^[0-9]+$/ || $member{'bday2'} !~ /^[0-9]+$/ || $member{'bday3'} !~ /^[0-9]+$/ || length($member{'bday3'}) < 4 ); &fatal_error("$txt{'567'}") if( $member{'bday1'} < 1 || $member{'bday1'} > 12 || $member{'bday2'} < 1 || $member{'bday2'} > 31 || $member{'bday3'} < 1901 || $member{'bday3'} > $year-5 ); } &fatal_error("$txt{'680'}") if ($member{'username'} eq "admin" && $member{'settings7'} ne "Administrator"); if($member{'moda'} eq $txt{'88'}) { if (length($member{'signature'}) > $MaxSigLen) { $member{'signature'} = substr($member{'signature'},0,$MaxSigLen); } $member{'icq'} =~ s/[^0-9]//g; $member{'bday1'} =~ s/[^0-9]//g; $member{'bday2'} =~ s/[^0-9]//g; $member{'bday3'} =~ s/[^0-9]//g; if($member{'bday1'}) { $member{'bday'} = "$member{'bday1'}/$member{'bday2'}/$member{'bday3'}"; } else { $member{'bday'} = ''; } $member{'signature'} =~ s/</&lt;/g; $member{'signature'} =~ s/</&gt;/g; $member{'aim'} =~ s/ /\+/g; $member{'yim'} =~ s/ /\+/g; if($settings[7] ne "Administrator") { $member{'dr'} = $settings[14]; } # store the name temorarily so we can restore any _'s later $tempname = $member{'name'}; $member{'name'} =~ s/\_/ /g; &ToHTML($member{'location'}); &ToHTML($member{'aim'}); &ToHTML($member{'yim'}); &ToHTML($member{'gender'}); &ToHTML($member{'usertext'}); &ToHTML($member{'websiteurl'}); &ToHTML($member{'websitetitle'}); &ToHTML($member{'email'}); &ToHTML($FORM{'hideemail'}); &ToHTML($member{'name'}); &FromHTML($member{'usertext'}); $member{'usertext'} =~ s~(\S{15})(?=\S)~$1 ~g; &ToHTML($member{'usertext'}); if ( length $member{'signature'} > 1000 ) { $member{'signature'} = substr( $member{'signature'}, 0, 1000 ); } $member{'usertimeoffset'} =~ tr/,/./; $member{'usertimeoffset'} =~ s/[^\d*|\.|\-|w*]//g; if (( $member{'usertimeoffset'} < -23.5) || ( $member{'usertimeoffset'} > 23.5)) { &fatal_error($txt{'487'}); } fopen(FILE, "$memberdir/memberlist.txt"); @memberlist = <FILE>; fclose(FILE); $testname = lc $member{'name'}; for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; $membername = lc $memberlist[$a]; if( fopen(FILE2, "$memberdir/$memberlist[$a].dat") ) { # Load users and check email (removed !$yyUDLoaded{$memberlist[$a]} && ) if( -e("$memberdir/$memberlist[$a].dat") && lc $memberlist[$a] ne lc $member{'username'}) { # If user is not in memory, s/he must be loaded. &LoadUser($memberlist[$a]); if(lc $userprofile{$memberlist[$a]}->[2] eq lc $member{'email'}) { &fatal_error("$txt{'730'} ($member{'email'}) $txt{'731'}"); } } $tmpa = <FILE2>; $realnametemp = <FILE2>; fclose(FILE2); chomp $realnametemp; $realnametemp = lc $realnametemp; if ($realnametemp eq $testname && lc $memberlist[$a] ne lc $member{'username'} && $settings[7] ne 'Administrator') { &fatal_error("($member{'name'}) $txt{'473'}"); } } } fopen(FILE, "$vardir/reserve.txt") || &fatal_error("$txt{'23'} reserve.txt"); @reserve = <FILE>; fclose(FILE); fopen(FILE, "$vardir/reservecfg.txt") || &fatal_error("$txt{'23'} reservecfg.txt"); @reservecfg = <FILE>; fclose(FILE); for($a = 0; $a < @reservecfg; $a++) { chomp $reservecfg[$a]; } $matchword = $reservecfg[0] eq 'checked'; $matchcase = $reservecfg[1] eq 'checked'; $matchuser = $reservecfg[2] eq 'checked'; $matchname = $reservecfg[3] eq 'checked'; $namecheck = $matchcase eq 'checked' ? $member{'name'} : lc $member{'name'}; foreach $reserved (@reserve) { chomp $reserved; $reservecheck = $matchcase ? $reserved : lc $reserved; if ($matchname) { if ($matchword) { if ($namecheck eq $reservecheck) { &fatal_error("$txt{'244'} $reserved"); } } else { if ($namecheck =~ $reservecheck) { &fatal_error("$txt{'244'} $reserved"); } } } } # let's restore the name now &ToHTML($tempname); $member{'name'} = $tempname; fopen( FILE, ">$memberdir/$member{'username'}.dat", 1); print FILE "$member{'passwrd1'}\n"; print FILE "$member{'name'}\n"; print FILE "$member{'email'}\n"; print FILE "$member{'websitetitle'}\n"; print FILE "$member{'websiteurl'}\n"; print FILE "$member{'signature'}\n"; print FILE "$member{'settings6'}\n"; print FILE "$member{'settings7'}\n"; print FILE "$member{'icq'}\n"; print FILE "$member{'aim'}\n"; print FILE "$member{'yim'}\n"; print FILE "$member{'gender'}\n"; print FILE "$member{'usertext'}\n"; print FILE "$member{'userpic'}\n"; print FILE "$member{'dr'}\n"; print FILE "$member{'location'}\n"; print FILE "$member{'bday'}\n"; print FILE "$member{'usertimeselect'}\n"; print FILE "$member{'usertimeoffset'}\n"; if ($FORM{'hideemail'} ne "checked") { $FORM{'hideemail'} = ""; } print FILE "$FORM{'hideemail'}\n"; fclose(FILE); if($newpassemail) { # Write log fopen(LOG, "$vardir/log.txt"); @entries = <LOG>; fclose(LOG); fopen(LOG, ">$vardir/log.txt", 1); $field="$username"; foreach $curentry (@entries) { $curentry =~ s/\n//g; ($name, $value) = split(/\|/, $curentry); if($name ne "$field") { print LOG "$curentry\n"; } } fclose(LOG); $yySetCookies1 = cookie(-name => "$cookieusername", -value => "", -path => "/", -expires => "Thursday, 01-Jan-1970 00:00:00 GMT"); $yySetCookies2 = cookie(-name => "$cookiepassword", -value => "", -path => "/", -expires => "Thursday, 01-Jan-1970 00:00:00 GMT"); $username = 'Guest'; $password = ''; @settings = (); $realname = ''; $realemail = ''; $ENV{'HTTP_COOKIE'} = ''; &FormatUserName($member{'username'}); &sendmail($member{'email'},qq~$txt{'700'} $mbname~, "$txt{'733'} $member{'passwrd1'} $txt{'734'} $member{'username'}.\n\n$txt{'701'} $scripturl?action=profile;username=$useraccount{$member{'username'}}\n\n$txt{'130'}"); $yymain .= qq~<br><table border="0" width="100%" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" align="center">~; require "$sourcedir/LogInOut.pl"; $sharedLogin_title="$txt{'34'}"; $sharedLogin_text="$txt{'638'}"; &sharedLogin; $yymain .= qq~</table>~; $yytitle="$txt{'245'}"; &template; exit; } else { if ($member{'username'} eq $username) { $password = crypt("$member{'passwrd1'}",$pwseed); $yySetCookies1 = cookie(-name => "$cookieusername", -value => "$username", -path => "/", -expires => "Sunday, 17-Jan-2038 00:00:00 GMT"); $yySetCookies2 = cookie(-name => "$cookiepassword", -value => "$password", -path => "/", -expires => "Sunday, 17-Jan-2038 00:00:00 GMT"); &LoadUserSettings; &WriteLog; } &ViewProfile; } } else { if($member{'username'} ne "admin") { require "$sourcedir/Notify.pl"; remove_notifications($member{'email'}); # For security, remove username from mod position fopen(FILE, "$vardir/cat.txt"); @categories = <FILE>; fclose(FILE); foreach $curcat (@categories) { $curcat =~ s/[\n\r]//g; fopen(CAT, "$boardsdir/$curcat.cat"); @catinfo = <CAT>; fclose(CAT); foreach $curboard (@catinfo) { $curboard =~ s/[\n\r]//g; chomp $curboard; fopen(BOARD, "$boardsdir/$curboard.dat"); @boardinfo = <BOARD>; fclose(BOARD); $boardinfo[2] =~ s/[\n\r]//g; $boardinfo[2] =~ /^\|(.*?)\|$/; $mods = $1 or $mods = $boardinfo[2]; $mods =~ s/(\s*)//g; # remove all whitespaces $mods =~ s/(^(\|)+)?((\|)+$)?//; # remove unnecessary front and back separator $mods =~ s/(\|)+/\|/g; # replace multiple separators with one separator my @mod_ary = split(/\|/, $mods); my @new_mod_ary; my $mods_changed = 0; foreach my $mod( @mod_ary) { if( $settings[7] eq 'Administrator') { if( $member{'username'} ne $mod) { push( @new_mod_ary, $mod); } else { $mods_changed = 1; } } elsif( $member{'username'} eq $username) { if( $username ne $mod) { push( @new_mod_ary, $mod); } else { $mods_changed = 1; } } } $mods = join( "|", @new_mod_ary); if ($mods_changed == 1) { $boardinfo[2] = $mods; fopen(BOARD, ">$boardsdir/$curboard.dat", 1); print BOARD @boardinfo; fclose(BOARD); } } } if($settings[7] eq 'Administrator') { unlink("$memberdir/$member{'username'}.dat"); unlink("$memberdir/$member{'username'}.msg"); unlink("$memberdir/$member{'username'}.log"); unlink("$memberdir/$member{'username'}.outbox"); unlink("$memberdir/$member{'username'}.imconfig"); } elsif( $member{'username'} eq $username ) { unlink("$memberdir/$username.dat"); unlink("$memberdir/$username.msg"); unlink("$memberdir/$username.log"); unlink("$memberdir/$username.outbox"); unlink("$memberdir/$username.imconfig"); } opendir (DIRECTORY,"$datadir"); @dirdata = readdir(DIRECTORY); closedir (DIRECTORY); if($settings[7] eq 'Administrator') { $umail=$member{'email'}; } else { $umail=$settings[2]; } foreach $filename (@dirdata) { unless( $filename =~ m~mail\A~ ) { next; } fopen(FILE, "$datadir/$filename"); @entries = <FILE>; fclose(FILE); fopen(FILE, ">$datadir/$filename"); foreach $entry (@entries) { $entry =~ s/[\n\r]//g; if ($entry ne $umail) { print FILE "$entry\n"; } } fclose(FILE); } fopen(FILE, "$memberdir/memberlist.txt"); @members = <FILE>; fclose(FILE); fopen(FILE, ">$memberdir/memberlist.txt", 1); my $memberfound = 0; my $lastvalidmember = ''; foreach $curmem (@members) { chomp $curmem; if($curmem ne $member{'username'}) { print FILE "$curmem\n"; $lastvalidmember = $curmem; } else { ++$memberfound; } } fclose(FILE); my $membershiptotal = @members - $memberfound; fopen(FILE, "+>$memberdir/members.ttl"); print FILE qq~$membershiptotal|$lastvalidmember~; fclose(FILE); if($settings[7] ne 'Administrator') { require "$sourcedir/LogInOut.pl"; &Logout; } $yySetLocation = qq~$scripturl~; &redirectexit; } else { &fatal_error("$txt{'751'}"); } } exit; } sub Moderate { ## BY SEAWOLF ## &is_admin_or_gmod; # Load data for the 'remove old messages' feature, get totals, and get moderators fopen(FILE, "$vardir/oldestmes.txt"); $maxdays = <FILE>; fclose(FILE); $yymain .= qq~ <map NAME="egg"> <AREA SHAPE="poly" COORDS="33,63,37,60,44,60,45,62,39,64" HREF="http://yabb.xnull.com/01g.php"> </MAP> <table border="0" cellpadding="0" cellspacing="0" align="center" width="100%"> <tr> <td valign="top" colspan="3" align="center"> <table border="0" cellpadding="4" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td bgcolor="$color{'titlebg'}" height="24" class="titlebg" align="center"><font size="3"><B>$txt{'gmod5'}</B></font></td> </tr> </table> </td> </tr><tr> <td valign="top"><BR>~; if ($allowgmod_news || $allowgmod_edittemp || $allowgmod_censor) { $yymain .= qq~ <table border="0" cellpadding="4" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td width="400" bgcolor="$color{'catbg'}" height="19" class="catbg"><img src="$imagesdir/board.gif" alt="" border="0"> <font size="2"><b>$txt{'428'}</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2"><font size="1">~; if ($allowgmod_news == 1) { $yymain .= qq~ - <a href="$cgi;action=editnews">$txt{'7'}</a><br>~; } if ($allowgmod_edittemp == 1) { $yymain .= qq~ - <a href="$cgi;action=modtemp">$txt{'216'}</a><br>~; } if ($allowgmod_censor == 1) { $yymain .= qq~ - <a href="$cgi;action=setcensor">$txt{'135'}</a>~; } $yymain .= qq~ </font></td> </tr> </table><BR>~; } if ($allowgmod_editcat == 1) { $yymain .= qq~ <table border="0" cellpadding="4" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td width="400" bgcolor="$color{'catbg'}" height="19" class="catbg"><img src="$imagesdir/board.gif" alt="" border="0"> <font size="2"><b>$txt{'427'}</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2"><font size="1"> - <a href="$cgi;action=managecats">$txt{'3'}</a><br> - <a href="$cgi;action=manageboards">$txt{'4'}</a> </font></td> </tr> </table><BR>~; } if ($allowgmod_ban == 1) { $yymain .= qq~ <table border="0" cellpadding="4" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td width="400" bgcolor="$color{'catbg'}" height="19" class="catbg"><img src="$imagesdir/board.gif" alt="" border="0"> <font size="2"><b>$txt{'426'}</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2"><font size="1"> - <a href="$cgi;action=ipban">$txt{'206'}</a><br> </font></td> </tr> </table><BR>~; } if ($allowgmod_maint == 1) { $yymain .= qq~ <table border="0" cellpadding="4" cellspacing="1" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td width="400" bgcolor="$color{'catbg'}" height="19" class="catbg"><img src="$imagesdir/board.gif" alt="" border="0"> <font size="2"><b>$txt{'501'}</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2"><font size="1"> - <a href="$cgi;action=boardrecount">$txt{'502'}</a><br> - <a href="$cgi;action=rebuildmemlist">$txt{'593'}</a><BR> - <font size="1">($txt{'595'})</font> </td> </tr> </table>~; } $yymain .= qq~ </td> <td width="6">&nbsp;</td> <td valign="top"><BR> <table border="0" cellpadding="5" cellspacing="1" align="center" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" width="100%"> <table width="100%" cellpadding="4"> <tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" valign="middle" align="center" width="50"><img src="$imagesdir/administrator.gif" border="0" alt="" usemap="#egg"></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}"> <font size="1"><B>$txt{'248'} $username!</B><BR><BR> $txt{'gmod6'}</font></td> </tr> </table> </td> </tr> </table> <BR>~; if($showgmod_info == 1) { $yymain .= qq~ <table border="0" cellpadding="5" cellspacing="1" align="center" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td class="catbg" bgcolor="$color{'catbg'}" colspan="2"><img src="$imagesdir/info.gif" alt="" border="0"> <font size="2"><B>$txt{'645'}</B></font></td> </tr><tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" colspan="2"><font size="1"> <a href="$scripturl?action=stats">$txt{'795'}</a><BR> <a href="$scripturl?action=showclicks">$txt{'693'}</a> <BR><b>$txt{'425'}:</b> $YaBBversion/<img src="http://www.yabbforum.com/images/version/versioncheck.gif"> <BR>(<a href="$cgi;action=detailedversion">$txt{'429'}</a>) </font></td> </tr> </table><BR>~; } $yymain .= qq~ <table border="0" cellpadding="5" cellspacing="1" align="center" bgcolor="$color{'bordercolor'}" class="bordercolor" width="100%"> <tr> <td class="catbg" bgcolor="$color{'catbg'}" colspan="2"><img src="$imagesdir/info.gif" alt="" border="0"> <font size="2"><B>$txt{'571'}</B></font></td> </tr><tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}" colspan="2"> <font size="1"><BR><i><B>Service Pack l:</B></i> Special thanks to Corey Chapman, Bjoern Berg, Dave Baughman, Tim Cueppens, Jay Silverman and Gunther Meyer. <BR><BR><i><B>YaBB 1 Gold:</B></i> Corey Chapman, Darya Misse, Popeye, [CV]XXL, Dave Baughman, Dave G, Carey P, Christian Land, Tim Cueppens, ejdmoo, StarSaber, Parham and the rest for helping out with graphics, code and other things :-) <BR><BR><i><B>YaBB 1 Final:</B></i> Zef Hemel, Jeff Lewis, Christian Land, Corey Chapman, Peter Crouch and a bunch of others we want to thank!</font> </font></td> </tr> </table> </td> </tr> </table> ~; $yytitle = "$txt{'gmod5'}"; &template; exit; } sub Load_Real_Group { $msstatcount = "0"; $starnum = "0"; while($MemStat[$msstatcount]) { if( $userprofile{$realname}->[6] >= $MemPostNum[$msstatcount] && $MemPostNum[$msstatcount] ne "x") { if ($MemType[$count] == 1) { $link{$user} = qq~<table style="filter:shadow(color=$MemTypeCol[$count], direction=left)"><a href="$cgi;action=viewprofile;username=$user"><font size="2" color=$color{'fadertext2'}><b>$userprofile{$user}->[1]</b></font></a></table>~; } elsif ($MemType[$count] == 2) { $link{$user} = qq~<table style=filter:glow(color=$MemTypeCol[$count], strength=5)"><a href="$cgi;action=viewprofile;username=$user"><font size="2" color=$color{'fadertext2'}><b>$userprofile{$user}->[1]</b></font></a></table>~; } else { $link{$user} = qq~<a href="$cgi;action=viewprofile;username=$user"><font size="2" color=$MemTypeCol[$count]><b>$userprofile{$user}->[1]</b></font></a><br>~; } $memrealinfo{$realname} = "$MemStat[$msstatcount]"; if ($MemStarNum[$msstatcount] eq "") { $MemStarNum[$msstatcount] = "0"; } $memberstartemp =''; while($MemStarNum[$msstatcount] ne "$starnum") { $memberstartemp .= qq(<img src="$imagesdir/$MemStarPic[$msstatcount]" border="0" alt="*">); ++$starnum; } $memberstar{$realname} = $memberstartemp; $starnum = "0"; } $msstatcount++; } } sub Assigned_Members { &is_admin; $yytitle = "$amgtxt{'30'}"; $yymain .= qq~ <form action="$cgi;action=assigned2" method="POST"> <table border="0" cellpadding="0" cellspacing="1" align="center" width="100%" bgcolor="$color{'bordercolor'}" class="bordercolor"> <tr><td> <table border="0" cellpadding="1" cellspacing="0" align="center" width="100%"> <tr> <td bgcolor="$color{'windowbg3'}" class="titlebg"><font size=2 color=$color{'titletext'}><b>&nbsp;$yytitle</b></font></td> </tr><tr> <td bgcolor="$color{'windowbg2'}" class="windowbg2" align="center"><font size=2><b><br>$amgtxt{'31'}</b></font> <select name="search" size=1> <option value="Administrator" $MemStatAdmin>$MemStatAdmin <option value="Global Moderator" $MemStatGMod>$MemStatGMod <option value="$MemStatNewbie" $MemStatNewbie>$MemStatNewbie ~; $count=0; while($MemStat[$count]){ $yymain .= qq~<option value="$MemStat[$count]" $MemStat[$count]>$MemStat[$count]~; $count++; } $yymain .= qq~ </select><br><br></td> </tr> </table> <center><input type="submit" value="$txt{'182'}"></center> </td></tr> </table> </form> ~; &template; exit; } sub Assigned_Members2 { &is_admin; $find = $FORM{'search'}; fopen(FILE, "$memberdir/memberlist.txt"); @memberlist = <FILE>; fclose(FILE); $yytitle = "$txt{'308'}"; $yymain .= qq~ <script language="JavaScript1.2" type="text/javascript"> <!-- Begin function changeBox(cbox) { box = eval(cbox); box.checked = !box.checked; } function checkAll() { for (var i = 0; i < document.searchform.elements.length; i++) { document.searchform.elements[i].checked = true; } } function uncheckAll() { for (var i = 0; i < document.searchform.elements.length; i++) { document.searchform.elements[i].checked = false; } } //--> </script> <script language="JavaScript1.2" src="$ubbcjspath" type="text/javascript"></script> <form action="$scripturl?action=memupdate3" method="POST" name="searchform"> <table border=0 width=100% cellspacing=1 cellspacing="4" bgcolor="$color{'bordercolor'}" class="bordercolor"> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}" colspan="7"><b><font size=2 class="text1" color="$color{'titletext'}">&nbsp;$txt{'166'}</font></b></td> </tr> <tr> <td class="catbg" bgcolor="$color{'catbg'}" width="200"><b><font size=2>&nbsp;$txt{'35'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}"><b><font size=2>&nbsp;$txt{'307'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="55" align="center"><b><font size=2>$txt{'86'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}"><b><font size=2>&nbsp;$txt{'87'}</font></b></td> <td class="catbg" bgcolor="$color{'catbg'}" width="45"><b><font size=2>&nbsp;Edit?</font></b></td> </tr> ~; $b=0; memcheck: for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; $uname = "$memberlist[$a]"; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = <MEMBERFILEREAD>; fclose(MEMBERFILEREAD); chomp @member; &LoadUser($memberlist[$a]); if($member[7] eq "$find") { if ( $member[7] eq "Administrator" ) { $memgroup = "$MemStatAdmin"; } elsif ( $member[7] eq "Global Moderator" ) { $memgroup = "$MemStatGMod"; } else { $memgroup = "$member[7]"; } $memc++; $yymain .= qq~ <tr> <td class="windowbg" bgcolor="$color{'windowbg'}"><font size=2>&nbsp;<a href="$cgi;action=viewprofile;username=$useraccount{$memberlist[$a]}">$member[1]</a></font></td> <td class="windowbg2" bgcolor="$color{'windowbg2'}"><font size=2>&nbsp;<a href="mailto:$member[2]">$member[2]</a></font></td> <td class="windowbg" bgcolor="$color{'windowbg'}" align="center"><font size=2>$member[6]</font>&nbsp;</td> <td class="windowbg2" bgcolor="$color{'windowbg2'}"><font size=2>&nbsp;$memgroup</font>&nbsp;</td> <td class="windowbg" bgcolor="$color{'windowbg'}" align="center"><input type="checkbox" name="group$b" class="$windowcss" bgcolor="$color{'windowbg'}" value="1" style="cursor:hand;"> <input type="hidden" name="tip$b" value="$uname"> </tr>~; $b++; } undef $uname; } if ($memc eq "") { $yymain .= qq~<td class="windowbg" bgcolor="$color{'windowbg'}" align="center" colspan="5"><font size=2><br>$amgtxt{'32'}<br><br></font></td></tr>~; } else { $yymain .= qq~<tr><td colspan="3">&nbsp;</td> <td><font size=2><select name="settings7"> <option value="" selected>-----------------~; $position=''; $z=0; $yymain .= qq~<option value="Administrator">$MemStatAdmin~; $yymain .= qq~<option value="Global Moderator">$MemStatGMod~; $yymain .= qq~<option value="$MemStatNewbie">$MemStatNewbie~; while($MemStat[$z]) { $position= qq~<option value="$MemStat[$z]">$MemStat[$z]~; ++$z; $yymain .= qq~$position~; } $yymain .= qq~ </select></font></td><td class="$windowcss" bgcolor="$windowbg" align="center"><font size=2><INPUT TYPE="checkbox" ONCLICK="if (this.checked) checkAll(); else uncheckAll();" style="cursor:hand;"></font></td></tr> <table border=0 width=100% cellspacing=1 cellspacing="4"> <tr><td align="right"><input type=submit name="imaction" value="SUBMIT"></td></tr> </table>~; } $yymain .= qq~</table></form>~; &template; exit; } sub MemGroup_Effects { &is_admin; $yytitle = "$amgtxt{'01'}"; $yymain .= qq~ <form action="$cgi;action=cefmemgr2" method="POST"> <table border="0" cellpadding="1" cellspacing="0" align="center" width="100%" bgcolor="$color{'bordercolor'}" class="bordercolor"> <TR><TD> <table border="0" cellpadding="1" cellspacing="0" align="center" class="windowbg2" bgcolor="$color{'windowbg2'}" width="100%"> <TR><TD bgcolor="$color{'titlebg'}" class="titlebg" colspan="8" height="25"><font size="2" color="$color{'titletext'}"><b>&nbsp;$yytitle</b></font></TD></TR> <tr> <td bgcolor="$color{'catbg'}" class="catbg"><font size=2><b>&nbsp;$amgtxt{'03'}</font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'04'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'05'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'06'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'07'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'08'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" align=center><font size=2><b>$amgtxt{'09'}</b></font></tD> </tr> <tr><td colspan=8>&nbsp;</td></tr> ~; ################### Show Admin Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeAdmin == 1) { $memtype1 = 'selected'; $example = qq~<td style=filter:shadow(color=$MemTypeColAdmin, direction=left)><font size=2><b>$username</b></font></td>~; } elsif ($MemTypeAdmin == 2) { $memtype2 = 'selected'; $example = qq~<td style=filter:glow(color=$MemTypeColAdmin, strength=5)><font size=2><b>$username</b></font></td>~; } else { $memtype3 = 'selected'; $example = qq~<td><font size=2 color=$MemTypeColAdmin><b>$username</b></font></td>~; } $yymain .= qq~<tr> <td><input type="hidden" name="MemStatAdmin" value="$MemStatAdmin"><font size=2>$MemStatAdmin</font></td> <input type="hidden" name="MemStatTxtAdmin" value="$MemStatTxtAdmin"> <td align="center"><font size=2><input type="hidden" name="MemPostNumAdmin" value="$MemPostNumAdmin">$MemPostNumAdmin</font></td> <td align="center"><font size=2><input type="hidden" name="MemStarNumAdmin" value="$MemStarNumAdmin">$MemStarNumAdmin</font></TD>~; if ($MemStarPicAdmin eq "") { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}">&nbsp;</td>~; } else { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}"><input type="hidden" name="MemStarPicAdmin" value="$MemStarPicAdmin"><img src="$imagesdir/$MemStarPicAdmin"border=0></td>~; } $yymain .= qq~<td>&nbsp;<select name="typeAdmin" size=1> <option value="1"$memtype1>Shadow <option value="2"$memtype2>Glow <option value="3"$memtype3>Colored Text </select></td> <td><input type=text name="MemTypeColAdmin" size=15 value="$MemTypeColAdmin"></td> <script language="JavaScript1.2" type="text/javascript"> <!-- document.write("$example"); //--> </script> </tr>~; ################# END Show Admin Settings ################# ################### Show Global Mod Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeGMod == 1) { $memtype1 = 'selected'; $example = qq~<td style=filter:shadow(color=$MemTypeColGMod, direction=left)><font size=2><b>$username</b></font></td>~; } elsif ($MemTypeGMod == 2) { $memtype2 = 'selected'; $example = qq~<td style=filter:glow(color=$MemTypeColGMod, strength=5)><font size=2><b>$username</b></font></td>~; } else { $memtype3 = 'selected'; $example = qq~<td><font size=2 color=$MemTypeColGMod><b>$username</b></font></td>~; } $yymain .= qq~<tr> <td><input type="hidden" name="MemStatGMod" value="$MemStatGMod"><font size=2>$MemStatGMod</font></td> <input type="hidden" name="MemStatTxtGMod" value="$MemStatTxtGMod"> <td align="center">&nbsp</td> <td align="center"><font size=2><input type="hidden" name="MemStarNumGMod" value="$MemStarNumGMod">$MemStarNumGMod</font></TD>~; if ($MemStarPicGMod eq "") { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}">&nbsp;</td>~; } else { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}"><input type="hidden" name="MemStarPicGMod" value="$MemStarPicGMod"><img src="$imagesdir/$MemStarPicGMod"border=0></td>~; } $yymain .= qq~<td>&nbsp;<select name="typeGMod" size=1> <option value="1"$memtype1>Shadow <option value="2"$memtype2>Glow <option value="3"$memtype3>Colored Text </select></td> <td><input type=text name="MemTypeColGMod" size=15 value="$MemTypeColGMod"></td> <script language="JavaScript1.2" type="text/javascript"> <!-- document.write("$example"); //--> </script> </tr>~; ################# END Show Global Mod Settings ################# ################### Show Mod Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeMod == 1) { $memtype1 = 'selected'; $example = qq~<td style=filter:shadow(color=$MemTypeColMod, direction=left)><font size=2><b>$username</b></font></td>~; } elsif ($MemTypeMod == 2) { $memtype2 = 'selected'; $example = qq~<td style=filter:glow(color=$MemTypeColMod, strength=5)><font size=2><b>$username</b></font></td>~; } else { $memtype3 = 'selected'; $example = qq~<td><font size=2 color=$MemTypeColMod><b>$username</b></font></td>~; } $yymain .= qq~<tr> <input type="hidden" name="MemStatMod" value="$MemStatMod"> <td><input type="hidden" name="MemStatTxtMod" value="$MemStatTxtMod"><font size=2>$MemStatMod</font></td> <td align="center">&nbsp</td> <td align="center"><font size=2><input type="hidden" name="MemStarNumMod" value="$MemStarNumMod">$MemStarNumMod</font></TD>~; if ($MemStarPicMod eq "") { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}">&nbsp;</td>~; } else { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}"><input type="hidden" name="MemStarPicMod" value="$MemStarPicMod"><img src="$imagesdir/$MemStarPicMod"border=0></td>~; } $yymain .= qq~<td>&nbsp;<select name="typeMod" size=1> <option value="1"$memtype1>Shadow <option value="2"$memtype2>Glow <option value="3"$memtype3>Colored Text </select></td> <td><input type=text name="MemTypeColMod" size=15 value="$MemTypeColMod"></td> <script language="JavaScript1.2" type="text/javascript"> <!-- document.write("$example"); //--> </script> </tr>~; ################# END Show Mod Settings ################# ################### Show Newbie Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeNewbie == 1) { $memtype1 = 'selected'; $example = qq(<td style=filter:shadow(color=$MemTypeColNewbie, direction=left)><font size=2><b>$username</b></font></td>); } elsif ($MemTypeNewbie == 2) { $memtype2 = 'selected'; $example = qq(<td style=filter:glow(color=$MemTypeColNewbie, strength=5)><font size=2><b>$username</b></font></td>); } else { $memtype3 = 'selected'; $example = qq(<td><font size=2 color=$MemTypeColNewbie><b>$username</b></font></td>); } $yymain .= qq~<tr> <input type="hidden" name="MemStatNewbie" value="$MemStatNewbie"> <td><input type="hidden" name="MemStatTxtNewbie" value="$MemStatTxtNewbie"><font size=2>$MemStatNewbie</font></td> <td align="center">&nbsp</td> <td align="center"><font size=2><input type="hidden" name="MemStarNumNewbie" value="$MemStarNumNewbie">$MemStarNumNewbie</font></TD>~; if ($MemStarPicNewbie eq "") { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}">&nbsp;</td>~; } else { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}"><input type="hidden" name="MemStarPicNewbie" value="$MemStarPicNewbie"><img src="$imagesdir/$MemStarPicNewbie"border=0></td>~; } $yymain .= qq~<td>&nbsp;<select name="typeNewbie" size=1> <option value="1"$memtype1>Shadow <option value="2"$memtype2>Glow <option value="3"$memtype3>Colored Text </select></td> <td><input type=text name="MemTypeColNewbie" size=15 value="$MemTypeColNewbie"></td> <script language="JavaScript1.2" type="text/javascript"> <!-- document.write("$example"); //--> </script> </tr>~; ################# END Show Newbie Settings ################# $yymain .= qq~<tr><td colspan=8><HR size=1 width="100%" class="hr"></td></tr>~; ###Linebreak ################# Show other Membergroup Settings ################# $count=0; while($MemStat[$count]) { undef $memtype1; undef $memtype2; undef $memtype3; if ($MemType[$count] == 1) { $memtype1 = 'selected'; $example = qq(<td style=filter:shadow(color=$MemTypeCol[$count], direction=left)><font size=2><b>$username</b></font></td>); } elsif ($MemType[$count] == 2) { $memtype2 = 'selected'; $example = qq(<td style=filter:glow(color=$MemTypeCol[$count], strength=5)><font size=2><b>$username</b></font></td>); } else { $memtype3 = 'selected'; $example = qq(<td><font size=2 color=$MemTypeCol[$count]><b>$username</b></font></td>); } $yymain .= qq~<tr> <td><input type="hidden" name="MemStat[$count]" value="$MemStat[$count]"><font size=2>$MemStat[$count]</font></td> <input type="hidden" name="MemStatTxt[$count]" value="$MemStatTxt[$count]"> <td align="center"><font size=2><input type="hidden" name="MemPostNum[$count]" value="$MemPostNum[$count]">$MemPostNum[$count]</font></td> <td align="center"><font size=2><input type="hidden" name="MemStarNum[$count]" value="$MemStarNum[$count]">$MemStarNum[$count]</font></TD>~; if ($MemStarPic[$count] eq "") { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}">&nbsp;</td>~; } else { $yymain .= qq~<td align="center" class="windowbg2" bgcolor="$color{'windowbg2'}"><input type="hidden" name="MemStarPic[$count]" value="$MemStarPic[$count]"><img src="$imagesdir/$MemStarPic[$count]"border=0></td>~; } $yymain .= qq~<td>&nbsp;<select name="type[$count]" size=1> <option value="1"$memtype1>Shadow <option value="2"$memtype2>Glow <option value="3"$memtype3>Colored Text </select></td> <td><input type=text name="MemTypeCol[$count]" size=15 value="$MemTypeCol[$count]"></td> <script language="JavaScript1.2" type="text/javascript"> <!-- document.write("$example"); //--> </script> </tr>~; $count++; } ################# End Show other Membergroup Settings ################# $yymain .= qq~ <tr><td colspan=8>&nbsp;</td></tr> </table> </TD></TR> <TD><center><input type="submit" value="$txt{'10'}"></center></TD> </table> </form> ~; &template; exit; } sub MemGroup_Effects2 { &is_admin; fopen(FILE, ">$vardir/MemberStats.txt", 1); $var1 = "$FORM{'MemStatAdmin'}"; $var2 = "$FORM{'MemStatTxtAdmin'}"; $var3 = "$FORM{'MemStarNumAdmin'}"; $var4 = "$FORM{'MemStarPicAdmin'}"; $var5 = "$FORM{'typeAdmin'}"; $var6 = "$FORM{'MemTypeColAdmin'}"; print FILE qq(\$MemStatAdmin = "$var1";\n\$MemStatTxtAdmin = "$var2";\n\$MemStarNumAdmin = "$var3";\n\$MemStarPicAdmin = "$var4";\n\$MemTypeAdmin = "$var5";\n\$MemTypeColAdmin = "$var6";\n\n); $var1 = "$FORM{'MemStatGMod'}"; $var2 = "$FORM{'MemStatTxtGMod'}"; $var3 = "$FORM{'MemStarNumGMod'}"; $var4 = "$FORM{'MemStarPicGMod'}"; $var5 = "$FORM{'typeGMod'}"; $var6 = "$FORM{'MemTypeColGMod'}"; print FILE qq(\$MemStatGMod = "$var1";\n\$MemStatTxtGMod = "$var2";\n\$MemStarNumGMod = "$var3";\n\$MemStarPicGMod = "$var4";\n\$MemTypeGMod = "$var5";\n\$MemTypeColGMod = "$var6";\n\n); $var1 = "$FORM{'MemStatMod'}"; $var2 = "$FORM{'MemStatTxtMod'}"; $var3 = "$FORM{'MemStarNumMod'}"; $var4 = "$FORM{'MemStarPicMod'}"; $var5 = "$FORM{'typeMod'}"; $var6 = "$FORM{'MemTypeColMod'}"; print FILE qq(\$MemStatMod = "$var1";\n\$MemStatTxtMod = "$var2";\n\$MemStarNumMod = "$var3";\n\$MemStarPicMod = "$var4";\n\$MemTypeMod = "$var5";\n\$MemTypeColMod = "$var6";\n\n); $var1 = "$FORM{'MemStatNewbie'}"; $var2 = "$FORM{'MemStatTxtNewbie'}"; $var3 = "$FORM{'MemStarNumNewbie'}"; $var4 = "$FORM{'MemStarPicNewbie'}"; $var5 = "$FORM{'typeNewbie'}"; $var6 = "$FORM{'MemTypeColNewbie'}"; print FILE qq(\$MemStatNewbie = "$var1";\n\$MemStatTxtNewbie = "$var2";\n\$MemStarNumNewbie = "$var3";\n\$MemStarPicNewbie = "$var4";\n\$MemTypeNewbie = "$var5";\n\$MemTypeColNewbie = "$var6";\n\n); $count=0; while($FORM{"MemStat[$count]"}) { $var1 = $FORM{"MemStat[$count]"}; $var2 = $FORM{"MemPostNum[$count]"}; $var3 = $FORM{"MemStarNum[$count]"}; if ($var3 eq "") { $var3 = "0"} $var4 = $FORM{"MemStarPic[$count]"}; $var5 = $FORM{"MemStatTxt[$count]"}; $var6 = $FORM{"type[$count]"}; $var7 = $FORM{"MemTypeCol[$count]"}; $mst = qq(\$MemStat[$count] = "$var1";); $stt = qq(\$MemStatTxt[$count] = "$var5";); $mpn = qq(\$MemPostNum[$count] = "$var2";); $msn = qq(\$MemStarNum[$count] = "$var3";); $msp = qq(\$MemStarPic[$count] = "$var4";); $mty = qq(\$MemType[$count] = "$var6";); $mtc = qq(\$MemTypeCol[$count] = "$var7";); print FILE "$mst\n$stt\n$mpn\n$msn\n$msp\n$mty\n$mtc\n\n"; $count++; } print FILE "1;"; fclose(FILE); $yySetLocation = qq~$cgi;action=cefmemgr~; &redirectexit; } sub EditNews2 { &is_global; fopen(FILE, ">$vardir/news.txt", 1); print FILE "$FORM{'news'}"; fclose(FILE); $yySetLocation = qq~$cgi;action=moderate~; &redirectexit; } sub ipban { &is_global; my( @ipban, @emailban, $curban ); fopen(FILE, "$vardir/ban.txt"); @ipban = <FILE>; fclose(FILE); fopen(FILE, "$vardir/ban_email.txt"); @emailban = <FILE>; fclose(FILE); fopen(FILE, "$vardir/ban_memname.txt"); @memnameban = <FILE>; fclose(FILE); $yytitle = "$txt{'340'}"; $yymain .= qq~ <table border="0" cellspacing="1" cellpadding="4" align="center" width="550"> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}"> <img src="$imagesdir/ban.gif" alt="" border="0"> <font size=2 class="text1" color="$color{'titletext'}"><b>$txt{'340'}</b></font></td> </tr><tr> <td class="windowbg" bgcolor="$color{'windowbg'}" align="center"> <font size="2"><form action="$cgi;action=ipban2gm" method="POST"> <BR>$txt{'724'}<br> <textarea cols="60" rows="6" name="ban"> ~; foreach $curban (@ipban) { chomp $curban; if( $curban =~ m~\A\s+\Z~ ) { next; } $yymain .= "$curban\n"; } $yymain .= qq~ </textarea><br><br> $txt{'725'}<br> <textarea cols=60 rows=6 name="ban_email"> ~; foreach $curban (@emailban) { chomp $curban; if( $curban =~ m~\A\s+\Z~ ) { next; } $yymain .= "$curban\n"; } $yymain .= qq~</textarea><br><BR> $txt{'725a'}<br> <textarea cols=60 rows=6 name="ban_memname"> ~; foreach $curban (@memnameban) { chomp $curban; if( $curban =~ m~\A\s+\Z~ ) { next; } $yymain .= "$curban\n"; } $yymain .= qq~</textarea><br><BR> <input type=submit value="$txt{'10'}"> </form></font></td> </tr> </table> ~; &template; exit; } sub ipban2 { &is_global; $FORM{'ban'} =~ tr/\r//d; $FORM{'ban'} =~ s~\A[\s\n]+~~; $FORM{'ban'} =~ s~[\s\n]+\Z~~; $FORM{'ban'} =~ s~\n\s*\n~\n~g; $FORM{'ban_email'} =~ tr/\r//d; $FORM{'ban_email'} =~ s~\A[\s\n]+~~; $FORM{'ban_email'} =~ s~[\s\n]+\Z~~; $FORM{'ban_email'} =~ s~\n\s*\n~\n~g; $FORM{'ban_memname'} =~ tr/\r//d; $FORM{'ban_memname'} =~ s~\A[\s\n]+~~; $FORM{'ban_memname'} =~ s~[\s\n]+\Z~~; $FORM{'ban_memname'} =~ s~\n\s*\n~\n~g; fopen(FILE, ">$vardir/ban.txt", 1); print FILE "$FORM{'ban'}"; fclose(FILE); fopen(FILE, ">$vardir/ban_email.txt", 1); print FILE "$FORM{'ban_email'}"; fclose(FILE); fopen(FILE, ">$vardir/ban_memname.txt", 1); print FILE "$FORM{'ban_memname'}"; fclose(FILE); $yySetLocation = qq~$cgi;action=moderate~; &redirectexit; } sub EditMemberGroups { &is_admin; $yymain .= qq~ <table border="0" width=100%" cellspacing=1 cellpadding=0 bgcolor="$color{'bordercolor'}" class="bordercolor" align=center> <tr> <td class="titlebg" bgcolor="$color{'titlebg'}"> <img src="$imagesdir/guest.gif" border="0"> <font size=2 class="text1" color="$color{'titletext'}"><b>$txt{'8'}</font></td> </tr><tr> <td class="windowbg2" bgcolor="$color{'windowbg2'}"><font size=2> <form action="$cgi;action=modmemgr2" method="POST"> <table border="0" cellpadding="0" cellspacing="0" width=100%> <tr> <td bgcolor="$color{'catbg'}" class="catbg" align=right><font size=2><b>$amgtxt{'16'}&nbsp;</font></tD> <td bgcolor="$color{'catbg'}" class="catbg"><font size=2><b>&nbsp;$amgtxt{'03'}</font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=50></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=45 align=center><font size=2><b>$amgtxt{'05'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'17'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'18'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40 align=center><font size=2><b>$amgtxt{'19'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40></tD> </tr><tr> <td colspan=8>&nbsp;</td> </tr><tr> ~; undef $stars1; undef $stars2; undef $stars3; undef $stars4; undef $stars5; undef $stars6; undef $pic; if ($MemStarNumAdmin eq "") { $MemStarNumAdmin = "0"; } if ($MemStarPicAdmin eq "staradmin.gif") { $stars1 = "selected" } elsif ($MemStarPicAdmin eq "stargmod.gif") { $stars2 = "selected" } elsif ($MemStarPicAdmin eq "starmod.gif") { $stars3 = "selected" } elsif ($MemStarPicAdmin eq "starblue.gif") { $stars4 = "selected" } elsif ($MemStarPicAdmin eq "starsilver.gif") { $stars5 = "selected" } elsif ($MemStarPicAdmin eq "stargold.gif") { $stars6 = "selected" } elsif ($MemStarPicAdmin eq "") { $stars1 = "selected" } else { $stars7 = "selected"; $pic = $MemStarPicAdmin;} $yymain .= qq~ <input type="hidden" name="MemTypeAdmin" value="$MemTypeAdmin"> <input type="hidden" name="MemTypeColAdmin" value="$MemTypeColAdmin"> <td align="right"><font size=2><b><input type=hidden name="MemStatTxtAdmin" value='$MemStatTxtAdmin'>$MemStatTxtAdmin:&nbsp;</b></font></td> <td colspan=2><input type=text name="MemStatAdmin" size=30 value="$MemStatAdmin"></td> <td align="center"><input type=text name="MemStarNumAdmin" size="2" maxlength="2" value="$MemStarNumAdmin"></TD> <td align="center"><select name="MemStarPicAdmin"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="center"><input type=text name="MemOwnPicAdmin" size="10" value="$pic"></TD> ~; if ($MemStarPicAdmin eq "") { $yymain .= qq~<td align=center>&nbsp;</td>~; } else { $yymain .= qq~<td align=center><img src="$imagesdir/$MemStarPicAdmin" name="MemStarPicAdmin" border=0></td>~; } undef $stars1; undef $stars2; undef $stars3; undef $stars4; undef $stars5; undef $stars6; undef $pic; if ($MemStarNumGMod eq "") { $MemStarNumGMod = "0"; } if ($MemStarPicGMod eq "staradmin.gif") { $stars1 = "selected" } elsif ($MemStarPicGMod eq "stargmod.gif") { $stars2 = "selected" } elsif ($MemStarPicGMod eq "starmod.gif") { $stars3 = "selected" } elsif ($MemStarPicGMod eq "starblue.gif") { $stars4 = "selected" } elsif ($MemStarPicGMod eq "starsilver.gif") { $stars5 = "selected" } elsif ($MemStarPicGMod eq "stargold.gif") { $stars6 = "selected" } elsif ($MemStarPicGMod eq "") { $stars2 = "selected" } else { $stars7 = "selected"; $pic = $MemStarPicGMod;} $yymain .= qq~ </tr><tr> <input type="hidden" name="MemTypeGMod" value="$MemTypeGMod"> <input type="hidden" name="MemTypeColGMod" value="$MemTypeColGMod"> <td align="right"><font size=2><b><input type=hidden name="MemStatTxtGMod" value='$MemStatTxtGMod'>$MemStatTxtGMod:&nbsp;</b></font></td> <td colspan=2><input type=text name="MemStatGMod" size=30 value="$MemStatGMod"></td> <td align="center"><input type=text name="MemStarNumGMod" size="2" maxlength="2" value="$MemStarNumGMod"></TD> <td align="center"><select name="MemStarPicGMod"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="center"><input type=text name="MemOwnPicGMod" size="10" value="$pic"></TD> ~; if ($MemStarPicGMod eq "") { $yymain .= qq~<td align=center>&nbsp;</td>~; } else { $yymain .= qq~<td align=center><img src="$imagesdir/$MemStarPicGMod" name="MemStarPicGMod" border=0></td>~; } undef $stars1; undef $stars2; undef $stars3; undef $stars4; undef $stars5; undef $stars6; undef $pic; if ($MemStarNumMod eq "") { $MemStarNumMod = "0"; } if ($MemStarPicMod eq "staradmin.gif") { $stars1 = "selected" } elsif ($MemStarPicMod eq "stargmod.gif") { $stars2 = "selected" } elsif ($MemStarPicMod eq "starmod.gif") { $stars3 = "selected" } elsif ($MemStarPicMod eq "starblue.gif") { $stars4 = "selected" } elsif ($MemStarPicModn eq "starsilver.gif") { $stars5 = "selected" } elsif ($MemStarPicMod eq "stargold.gif") { $stars6 = "selected" } elsif ($MemStarPicMod eq "") { $stars3 = "selected" } else { $stars7 = "selected"; $pic = $MemStarPicMod;} $yymain .= qq~ </tr><tr> <input type="hidden" name="MemTypeMod" value="$MemTypeMod"> <input type="hidden" name="MemTypeColMod" value="$MemTypeColMod"> <td align="right"><font size=2><b><input type=hidden name="MemStatTxtMod" value='$MemStatTxtMod'>$MemStatTxtMod:&nbsp;</b></font></td> <td colspan=2><input type=text name="MemStatMod" size=30 value="$MemStatMod"></td> <td align="center"><input type=text name="MemStarNumMod" size="2" maxlength="2" value="$MemStarNumMod"></TD> <td align="center"><select name="MemStarPicMod"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="center"><input type=text name="MemOwnPicMod" size="10" value="$pic"></TD> ~; if ($MemStarPicMod eq "") { $yymain .= qq~<td align=center>&nbsp;</td>~; } else { $yymain .= qq~<td align=center><img src="$imagesdir/$MemStarPicMod" name="MemStarPicMod" border=0></td>~; } undef $stars1; undef $stars2; undef $stars3; undef $stars4; undef $stars5; undef $stars6; undef $pic; if ($MemStarNumNewbie eq "") { $MemStarNumNewbie = "0"; } if ($MemStarPicNewbie eq "staradmin.gif") { $stars1 = "selected" } elsif ($MemStarPicNewbie eq "stargmod.gif") { $stars2 = "selected" } elsif ($MemStarPicNewbie eq "starmod.gif") { $stars3 = "selected" } elsif ($MemStarPicNewbie eq "starblue.gif") { $stars4 = "selected" } elsif ($MemStarPicNewbie eq "starsilver.gif") { $stars5 = "selected" } elsif ($MemStarPicNewbie eq "stargold.gif") { $stars6 = "selected" } elsif ($MemStarPicNewbie eq "") { $stars4 = "selected" } else { $stars7 = "selected"; $pic = $MemStarPicNewbie;} $yymain .= qq~ </tr><tr> <input type="hidden" name="MemTypeNewbie" value="$MemTypeNewbie"> <input type="hidden" name="MemTypeColNewbie" value="$MemTypeColNewbie"> <td align="right"><font size=2><b><input type=hidden name="MemStatTxtNewbie" value='$MemStatTxtNewbie'>$MemStatTxtNewbie:&nbsp;</b></font></td> <td colspan=2><input type=text name="MemStatNewbie" size=30 value="$MemStatNewbie"></td> <td align="center"><input type=text name="MemStarNumNewbie" size="2" maxlength="2" value="$MemStarNumNewbie"></TD> <td align="center"><select name="MemStarPicNewbie"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="center"><input type=text name="MemOwnPicNewbie" size="10" value="$pic"></TD> ~; if ($MemStarPicNewbie eq "") { $yymain .= qq~<td align=center>&nbsp;</td>~; } else { $yymain .= qq~<td align=center><img src="$imagesdir/$MemStarPicNewbie" name="MemStarPicNewbie" border=0></td>~; } $yymain .= qq~ </tr><tr><td colspan=8>&nbsp;</td></tr><tr> <td bgcolor="$color{'titlebg'}" class="titlebg" colspan=8><font size=2 class="text1" color="$color{'titletext'}"><b>&nbsp;$amgtxt{'28'}</font></tD> </tr><tr> <td bgcolor="$color{'catbg'}" class="catbg" align=right><font size=2><b>$amgtxt{'16'}&nbsp;</font></tD> <td bgcolor="$color{'catbg'}" class="catbg"><font size=2><b>&nbsp;$amgtxt{'03'}</font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=50 align=center><font size=2><b>$amgtxt{'04'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=45 align=center><font size=2><b>$amgtxt{'05'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'17'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'18'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40 align=center><font size=2><b>$amgtxt{'19'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40 align=center><font size=2><b>$amgtxt{'27'}</b></font></tD> </tr><tr><td colspan=8>&nbsp;</td></tr><tr> ~; $count=0; while($MemStat[$count]) { undef $stars1; undef $stars2; undef $stars3; undef $stars4; undef $stars5; undef $stars6; undef $pic; if ($MemStarNum[$count] eq "") { $MemStarNum[$count] = "0"; } if ($MemStarPic[$count] eq "staradmin.gif") { $stars1 = "selected" } elsif ($MemStarPic[$count] eq "stargmod.gif") { $stars2 = "selected" } elsif ($MemStarPic[$count] eq "starmod.gif") { $stars3 = "selected" } elsif ($MemStarPic[$count] eq "starblue.gif") { $stars4 = "selected" } elsif ($MemStarPic[$count] eq "starsilver.gif") { $stars5 = "selected" } elsif ($MemStarPic[$count] eq "stargold.gif") { $stars6 = "selected" } elsif ($MemStarPic[$count] eq "") { $stars4 = "selected" } else { $stars7 = "selected"; $pic = $MemStarPic[$count];} $yymain .= qq~ <input type="hidden" name="MemType[$count]" value="$MemType[$count]"> <input type="hidden" name="MemTypeCol[$count]" value="$MemTypeCol[$count]"> <td align="right"><font size=2><b><input type=hidden name="MemStatTxt[$count]" value='$MemStatTxt[$count]'>$MemStatTxt[$count]:&nbsp;</b></font></td> <td align="left"><input type=text name="MemStat[$count]" size=30 value="$MemStat[$count]"></td> <td align="center"><input type=text name="MemPostNum[$count]" size="6" maxlength="6" value="$MemPostNum[$count]"></td> <td align="center"><input type=text name="MemStarNum[$count]" size="2" maxlength="2" value="$MemStarNum[$count]"></TD> <td align="center"><select name="stars[$count]"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="center"><input type=text name="MemOwnPic[$count]" size="10" value="$pic"></TD> ~; if ($MemStarPic[$count] eq "") { $yymain .= qq~<td align=center>&nbsp;</td>~; } else { $yymain .= qq~<td align=center><img src="$imagesdir/$MemStarPic[$count]" name="MemStarPic[$count]" border=0></td>~; } $yymain .= qq~ <td class='windowbg2' bgcolor=$color{'windowbg2'} align=center><input type=checkbox name=delbox[$count] value=1></TD></tr> ~; $count++; } $yymain .= qq~ <tr><td colspan=8>&nbsp;</td></tr><tr> <td bgcolor="$color{'titlebg'}" class="titlebg" colspan=8><font size=2 class="text1" color="$color{'titletext'}"><b>&nbsp;$amgtxt{'29'}</font></tD> </tr><tr> <td bgcolor="$color{'catbg'}" class="catbg" align=right><font size=2><b>$amgtxt{'16'}&nbsp;</font></tD> <td bgcolor="$color{'catbg'}" class="catbg"><font size=2><b>&nbsp;$amgtxt{'03'}</font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=50 align=center><font size=2><b>$amgtxt{'04'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=45 align=center><font size=2><b>$amgtxt{'05'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'17'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=80 align=center><font size=2><b>$amgtxt{'18'}</b></font></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40></tD> <td bgcolor="$color{'catbg'}" class="catbg" width=40></tD> </tr><tr><td colspan=8>&nbsp;</td></tr><tr> <td align="right"><input type=text size=26 name="MemStatTxt[$count]"></td> <td align="left"><input type=text name="MemStat[$count]" size=30 value="$MemStat[$count]"></td> <td align="center"><input type=text name="MemPostNum[$count]" size="6" maxlength="6" value="$MemPostNum[$count]"></td> <td align="center"><input type=text name="MemStarNum[$count]" size="2" maxlength="2" value="$MemStarNum[$count]"></TD> <td align="center"><select name="stars[$count]"> <option value="staradmin.gif" $stars1>$amgtxt{'20'} <option value="stargmod.gif" $stars2>$amgtxt{'21'} <option value="starmod.gif" $stars3>$amgtxt{'22'} <option value="starblue.gif" $stars4>$amgtxt{'23'} <option value="starsilver.gif" $stars5>$amgtxt{'24'} <option value="stargold.gif" $stars6>$amgtxt{'25'} <option value="other" $stars7>$amgtxt{'26'} </select></TD> <td align="left" colspan=3><input type=text name="memownpic[$count]" size="10" value="$pic"></TD> <tr><td colspan=8>&nbsp;</td></tr><tr><td colspan=8><center><input type=submit value="$txt{'10'}"></center></td> </tr> </table> </form> </td> </tr> </table> ~; $yytitle = $txt{'8'}; &template; exit; } sub EditMemberGroups2 { &is_admin; fopen(FILE, ">$vardir/MemberStats.txt", 1); fopen(DATA, ">$vardir/temp.tmp"); fopen(SPECIAL, ">$vardir/temp2.tmp"); $var1 = "$FORM{'MemStatAdmin'}"; $var2 = "$FORM{'MemStatTxtAdmin'}"; $var3 = "$FORM{'MemStarNumAdmin'}"; $var4 = "$FORM{'MemStarPicAdmin'}"; $var5 = "$FORM{'MemOwnPicAdmin'}"; $var6 = "$FORM{'MemTypeAdmin'}"; $var7 = "$FORM{'MemTypeColAdmin'}"; if ($var4 eq "other") { $var4 = $var5; } print FILE qq(\$MemStatAdmin = "$var1";\n\$MemStatTxtAdmin = "$var2";\n\$MemStarNumAdmin = "$var3";\n\$MemStarPicAdmin = "$var4";\n\$MemTypeAdmin = "$var6";\n\$MemTypeColAdmin = "$var7";\n\n); $var1 = "$FORM{'MemStatGMod'}"; $var2 = "$FORM{'MemStatTxtGMod'}"; $var3 = "$FORM{'MemStarNumGMod'}"; $var4 = "$FORM{'MemStarPicGMod'}"; $var5 = "$FORM{'MemOwnPicGMod'}"; $var6 = "$FORM{'MemTypeGMod'}"; $var7 = "$FORM{'MemTypeColGMod'}"; if ($var4 eq "other") { $var4 = $var5; } print FILE qq(\$MemStatGMod = "$var1";\n\$MemStatTxtGMod = "$var2";\n\$MemStarNumGMod = "$var3";\n\$MemStarPicGMod = "$var4";\n\$MemTypeGMod = "$var6";\n\$MemTypeColGMod = "$var7";\n\n); $var1 = "$FORM{'MemStatMod'}"; $var2 = "$FORM{'MemStatTxtMod'}"; $var3 = "$FORM{'MemStarNumMod'}"; $var4 = "$FORM{'MemStarPicMod'}"; $var5 = "$FORM{'MemOwnPicMod'}"; $var6 = "$FORM{'MemTypeMod'}"; $var7 = "$FORM{'MemTypeColMod'}"; if ($var4 eq "other") { $var4 = $var5; } print FILE qq(\$MemStatMod = "$var1";\n\$MemStatTxtMod = "$var2";\n\$MemStarNumMod = "$var3";\n\$MemStarPicMod = "$var4";\n\$MemTypeMod = "$var6";\n\$MemTypeColMod = "$var7";\n\n); $var1 = "$FORM{'MemStatNewbie'}"; $var2 = "$FORM{'MemStatTxtNewbie'}"; $var3 = "$FORM{'MemStarNumNewbie'}"; $var4 = "$FORM{'MemStarPicNewbie'}"; $var5 = "$FORM{'MemOwnPicNewbie'}"; $var6 = "$FORM{'MemTypeNewbie'}"; $var7 = "$FORM{'MemTypeColNewbie'}"; if ($var4 eq "other") { $var4 = $var5; } print FILE qq(\$MemStatNewbie = "$var1";\n\$MemStatTxtNewbie = "$var2";\n\$MemStarNumNewbie = "$var3";\n\$MemStarPicNewbie = "$var4";\n\$MemTypeNewbie = "$var6";\n\$MemTypeColNewbie = "$var7";\n\n); $tempA=0; while($FORM{"MemStat[$tempA]"}) { $delcheck = $FORM{"delbox[$tempA]"}; $var1 = $FORM{"MemStat[$tempA]"}; $var2 = $FORM{"MemPostNum[$tempA]"}; $var3 = $FORM{"MemStarNum[$tempA]"}; if ($var3 eq "") { $var3 = "0"} $var4 = $FORM{"stars[$tempA]"}; $var5 = $FORM{"MemOwnPic[$tempA]"}; $var6 = $FORM{"MemStatTxt[$tempA]"}; $var7 = $FORM{"MemType[$tempA]"}; $var8 = $FORM{"MemTypeCol[$tempA]"}; if ($var4 eq "other") { $var4 = $var5; } if($delcheck ne "1" && $var2 ne "x") { print DATA "$var2|$var1|$var3|$var4|$var6|$var7|$var8\n"; } elsif($delcheck ne "1" && $var2 eq "x") { print SPECIAL "$var2|$var1|$var3|$var4|$var6|$var7|$var8\n"; } $tempA++; } fclose(DATA); fclose(SPECIAL); fopen(DATA, "$vardir/temp.tmp"); @tempvars = <DATA>; fclose(DATA); fopen(SPECIAL, "$vardir/temp2.tmp"); @specialvars = <SPECIAL>; fclose(SPECIAL); unlink("$vardir/temp.tmp"); unlink("$vardir/temp2.tmp"); %TopCount = (); foreach $line (@tempvars) { $TopCount{$line} = $line; } @tempvars = sort {$TopCount{$a} <=> $TopCount{$b}} keys %TopCount; $count=0; foreach $line (@tempvars) { chomp ($line); ($var2, $var1, $var3, $var4, $var6, $var7, $var8) = split (/\|/,$line); $mst = qq(\$MemStat[$count] = "$var1";); $stt = qq(\$MemStatTxt[$count] = "$var6";); $mpn = qq(\$MemPostNum[$count] = "$var2";); $msn = qq(\$MemStarNum[$count] = "$var3";); $msp = qq(\$MemStarPic[$count] = "$var4";); $mty = qq(\$MemType[$count] = "$var7";); $mtc = qq(\$MemTypeCol[$count] = "$var8";); print FILE "$mst\n$stt\n$mpn\n$msn\n$msp\n$mty\n$mtc\n\n"; $count++; } foreach $line (@specialvars) { chomp ($line); ($var2, $var1, $var3, $var4, $var6, $var7, $var8) = split (/\|/,$line); $mst = qq(\$MemStat[$count] = "$var1";); $stt = qq(\$MemStatTxt[$count] = "$var6";); $mpn = qq(\$MemPostNum[$count] = "$var2";); $msn = qq(\$MemStarNum[$count] = "$var3";); $msp = qq(\$MemStarPic[$count] = "$var4";); $mty = qq(\$MemType[$count] = "$var7";); $mtc = qq(\$MemTypeCol[$count] = "$var8";); print FILE "$mst\n$stt\n$mpn\n$msn\n$msp\n$mty\n$mtc\n\n"; $count++; } print FILE "1;"; fclose(FILE); $yySetLocation = qq~$cgi;action=modmemgr~; &redirectexit; } 1;