⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 team.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
字号:
#!/usr/bin/perl
#############################################################

use CGI qw(:standard);                    # Saves loads of work
$CGI::POST_MAX=1024 * 150;                # limit post data
$CGI::DISABLE_UPLOADS = 1;                # Disable uploads
$CGI::HEADERS_ONCE = 1;                   # Make sure we only have 1 header

eval {
($0 =~ m,(.*)/[^/]+,)   and unshift (@INC, "$1");
($0 =~ m,(.*)\\[^\\]+,) and unshift (@INC, "$1");
require "ikon.lib";          # Require ikonboard ()
require "data/progs.cgi";    # Require prog names
require "data/boardinfo.cgi";# Require board info
require "data/styles.cgi";   # Require styles info
require "data/membertitles.cgi";
};
if ($@) {
    print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 出错!");
    print "不能够找到文件:$@\n如果您使用的是 Windows 类操作系统,请在每一个程序中更改 require 的设置,填入绝对路径!";
    print end_html; exit;
}

$|++;                                    # Unbuffer the output

#################--- Begin the program ---###################

$maxshowmembers = $maxtopics; ## Change how many team members per page are displayed

$teamscript = "team.cgi";

$query = new CGI;
$inpage = $query -> param ("page");
if ($inpage eq "") { $inpage = 1; }
$inmembername = cookie ("amembernamecookie");


## Online-File auslesen
$filetoopen = "$ikondir" . "data/onlinedata.dat";
open(FILE, "$filetoopen" );
@onlineusers = <FILE>;
close(FILE);

## member files read in, Admins and Mods identify pushed into a list 
opendir (DIR, "$ikondir/members"); 
@files = readdir(DIR);
closedir (DIR);
@memberfiles = grep(/\.cgi$/, @files);

foreach $memberfile (@memberfiles) { # start foreach
    open (FILE, "$ikondir/members/$memberfile");
    @memberdata = <FILE>;
    close (FILE);
    foreach $line (@memberdata) {
        ($filename, $trash) = split (/\./, $memberfile);
        @tmpuserdetail = split (/\|/, $line);
        chomp @tmpuserdetail;
        if ($tmpuserdetail[3] eq ad) {
            push (@teamlist, "1|$filename"); }
        elsif ($tmpuserdetail[3] eq mo) {
            push (@teamlist, "2|$filename"); } } } # end foreach

