📄 team.cgi
字号:
#!/usr/bin/perl
#############################################################
# LeoBoard ver.5000 / LB5000 / 雷傲超级论坛 ver.5000
#
# 版权所有: 雷傲工作室(原蓝宝石软件工作室)
#
# 制作人 : 山鹰糊 (Shining Hu)
# 花无缺 (Ifairy Han)
#
# 主页地址: http://www.CGIer.com/ CGI 编程者之家
# http://www.LeoBoard.com/ 雷傲论坛支持主页
# http://www.leoBBS.com/ 本论坛直通车
#
#############################################################
BEGIN {
$LBPATH = '.';
my $pgm = $0;
$pgm =~s/\\/\//g;
$pgm =~s/^.*\/([^\/]+)$/$1/g;
unless (-e $LBPATH.'/'.$pgm) {
foreach ($0, $ENV{'SCRIPT_FILENAME'}, $ENV{'PATH_TRANSLATED'}) {
s!\\!/!g; s/^(.*)\/[^\/]+$/$1/g;
if (-e $_ . '/' .$pgm) { $LBPATH = $_; last; }
}
}
unshift (@INC, "$LBPATH");
}
use LBCGI;
$LBCGI::POST_MAX=2000;
$LBCGI::DISABLE_UPLOADS = 1;
$LBCGI::HEADERS_ONCE = 1;
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "data/membertitles.cgi";
require "lb.lib.pl";
$|++; # Unbuffer the output
#################--- Begin the program ---###################
$maxshowmembers = 12; ## Change how many team members per page are displayed
$thisprog = "team.cgi";
$query = new LBCGI;
if ($COOKIE_USED eq 1) {$cookiepath ="";}
else {
$boardurltemp =$boardurl;
$boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
$cookiepath = $boardurltemp;
$cookiepath =~ s/\/$//;
# $cookiepath =~ tr/A-Z/a-z/;
}
$inmembername = $query->cookie("amembernamecookie");
$inpassword = $query->cookie("apasswordcookie");
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;
&ipbanned; #封杀一些 ip
$inpage = $query-> param ("page");
if ($inpage eq "") { $inpage = 1; }
if ($inmembername eq "" || $inmembername eq "客人" ) {
$inmembername = "客人";
}else{
# &getmember("$inmembername");
&getmembernolock("$inmembername");
&error("普通错误&密码与用户名不相符,请重新登录!") if ($inpassword ne $password);
}
$inmembercode = $membercode;
if ($infosopen == 2) {
print header(-charset=>gb2312);
&error("查看管理团队&客人无权查看管理团队!") if ($inmembername eq "客人");
if ($userregistered eq "no") { &error("查看管理团队&你还没注册呢!"); }
&error("查看管理团队&论坛管理团队只有坛主和版主可以查看!") if (($membercode ne "ad")&&($membercode ne 'smo')&&($membercode ne 'cmo')&&($membercode ne "mo"));
}
elsif ($infosopen == 1) {
print header(-charset=>gb2312);
&error("查看管理团队&客人无权查看管理团队!") if ($inmembername eq "客人");
if ($userregistered eq "no") { &error("查看管理团队&你还没注册呢!"); }
}
my $filetoopens = "$lbdir" . "data/onlinedata.cgi";
$filetoopens = &lockfilename($filetoopens);
if (!(-e "$filetoopens.lck")) {
&whosonline("$inmembername\t管理团队\tnone\t查看管理人员名单\t");
}
## member files read in, Admins and Mods identify pushed into a list
open (FILE, "$lbdir/data/lbmember.cgi");
@memberdata = <FILE>;
close (FILE);
foreach $line (@memberdata) {
@tmpuserdetail = split (/\t/, $line);
chomp @tmpuserdetail;
if ($tmpuserdetail[1] eq ad) {
push (@teamlist, "1\t$tmpuserdetail[0]"); }
elsif ($tmpuserdetail[1] eq smo) {
push (@teamlist, "2\t$tmpuserdetail[0]"); }
elsif ($tmpuserdetail[1] eq "cmo") {
push (@teamlist, "3\t$tmpuserdetail[0]"); }
elsif ($tmpuserdetail[1] eq "mo") {
push (@teamlist, "4\t$tmpuserdetail[0]"); }
}
## calculate the page's number
$totalpages = @teamlist / $maxshowmembers;
($pagenumbers, $decimal) = split (/\./, $totalpages);
if ($decimal > 0) {
$pagenumbers++; }
$page = 1;
$pagedigit = 0;
$pagelinks = qq~Page: ~;
while ($pagenumbers > $pagedigit) { # start while
$pagedigit++;
if ($inpage ne $page) {
$pagelinks .= qq~[<a href="$thisprog?page=$page">$pagedigit</a>] ~; }
else {
$pagelinks .= qq~[$pagedigit] ~; }
$page++; } # end while
if ($totalpages <= 1) {
$pagelinks = qq~本列表只有一页~; }
## calculate the number of the start and final member, those to be displayed on this page
$startmember = ($inpage - 1) * $maxshowmembers;
$endmember = $startmember + $maxshowmembers - 1;
if ($endmember > (@teamlist - 1)) {
$endtopic = @teamlist - 1; }
## Mitglieder-Details auslesen und die Mitglieder Seitenweise darstellen
@teamlist = sort alphabetically (@teamlist);
@teamlist = sort numerically (@teamlist);
foreach $teammember (@teamlist[$startmember ... $endmember]) {
($trash, $teammemberfile) = split (/\t/, $teammember);
chomp $teammemberfile;
$teammemberfile =~s/ /_/g;
$teammemberfile =~ tr/A-Z/a-z/;
$memopenfile = "${lbdir}$memdir/$teammemberfile.cgi";
$memopenfile = "${lbdir}$memdir/old/$teammemberfile.cgi" if (!(-e $memopenfile));
open (FILE, "$memopenfile");
$memberline = <FILE>;
close (FILE);
chomp $memberline;
@userdetail = split (/\t/, $memberline);
chomp @userdetail;
# $userdetail[0] =~ tr/A-Z/a-z/;
next if (($userdetail[3] ne "ad")&&($userdetail[3] ne "smo")&&($userdetail[3] ne "cmo")&&($userdetail[3] ne "mo"));
## Definiere die Hintergrund- und Textfarbe f黵 die Zeilen
if ($lastcolor eq $postcolortwo) {
$color = $postcolorone;
$fontcolor = $postfontcolorone; }
else {
$color = $postcolortwo;
$fontcolor = $postfontcolortwo; }
## Registrierdatum
$userdetail[13] = $userdetail[13] + ($userdetail[16] + $timezone) * 3600;
if ($userdetail[13]) { $userdetail[13] = &longdate ($userdetail[13]) } else { $userdetail[13] = "未知"; }
$lastgone = $userdetail[26];
$lastgone = $joineddate if($lastgone eq "");
$today = time-$lastgone;
$novisitdate = int($today/(3600*24));
## Setze Avatar-Grafiken
if (($avatars eq "on") && ($userdetail[18]) && ($userdetail[18] ne "noavatar")) {
$useravatar = qq~<br><img src="$imagesurl/avatars/$userdetail[18].gif" border=0>~; }
else {
$useravatar = ""; }
($iiii,$jjjj)= split(/\|/,$userdetail[4]);
$numberofposts = $iiii +$jjjj;
if ($numberofposts >= $mpostmarkmax) { $mtitle = $mtitlemax; $membergraphic = $mgraphicmax; }
elsif ($numberofposts >= $mpostmark19) { $mtitle = $mtitle19; $membergraphic = $mgraphic19; }
elsif ($numberofposts >= $mpostmark18) { $mtitle = $mtitle18; $membergraphic = $mgraphic18; }
elsif ($numberofposts >= $mpostmark17) { $mtitle = $mtitle17; $membergraphic = $mgraphic17; }
elsif ($numberofposts >= $mpostmark16) { $mtitle = $mtitle16; $membergraphic = $mgraphic16; }
elsif ($numberofposts >= $mpostmark15) { $mtitle = $mtitle15; $membergraphic = $mgraphic15; }
elsif ($numberofposts >= $mpostmark14) { $mtitle = $mtitle14; $membergraphic = $mgraphic14; }
elsif ($numberofposts >= $mpostmark13) { $mtitle = $mtitle13; $membergraphic = $mgraphic13; }
elsif ($numberofposts >= $mpostmark12) { $mtitle = $mtitle12; $membergraphic = $mgraphic12; }
elsif ($numberofposts >= $mpostmark11) { $mtitle = $mtitle11; $membergraphic = $mgraphic11; }
elsif ($numberofposts >= $mpostmark10) { $mtitle = $mtitle10; $membergraphic = $mgraphic10; }
elsif ($numberofposts >= $mpostmark9) { $mtitle = $mtitle9; $membergraphic = $mgraphic9; }
elsif ($numberofposts >= $mpostmark8) { $mtitle = $mtitle8; $membergraphic = $mgraphic8; }
elsif ($numberofposts >= $mpostmark7) { $mtitle = $mtitle7; $membergraphic = $mgraphic7; }
elsif ($numberofposts >= $mpostmark6) { $mtitle = $mtitle6; $membergraphic = $mgraphic6; }
elsif ($numberofposts >= $mpostmark5) { $mtitle = $mtitle5; $membergraphic = $mgraphic5; }
elsif ($numberofposts >= $mpostmark4) { $mtitle = $mtitle4; $membergraphic = $mgraphic4; }
elsif ($numberofposts >= $mpostmark3) { $mtitle = $mtitle3; $membergraphic = $mgraphic3; }
elsif ($numberofposts >= $mpostmark2) { $mtitle = $mtitle2; $membergraphic = $mgraphic2; }
elsif ($numberofposts >= $mpostmark1) { $mtitle = $mtitle1; $membergraphic = $mgraphic1; }
else { $mtitle = $mtitle0; $membergraphic = ""; } #显示默认等级
if ($membergraphic) {
$membergraphic = qq~<img src="$imagesurl/images/$membergraphic" border="0" width=100 height=16>~; }
if ($avatars eq "on") {
if (($userdetail[22])&&($userdetail[23])&&($userdetail[24])) { #自定义头像存在
$userdetail[22] =~ s/\$imagesurl/${imagesurl}/o;
if (($userdetail[22] =~ /\.swf$/i)&&($flashavatar eq "yes")) {
$userdetail[22]=uri_escape($userdetail[22]) if ($uri_escape ne "no");
$useravatar = qq(<br> <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH=$userdetail[23] HEIGHT=$userdetail[24]><PARAM NAME=MOVIE VALUE=$userdetail[22]><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=$userdetail[22] WIDTH=$userdetail[23] HEIGHT=$userdetail[24] PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT>);
}
else {
$userdetail[22]=uri_escape($userdetail[22]) if ($uri_escape ne "no");
$useravatar = qq(<br> <img src=$userdetail[22] border=0 width=$userdetail[23] height=$userdetail[24]>);
}
}
elsif (($userdetail[18] ne "noavatar") && ($userdetail[18])) {
$userdetail[18]=uri_escape($userdetail[18]) if ($uri_escape ne "no");
$useravatar = qq(<br> <img src="$imagesurl/avatars/$userdetail[18].gif" border=0>);
}
else { undef $useravatar; }
}
## Setze Mitgliedsstatus
if ($userdetail[3] eq "ad") {
$posterfontcolor = "$adminnamecolor";
$membername = qq~$userdetail[0] <img src="$imagesurl/images/teamad.gif" border=0 alt=此人为坛主 width=16 height=16>~;
$membergraphic = "<img src=\"$imagesurl/images/$admingraphic\" border=\"0\" width=100 height=16>" if ($admingraphic ne "");
$mtitle = $adtitle if ($adtitle ne "");
if (($userdetail[2] eq "member")||($userdetail[2] eq "Member")||($userdetail[2] eq "")) {
$membertitle = qq~<font face="$font" color=$fontcolor>论坛坛主</font>~; }
else {
$membertitle = qq~<font face="$font" color=$fontcolor>$userdetail[2]</font>~; } }
elsif ($userdetail[3] eq "mo") {
$posterfontcolor = "$teamnamecolor";
$membername = qq~$userdetail[0] <img src="$imagesurl/images/teammo.gif" border=0 alt=此人为版主 width=16 height=16>~;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -