############################################################################### # 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~
 $yytitle

$amgtxt{'31'}


~; &template; exit; } sub Members_Update2 { &is_admin; $find = $FORM{'search'}; fopen(FILE, "$vardir/$find"); @memberlist = ; fclose(FILE); $yytitle = "$txt{'308'}"; $yymain .= qq~
~; memcheck: for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; $uname = $memberlist[$a]; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = ; 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~ ~; undef $uname; } $yymain .= qq~
 $txt{'166'}
 $txt{'35'}  $txt{'307'} $txt{'86'}  $txt{'87'}  Edit?
 $member[1]  $member[2] $member[6]   $memgroup 
 
~; &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~
$amgtxt{'44'}
~; &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 = ; fclose(FILE); for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = ; 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=; 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/\<//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'}~; $dayormonthd = qq~$txt{'565'}~; 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~
~; if($memsettings[7] eq 'Administrator' || $memsettings[7] eq 'Global Moderator') { $yymain .= qq~ ~; } $yymain .=qq~
   $txt{'79'}

$txt{'698'}

$txt{'517'}
$txt{'35'}: $INFO{'username'}

$txt{'597'}
~; if($allowpics) { opendir(DIR, "$facesdir") || fatal_error("$txt{'230'} ($facesdir)!
$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~ ~; } $yymain .= qq~
$txt{'231'}:
$txt{'563'}: $dayormonth$txt{'566'}
$txt{'227'}:


$txt{'83'}:
$txt{'598'}
$txt{'84'}:
$txt{'599'}


$txt{'513'}:
$txt{'600'}
$txt{'603'}:
$txt{'601'}
$txt{'604'}:
$txt{'602'}


$txt{'228'}:
$txt{'229'}:
$txt{'474'} $userpic_limits
  
$txt{'475'}

$txt{'605'}
~; 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~ ~; } $yymain .= qq~
$txt{'486'}:
$txt{'479'}
$txt{'371'}:
$txt{'519'}

$txt{'741'}: $proftime


$txt{'85'}:
$txt{'606'}

$txt{'664'}


$txt{'86'}:
$txt{'87'}:
$txt{'233'}:
$txt{'421'}






~; $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/ 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 = ; 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 = ; $realnametemp = ; 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 = ; fclose(FILE); fopen(FILE, "$vardir/reservecfg.txt") || &fatal_error("$txt{'23'} reservecfg.txt"); @reservecfg = ; 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 = ; 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~
~; require "$sourcedir/LogInOut.pl"; $sharedLogin_title="$txt{'34'}"; $sharedLogin_text="$txt{'638'}"; &sharedLogin; $yymain .= qq~
~; $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 = ; fclose(FILE); foreach $curcat (@categories) { $curcat =~ s/[\n\r]//g; fopen(CAT, "$boardsdir/$curcat.cat"); @catinfo = ; fclose(CAT); foreach $curboard (@catinfo) { $curboard =~ s/[\n\r]//g; chomp $curboard; fopen(BOARD, "$boardsdir/$curboard.dat"); @boardinfo = ; 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 = ; 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 = ; 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 = ; fclose(FILE); $yymain .= qq~
$txt{'gmod5'}

~; if ($allowgmod_news || $allowgmod_edittemp || $allowgmod_censor) { $yymain .= qq~
$txt{'428'}
~; if ($allowgmod_news == 1) { $yymain .= qq~ - $txt{'7'}
~; } if ($allowgmod_edittemp == 1) { $yymain .= qq~ - $txt{'216'}
~; } if ($allowgmod_censor == 1) { $yymain .= qq~ - $txt{'135'}~; } $yymain .= qq~

~; } if ($allowgmod_editcat == 1) { $yymain .= qq~
$txt{'427'}
- $txt{'3'}
- $txt{'4'}

~; } if ($allowgmod_ban == 1) { $yymain .= qq~
$txt{'426'}
- $txt{'206'}

~; } if ($allowgmod_maint == 1) { $yymain .= qq~
$txt{'501'}
- $txt{'502'}
- $txt{'593'}
- ($txt{'595'})
~; } $yymain .= qq~
 
$txt{'248'} $username!

$txt{'gmod6'}

~; if($showgmod_info == 1) { $yymain .= qq~
$txt{'645'}
$txt{'795'}
$txt{'693'}
$txt{'425'}: $YaBBversion/
($txt{'429'})

~; } $yymain .= qq~
$txt{'571'}

Service Pack l: Special thanks to Corey Chapman, Bjoern Berg, Dave Baughman, Tim Cueppens, Jay Silverman and Gunther Meyer.

YaBB 1 Gold: 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 :-)