## 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="$boardurl/$teamscript?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 (/\|/, $teammember);
    chomp $teammemberfile;
    open (FILE, "$ikondir/members/$teammemberfile.cgi");
    @thismemberdata = <FILE>;
    close (FILE);
    foreach $memberline (@thismemberdata) {
         @userdetail = split (/\|/, $memberline);
         chomp @userdetail;

         ## 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] * 3600) + ($timezone * 3600);
         $userdetail[13] = &longdate ($userdetail[13]);

         ## 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 width="32" height="32">~; }
         else {
             $useravatar = ""; }
           if ($userdetail[4] >= $mpostmark11) { $mtitle =  $mtitle11;  $membergraphic = $mgraphic11; }
        elsif ($userdetail[4] >= $mpostmark10) { $mtitle =  $mtitle10;  $membergraphic = $mgraphic10; }
        elsif ($userdetail[4] >= $mpostmark9)  { $mtitle =  $mtitle9;   $membergraphic = $mgraphic9; }
        elsif ($userdetail[4] >= $mpostmark8)  { $mtitle =  $mtitle8;   $membergraphic = $mgraphic8; }
        elsif ($userdetail[4] >= $mpostmark7)  { $mtitle =  $mtitle7;   $membergraphic = $mgraphic7; }
        elsif ($userdetail[4] >= $mpostmark6)  { $mtitle =  $mtitle6;   $membergraphic = $mgraphic6; }
        elsif ($userdetail[4] >= $mpostmark5)  { $mtitle =  $mtitle5;   $membergraphic = $mgraphic5; }
        elsif ($userdetail[4] >= $mpostmark4)  { $mtitle =  $mtitle4;   $membergraphic = $mgraphic4; }
        elsif ($userdetail[4] >= $mpostmark3)  { $mtitle =  $mtitle3;   $membergraphic = $mgraphic3; }
        elsif ($userdetail[4] >= $mpostmark2)  { $mtitle =  $mtitle2;   $membergraphic = $mgraphic2; }
        elsif ($userdetail[4] >= $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])) { #自定义头像存在
	        $useravatar = qq(<br>&nbsp; <img src="$userdetail[22]" border=0 width=$userdetail[23] height=$userdetail[24]>);
	    }
            elsif (($userdetail[18] ne "noavatar") && ($userdetail[18])) {
                $useravatar = qq(<br>&nbsp; <img src="$imagesurl/avatars/$userdetail[18].gif" border=0 width=32 height=32>);
            }
            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>~;
            $membergraphic = "<img src=\"$imagesurl/images/$modgraphic\" border=\"0\" width=100 height=16>" if ($modgraphic ne "");
            $mtitle = $motitle if ($motitle ne "");
            if (($userdetail[2] eq "")||($userdetail[2] eq "Member")||($userdetail[2] eq "member")) {
                $membertitle = qq~<font face="$font" color=$fontcolor>论坛版主</font>~; }
            else {
                $membertitle = qq~<font face="$font" color=$fontcolor>$userdetail[2]</font>~; } }

	## Setze letzte Beitrags-Details
	($postdate, $posturl, $posttopic) = split(/\%%%/, $userdetail[14]);
	if ($postdate ne "没有发表过") {
	    $postdate = $postdate + ($userdetail[16] * 3600) + ($timezone * 3600);
            $lastpostdate = &longdate ("$postdate");
            $lastposttime = &shorttime ("$postdate");

        $filetoopen = "$ikondir" . "data/badwords.cgi";
        open (FILE, "$filetoopen");
        $badwords = <FILE>;
        close (FILE);
    
        if ($badwords) {
            @pairs = split(/\&/,$badwords);
            foreach (@pairs) {
                ($bad, $good) = split(/=/,$_);
                chop $good;
                $posttopic=~ s/$bad/$good/isg;
                }
            }

	    $lastpostdetails = qq~<a href="$posturl">$posttopic</a> ($lastpostdate $lastposttime)~; }
	else {
	    $lastpostdetails = qq~从未发言过~; }
	if ($posturl eq "" && $posttopic eq "") {
	    $lastpostdetails = qq~是发在保密论坛的哟,不给看~; }

        ## Ist das Mitglied ONLINE oder OFFLINE?
        foreach $onlineuser (@onlineusers) {
            @onlineuserdetail = split (/\|/, $onlineuser);
            chomp @onlineuserdetail;
            if ($onlineuserdetail[0] eq $userdetail[0]) {
                $online = qq~<IMG SRC="$imagesurl/images/online1.gif" width=15 height=15 border=0 alt="该用户目前在线">~; last; }
            else {
                $online = qq~<IMG SRC="$imagesurl/images/offline1.gif" width=15 height=15 alt="该用户目前不在线">~; } }

        ## Mehr Details
        if ($userdetail[6] ne "yes") {
            $email = "保密"; }
        else {
            $email = qq~<a href="mailto:$userdetail[5]">$userdetail[5]</a>~; }
        if ($userdetail[8] eq "" || $userdetail[8] eq "http://") {
            $homepage = "没有"; }
        else {
            $homepage = qq~<a href="$userdetail[8]" target="_blank">$userdetail[8]</a>~; }
        if ($userdetail[9] eq "") {
            $aolname = "没有"; }
        else {
            $aolname = $userdetail[9]; }
        if ($userdetail[10] eq "") {
            $icqnumber = "没有"; }
        else {
            $icqnumber = $userdetail[10]; }

        ## Erstelle Liste der moderierten Foren des Mitglieds
        $filetoopen = "$ikondir" . "data/allforums.cgi";
	$filetoopen = &stripMETA($filetoopen);
	open(FILE, "$filetoopen") or die "无法定位所需文件!";
	flock (FILE,2) if ($OS_USED eq "Unix");
	@forumsdata = <FILE>;
	close(FILE);
	undef @moderatedforums;
        foreach $forum (@forumsdata) {
            @forumdetail = split (/\|/, $forum);
            chomp @forumdetail;
	    $forumdetail[5] =~ s/\, /\,/gi;
	    @forummodnames = split(/\,/, $forumdetail[5]);
	    foreach $name (@forummodnames) {
    	        chomp $name;
                if ($name eq $userdetail[0]) {
                    push (@moderatedforums, "<a href=\"$boardurl/$forumsprog?forum=$forumdetail[0]\">$forumdetail[3]</a> ($forumdetail[1])<br>"); 
                }
            }
        }
        if (!@moderatedforums) {
           @moderatedforums = "$userdetail[0] 没有主持任何版块"; }
        @moderatedforums = sort alphabetically (@moderatedforums);

        ## Schreibe HTML in eine Variable
        $teamguts .= qq~
        <!--Begin Profile for $userdetail[0]-->
        <tr bgcolor=$color>
        <td valign=top>
	<table style="filter:glow(color=$titlecolor,strength=2)">$online <font face="$posternamefont" color="$posterfontcolor"><b>$membername</b></font>
	</table>
        头衔:$membertitle
        <br>$useravatar
        <br>$membergraphic
        <br>级别:$mtitle</td>
        <td valign=top><table cellspacing=0 cellpadding=0 border=0 width=100%>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>注册日期:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$userdetail[13]</font></td>
        </tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>最后发言:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$lastpostdetails</font></td>
        </tr>
        <tr><td colspan=2><font face="$font">&nbsp;</font></td></tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>电子邮件:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$email</font></td>
        </tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>主页:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$homepage</font></td>
        </tr>
        <tr><td colspan=2><font face="$font">&nbsp;</font></td></tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>OICQ 号码:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$aolname</font></td>
        </tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>ICQ 号码:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>$icqnumber</font></td>
        </tr>
        <tr><td colspan=2><font face="$font">&nbsp;</font></td></tr>
        <tr>
        <td width=25% valign=top><font face="$font" color=$fontcolor>主持板块:</font></td>
        <td width=75% valign=top><font face="$font" color=$fontcolor>@moderatedforums</font></td>
        </tr>
        </table></td>
        </tr>~;

        @moderatedforums = "";
        $lastcolor = $color; } }


