###############################################################################
# Memberlist.pl #
###############################################################################
# YaBB: Yet another Bulletin Board #
# Open-Source Project started by Zef Hemel (zef@zefnet.com) #
# Software Version: YaBB 1 Gold - Release #
# =========================================================================== #
# Software Distributed by: http://yabb.xnull.com #
# Support, News, Updates at: http://yabb.xnull.com/community/ #
# =========================================================================== #
# Copyright (c) 2000-2001 X-Null - All Rights Reserved #
# Software by: The YaBB Development Team #
###############################################################################
$memberlistplver="1 Gold - Release";
if($username eq "Guest") { &fatal_error("$txt{'223'}"); }
if($action eq "mlall") { $Sort .= qq($txt{'303'} | ); } else { $Sort .= qq($txt{'303'} | ); }
if($action eq "mlletter") { $Sort .= qq($txt{'304'} | ); } else { $Sort .= qq($txt{'304'} | ); }
if($action eq "mltop") { $Sort .= qq($txt{'305'} $txt{'411'} $TopAmmount $txt{'306'}); } else { $Sort .= qq($txt{'305'} $txt{'411'} $TopAmmount $txt{'306'}); }
if($action eq "mlletter") {
$page = "a";
while($page ne "z") {
$LetterLinks .= qq($page );
$page++;
}
$LetterLinks .= qq(z );
}
$TableHeader .= qq(
| $Sort |
);
if($LetterLinks ne "") {
$TableHeader .= qq(
| $LetterLinks |
);
}
$TableHeader .= qq(
| $txt{'35'} |
$txt{'307'} |
$txt{'96'} |
$txt{'86'} |
$txt{'87'} |
$txt{'513'} |
$txt{'21'} |
);
$TableFooter = qq~
~;
sub MLAll {
if($username eq "Guest") { &fatal_error("$txt{'223'}"); }
# Get the number of members
fopen(FILE, "$memberdir/memberlist.txt");
@memberlist = ;
$memcount = @memberlist;
@membername = @memberlist;
fclose(FILE);
if($INFO{'start'} eq "") { $start=0; } else { $start="$INFO{'start'}"; }
$numshown=0;
$numbegin = ($start + 1);
$numend = ($start + $MembersPerPage);
if($numend > $memcount) { $numend = $memcount; }
$b = $start;
$yytitle = "$txt{'308'} $numbegin $txt{'311'} $numend";
&header;
print qq(
|
$txt{'308'} $numbegin $txt{'311'} $numend ($txt{'309'} $memcount $txt{'310'})
|
);
print $TableHeader;
while(($numshown < $MembersPerPage)) {
$numshown++;
$c=0;
$pages="";
chomp(@membername);
$tempname = $membername[$b];
$membername[$b] =~ s/ //gi;
$membername[$b] =~ s/\n//gi;
$name = $membername[$b];
$b++;
@member = ();
$Bar = "";
$ICQ = "";
fopen(MEMBERFILEREAD,"$memberdir/$name.dat");
@member = ;
fclose(MEMBERFILEREAD);
chomp @member;
&FormatUserName($name);
$barchart = ($member[6] / 5);
if ($barchart < 1) {$Bar = "$Bar";}
elsif ($barchart > 100) {
$Bar = qq~
~;
}
else {
$Bar = qq~
~;
}
$member[8] =~ s/[\n\r]//g;
if($member[8] ne "") {
$ICQ = qq~
~;
}
if ($Bar eq "") { $Bar=" "; }
if($member[6] > 100000) { $member[6] = "$txt{'683'}"; }
if($tempname)
{
print qq(
| $member[1] |
);
if ($member[19] eq "checked" && $settings[7] ne "Administrator" && $allow_hide_email eq 1) { print qq(
$txt{'722'} |
); } else { print qq(
$member[2] |
); }
print qq(
$member[3] |
$member[6] |
$member[7] |
$ICQ |
$Bar |
);
}
}
print qq~$TableFooter~;
print <<"EOT";
| $txt{'139'}:
EOT
$c=0;
while(($c*$MembersPerPage) < $memcount) {
$viewc = $c+1;
$strt = ($c*$MembersPerPage);
if($start == $strt) {
print <<"EOT";
$viewc
EOT
}
else {
print <<"EOT";
$viewc
EOT
}
++$c;
}
print <<"EOT";
|
EOT
# /Build 10
&footer;
exit;
}
sub MLByLetter {
if($username eq "Guest") { &fatal_error("$txt{'223'}"); }
$yytitle = "$txt{'312'}";
$letter = $INFO{'letter'};
&header;
print qq~$TableHeader~;
fopen(MEMBERSLISTREAD,"$memberdir/memberlist.txt");
while(chomp($memberfile=)) {
fopen(MEMBERFILEREAD,"$memberdir/$memberfile.dat");
@member = ;
fclose(MEMBERFILEREAD);
chomp @member;
$SearchName = $member[1];
$SearchName = substr $SearchName,0,1;
$SearchName = lc $SearchName;
if($SearchName eq $letter) {
push(@ToShow,$memberfile);
}
}
fclose(MEMBERSLISTREAD);
@ToShow = sort(@ToShow);
foreach $membername(@ToShow) {
@member = ();
$Bar = "";
$ICQ = "";
fopen(MEMBERFILEREAD,"$memberdir/$membername.dat");
@member = ;
fclose(MEMBERFILEREAD);
chomp @member;
&FormatUserName($membername);
$barchart = ($member[6] / 5);
if ($barchart < 1) {$Bar = "$Bar";}
elsif ($barchart > 100) {$Bar = qq~
~;}
else {
$Bar = qq~
~;
}
$member[8] =~ s/[\n\r]//g;
if ($Bar eq "") { $Bar=" "; }
if($member[8] ne "") { $ICQ = qq~
~; }
if($member[6] > 100000) { $member[6] = "$txt{'683'}"; }
print qq(
| $member[1] |
);
if ($member[19] eq "checked" && $settings[7] ne "Administrator" && $allow_hide_email eq 1) { print qq(
$txt{'722'} |
); } else { print qq(
$member[2] |
); }
print qq(
$member[3] |
$member[6] |
$member[7] |
$ICQ |
$Bar |
);
}
print qq~$TableFooter~;
&footer;
exit;
}
sub MLTop {
if($username eq "Guest") { &fatal_error("$txt{'223'}"); }
$yytitle = "$txt{'313'} $TopAmmount $txt{'314'}";
&header;
print qq~$TableHeader~;
%TopMembers = ();
fopen(MEMBERLISTREAD,"$memberdir/memberlist.txt");
@member = ();
while(chomp($membername=)) {
fopen(MEMBERFILE,"$memberdir/$membername.dat");
@member = ;
fclose(MEMBERFILE);
chomp @member;
$TopMembers{$membername} = $member[6];
}
fclose(MEMBERLISTREAD);
my @toplist = sort {$TopMembers{$a} <=> $TopMembers{$b}} keys %TopMembers;
@toplist = reverse @toplist;
$TopListNum = $TopAmmount - 1;
# foreach $membername(@toplist) {
for ($i=0;$i<=$TopListNum;$i++) {
@member = ();
$Bar = "";
$ICQ = "";
$membername = @toplist[$i];
fopen(MEMBERFILEREAD,"$memberdir/$membername.dat");
@member = ;
fclose(MEMBERFILEREAD);
&FormatUserName($membername);
chomp @member;
if($member[1] ne "") {
$barchart = ($member[6] / 5);
if ($barchart < 1) {$Bar = "$Bar";}
elsif ($barchart > 100) {$Bar = qq~
~;}
else {
$Bar = qq~
~;
}
$member[8] =~ s/[\n\r]//g;
if($member[8] ne "") { $ICQ = qq~
~; }
if ($Bar eq "") { $Bar=" "; }
if($member[6] > 100000) { $member[6] = "$txt{'683'}"; }
print qq(
| $member[1] |
);
if ($member[19] eq "checked" && $settings[7] ne "Administrator" && $allow_hide_email eq 1) { print qq(
$txt{'722'} |
); } else { print qq(
$member[2] |
); }
print qq(
$member[3] |
$member[6] |
$member[7] |
$ICQ |
$Bar |
);
}
}
print qq~$TableFooter~;
&footer;
exit;
}
1;