YaBB 1 Final: Zef Hemel, Jeff Lewis, Christian Land, Corey Chapman, Peter Crouch and a bunch of others we want to thank!
~; $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~$userprofile{$user}->[1]
~; } elsif ($MemType[$count] == 2) { $link{$user} = qq~$userprofile{$user}->[1]
~; } else { $link{$user} = qq~$userprofile{$user}->[1]
~; } $memrealinfo{$realname} = "$MemStat[$msstatcount]"; if ($MemStarNum[$msstatcount] eq "") { $MemStarNum[$msstatcount] = "0"; } $memberstartemp =''; while($MemStarNum[$msstatcount] ne "$starnum") { $memberstartemp .= qq(*); ++$starnum; } $memberstar{$realname} = $memberstartemp; $starnum = "0"; } $msstatcount++; } } sub Assigned_Members { &is_admin; $yytitle = "$amgtxt{'30'}"; $yymain .= qq~
 $yytitle

$amgtxt{'31'}


~; &template; exit; } sub Assigned_Members2 { &is_admin; $find = $FORM{'search'}; fopen(FILE, "$memberdir/memberlist.txt"); @memberlist = ; fclose(FILE); $yytitle = "$txt{'308'}"; $yymain .= qq~
~; $b=0; memcheck: for ($a = 0; $a < @memberlist; $a++) { chomp $memberlist[$a]; $uname = "$memberlist[$a]"; fopen(MEMBERFILEREAD,"$memberdir/$memberlist[$a].dat"); @member = ; 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~ ~; $b++; } undef $uname; } if ($memc eq "") { $yymain .= qq~~; } else { $yymain .= qq~
 $txt{'166'}
 $txt{'35'}  $txt{'307'} $txt{'86'}  $txt{'87'}  Edit?
 $member[1]  $member[2] $member[6]   $memgroup 

$amgtxt{'32'}

 
~; } $yymain .= qq~
~; &template; exit; } sub MemGroup_Effects { &is_admin; $yytitle = "$amgtxt{'01'}"; $yymain .= qq~
~; ################### Show Admin Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeAdmin == 1) { $memtype1 = 'selected'; $example = qq~~; } elsif ($MemTypeAdmin == 2) { $memtype2 = 'selected'; $example = qq~~; } else { $memtype3 = 'selected'; $example = qq~~; } $yymain .= qq~~; if ($MemStarPicAdmin eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~~; ################# END Show Admin Settings ################# ################### Show Global Mod Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeGMod == 1) { $memtype1 = 'selected'; $example = qq~~; } elsif ($MemTypeGMod == 2) { $memtype2 = 'selected'; $example = qq~~; } else { $memtype3 = 'selected'; $example = qq~~; } $yymain .= qq~~; if ($MemStarPicGMod eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~~; ################# END Show Global Mod Settings ################# ################### Show Mod Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeMod == 1) { $memtype1 = 'selected'; $example = qq~~; } elsif ($MemTypeMod == 2) { $memtype2 = 'selected'; $example = qq~~; } else { $memtype3 = 'selected'; $example = qq~~; } $yymain .= qq~~; if ($MemStarPicMod eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~~; ################# END Show Mod Settings ################# ################### Show Newbie Settings ################### undef $memtype1; undef $memtype2; undef $memtype3; if ($MemTypeNewbie == 1) { $memtype1 = 'selected'; $example = qq(); } elsif ($MemTypeNewbie == 2) { $memtype2 = 'selected'; $example = qq(); } else { $memtype3 = 'selected'; $example = qq(); } $yymain .= qq~~; if ($MemStarPicNewbie eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~~; ################# END Show Newbie Settings ################# $yymain .= qq~~; ###Linebreak ################# Show other Membergroup Settings ################# $count=0; while($MemStat[$count]) { undef $memtype1; undef $memtype2; undef $memtype3; if ($MemType[$count] == 1) { $memtype1 = 'selected'; $example = qq(); } elsif ($MemType[$count] == 2) { $memtype2 = 'selected'; $example = qq(); } else { $memtype3 = 'selected'; $example = qq(); } $yymain .= qq~~; if ($MemStarPic[$count] eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~~; $count++; } ################# End Show other Membergroup Settings ################# $yymain .= qq~
 $yytitle
 $amgtxt{'03'} $amgtxt{'04'} $amgtxt{'05'} $amgtxt{'06'} $amgtxt{'07'} $amgtxt{'08'} $amgtxt{'09'}
 
$username$username$username
$MemStatAdmin $MemPostNumAdmin $MemStarNumAdmin  
$username$username$username
$MemStatGMod   $MemStarNumGMod  
$username$username$username
$MemStatMod   $MemStarNumMod  
$username$username$username
$MemStatNewbie   $MemStarNumNewbie  

$username$username$username
$MemStat[$count] $MemPostNum[$count] $MemStarNum[$count]  
 
~; &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 = ; fclose(FILE); fopen(FILE, "$vardir/ban_email.txt"); @emailban = ; fclose(FILE); fopen(FILE, "$vardir/ban_memname.txt"); @memnameban = ; fclose(FILE); $yytitle = "$txt{'340'}"; $yymain .= qq~
$txt{'340'}

$txt{'724'}


$txt{'725'}


$txt{'725a'}


~; &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~
$txt{'8'}
~; 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~ ~; if ($MemStarPicAdmin eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } 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~ ~; if ($MemStarPicGMod eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } 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~ ~; if ($MemStarPicMod eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } 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~ ~; if ($MemStarPicNewbie eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~ ~; $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~ ~; if ($MemStarPic[$count] eq "") { $yymain .= qq~~; } else { $yymain .= qq~~; } $yymain .= qq~ ~; $count++; } $yymain .= qq~
$amgtxt{'16'}   $amgtxt{'03'} $amgtxt{'05'} $amgtxt{'17'} $amgtxt{'18'} $amgtxt{'19'}
 
$MemStatTxtAdmin:   
$MemStatTxtGMod:   
$MemStatTxtMod:   
$MemStatTxtNewbie:   
 
 $amgtxt{'28'}
$amgtxt{'16'}   $amgtxt{'03'} $amgtxt{'04'} $amgtxt{'05'} $amgtxt{'17'} $amgtxt{'18'} $amgtxt{'19'} $amgtxt{'27'}
 
$MemStatTxt[$count]:   
 
 $amgtxt{'29'}
$amgtxt{'16'}   $amgtxt{'03'} $amgtxt{'04'} $amgtxt{'05'} $amgtxt{'17'} $amgtxt{'18'}
 
 
~; $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 = ; fclose(DATA); fopen(SPECIAL, "$vardir/temp2.tmp"); @specialvars = ; 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;