&title;
&whosonline("$inmembername|管理团队|none|查看管理人员名单|");

$output .= qq~
<p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
<tr>
<td width=30% rowspan=2>
<img src="$imagesurl/images/$boardlogo" border=0>
</td>
<td valign=top align=left>
<font face="$font" color=$fontcolormisc>
&nbsp;&nbsp;<img src="$imagesurl/images/closedfold.gif" border=0>&nbsp;&nbsp;<a href="$forumsummaryprog">$boardname</a>
<br>
&nbsp;&nbsp;<img src="$imagesurl/images/bar.gif" border=0><img src="$imagesurl/images/openfold.gif" border=0>&nbsp;&nbsp;管理团队
</td>
</tr>
</table>
<p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr><td>
<table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr bgcolor=$titlecolor>
<td width=25% align=center><font face="$font" color=$titlefontcolor><b>管 理 人 员</b></td>
<td width=75% align=center><font face="$font" color=$titlefontcolor><b>详 细 信 息</b></td>
</tr>

$teamguts

</table></td></tr></table>
<p>
<table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
<tr>
<td><table cellpadding=6 cellspacing=1 border=0 width=100%>
<tr bgcolor=$menubackground>
<td align=center><font face=宋体 color=$fontcolormisc>$pagelinks</font></td>
</tr>
</table></td>
</tr>
</table>
~;


print header(-charset=>"gb2312");    
&output( -Title   => "$boardname - 管理团队", 
         -ToPrint => $output, 
         -Version => $versionnumber );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -