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

📄 memberlist.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
字号:
#!/usr/bin/perl################################################### MEMBERLISTE# v2.4b# by skeptiker####################################################use CGI::Carp "fatalsToBrowser";          # Output errors to browseruse CGI qw(:standard);                    # Saves loads of workeval {($0 =~ m,(.*)/[^/]+,)   and unshift (@INC, "$1");($0 =~ m,(.*)\\[^\\]+,) and unshift (@INC, "$1");require "ikon.lib";require "data/boardinfo.cgi";require "data/boardstats.cgi";require "data/progs.cgi";require "data/styles.cgi";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######### Choose the number of members show in TopTen and the startparameter$backgroundcolor = "005984";$topanzahl = 10;      #显示发贴前多少名?显示最新多少个加入的用户?$startseite = "1";   #默认排序:  1->发贴数, 2->前N名, 3->用户名, 4->注册日期######### read and save memberfiles ####################$memberproseite = $maxthreads; #每页显示用户数if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }if ($inmembername eq "") {    $inmembername = "客人";}else {        &getmemberstime("$inmembername");}&title;&whosonline("$inmembername|用户列表|none|查看用户列表|");chdir("$ikondir" . "members") || die "文件没有找到!";@cgi = glob("*.cgi");@cgi = grep(/\.cgi$/, @cgi);$totlemembertemp=@cgi;foreach $member (@cgi){        $member1 = ucfirst($member);        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        @memberdaten = split(/\|/,$memberdaten);        $name = $memberdaten[0];        $anzahl = $memberdaten[4];        $date1 = $memberdaten[13] + ($memberdaten[16] * 3600) + ($timezone * 3600);        $postundmember {"$name"} = $anzahl;        $datumundmember {"$name"} = $date1;@sortiert = reverse sort { $postundmember{$a} <=> $postundmember{$b} } keys(%postundmember);@sortiert1 = sort { $datumundmember{$a} <=> $datumundmember{$b} } keys(%datumundmember);@sortiert2 = reverse(@sortiert1);}######### Header ######################$output .= qq~           <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>           <tr>           <td width=30% rowspan=2 valign=top><img src="$imagesurl/images/$boardlogo" border=0></td>           <td valign=middle 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 width=15 height=15><img src="$imagesurl/images/openfold.gif" border=0>&nbsp;&nbsp;用户列表           </td>           <tr>           <td valign=bottom align=right>&nbsp; $helpurl</td>           </tr>           </table><br>~;$output .= qq~<html><body bgcolor=$backgroundcolor text=$forumfontcolor link=$forumfontcolor vlink=$forumfontcolor alink=$forumfontcolor>\n<!--Javascript-->        <script type="text/javascript">        function openScript(url, width, height) {        var Win = window.open(url,"openScript",'width=' + width + ',height=' + height +      ',resizable=1,scrollbars=yes,menubar=yes,status=yes' );        }</script>~;######### Ende Header       ############################ Sub Namensortiert ###################sub Namensortiert{$query = new CGI;$inpage = $query -> param ("page");if ($inpage eq "") { $inpage = 1; }$a = 3;@memberarray = @cgi;&splitting;$Listenname = "以用户名排序";&Tabellenanfang;foreach $member (@cgi[$startmember ... $endmember]){$member1 = ucfirst($member);if (-e "$member" || -e "member1"){        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        &Listing;}}$output .= qq~</table>~;}########### Sub Namensortiert ############################## Sub Postsortiert  ###################sub Postsortiert{$query = new CGI;$inpage = $query -> param ("page");if ($inpage eq ""){$inpage = 1;}$a = 1;$Listenname = "以发贴总数排序";&Tabellenanfang;foreach $cginame (@sortiert){$cginame .='.cgi';}@memberarray = @sortiert;&splitting;foreach $member (@sortiert[$startmember ... $endmember]){        $member =~s/ /_/g;        $member1 = ucfirst($member);if (-e "$member" || -e "member1"){        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        &Listing;}}$output .= qq~</table>~;}########## Ende Postsortiert ###########################  Sub TopTen       #################sub Topten{$Listenname = "发贴总数前 $topanzahl 名";&Tabellenanfang;foreach $cginame (@sortiert){$cginame .='.cgi';}@sortiert = splice(@sortiert,0,$topanzahl);foreach $member (@sortiert){        $member =~s/ /_/g;        $member1 = ucfirst($member);        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        &Listing;}$output .= qq~</table>~;}######### Ende Sub Topten   ##################### Sub Datumsortiert ############sub datum{$query = new CGI;$inpage = $query -> param ("page");if ($inpage eq ""){$inpage = 1;}$a = 4;$Listenname = "以注册时间排序";&Tabellenanfang;foreach $cginame (@sortiert1){$cginame .='.cgi';}@memberarray = @sortiert1;&splitting;foreach $member (@sortiert1[$startmember ... $endmember]){        $member =~s/ /_/g;        $member1 = ucfirst($member);if (-e "$member" || -e "member1"){        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        &Listing;}}$output .= qq~</table>~;}########## Ende Datum         ################### Sub Datumsortiert ############sub redatum{$Listenname = "最新 $topanzahl 名注册用户";&Tabellenanfang;foreach $cginame (@sortiert2){$cginame .='.cgi';}@memberarray = @sortiert2;@sortiert2 = splice(@sortiert2,0,$topanzahl);foreach $member (@sortiert2){        $member =~s/ /_/g;        $member1 = ucfirst($member);if (-e "$member" || -e "member1"){        $filetoopen = ("$ikondir" . "members/$member") || ("$ikondir" . "members/$member1");        open(FILE, "$filetoopen" );        $memberdaten = <FILE>;        close(FILE);        &Listing;}}$output .= qq~</table>~;}########## Ende Datum         #################### Sub Tabellenanfang ##########sub Tabellenanfang{    $totalpostandthreads = $totalposts + $totalthreads;    $output .= qq~<center>    <table width=$tablewidth bgcolor=$backgroundcolor cellspacing=0 border=0 bordercolor=$tablebordercolor>    	<tr>	        <td>        	<table cellpadding=6 cellspacing=1 border=0 width=100%>    <tr bgcolor=$titleback><td colspan=5 valign=top>&nbsp;>> <B>$Listenname</B> <<<BR><BR>    <font face=$font>&nbsp;总注册用户数: $totlemembertemp 人 &nbsp; 发贴总数: $totalpostandthreads 篇</font></td>    <td colspan=5 align=right><form method=POST action=memberlist.cgi>            <select name=a>            <option value=2>发贴总数前 $topanzahl 名</option>            <option value=5>最新 $topanzahl 名注册用户</option>            <option value=3>用户名</option>            <option value=1>发贴总数</option>            <option value=4>注册时间</opzion>            </select>    <input type=submit value="排 序"><br></td></form></tr><tr bgcolor=$titlecolor><td align=center><font face=$font><b>用户名</b></td><td align=center><font face=$font><b>Email</b></td><td align=center><font face=$font><b>ICQ</b></td><td align=center><font face=$font><b>OICQ</b></td><td align=center><font face=$font><b>主页</b></td><td align=center><font face=$font><b>短消息</td><td align=center><font face=$font><b>最后发贴</td><td align=center><font face=$font><b>注册时间</b></td><td align=center><font face=$font><b>等级状态</b></td><td align=center><font face=$font><b>发贴总数</b></td></font></tr>~;}########## Ende Tabellenanfang #########read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});$query = new CGI;$a = $query -> param ("a");if ($a eq '' && $buffer eq ''){$buffer = "a=$startseite";}else{($buffer = "$buffer") || ($buffer = "a=$a");}if ($buffer eq 'a=1') {&Postsortiert}elsif ($buffer eq 'a=2') {&Topten}elsif ($buffer eq 'a=3') {&Namensortiert}elsif ($buffer eq 'a=4') {&datum}elsif ($buffer eq 'a=5') {&redatum}##########     Sub Listing     #########sub Listing{@memberdaten = split(/\|/,$memberdaten);$name = $memberdaten[0];$status = $memberdaten[2];$anzahl = $memberdaten[4];$email = $memberdaten[5];$home = $memberdaten[8];$aolname = $memberdaten[9];$icq = $memberdaten[10];$date = $memberdaten[13] + ($memberdaten[16] * 3600) + ($timezone * 3600);$rang = $memberdaten[3];$emailstatus = $memberdaten[6];if ($name) {($postdate, $posturl, $posttopic) = split(/\%%%/, $memberdaten[14]);if (($postdate ne "没有发表过")&&($postdate ne "")){            $postdate = $postdate + ($userdetail[16] * 3600) + ($timezone * 3600);            $lastpostdate = &longdate ("$postdate");            $lastposttime = &longdate ("$postdate");        if ($badwords) {            @pairs = split(/\&/,$badwords);            foreach (@pairs) {                ($bad, $good) = split(/=/,$_);                chop $good;                $posttopic=~ s/$bad/$good/isg;                }            }            $lastpostdetails = qq~<a href="$posturl"><img border=0 src=$imagesurl/images/openfold.gif alt=$posttopic></a>~;}else{$lastpostdetails = qq~没有~;}$date = &longdate($date + ($memberdaten[16]*3600) + ($timezone*3600));$postundmember {"$name"} = $anzahl;# if ($anzahl == '0'){$date = 'N/A';}if (($icq) && ($icq =~ /[0-9]/)){           $icqgraphic = qq~<a href="javascript:openScript('$miscprog?action=icq&UIN=$icq',450,300)"><img src="http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5" border=0 width=16 height=16></a>~;           }else{$icqgraphic = '没有';}if (($home eq "http://") || ($home eq "")){ $home = '没有'; }else{     $home = "<a href=$home target=_blank><img border=0 src=$imagesurl/images/homepage.gif></a>"     }if ($aolname) { $aolgraphic = qq~<a href=http://search.tencent.com/cgi-bin/friend/user_show_info?ln=$aolname target=_blank><img src="http://icon.tencent.com/$aolname/s/00/00/" alt="查看 OICQ:$aolname 的资料" border=0 width=16 height=16></a>~; }else{$aolgraphic = "没有";}if ($email eq "" || $emailstatus eq "no"){     $email = '没有' if ($email eq "");    $email = '保密' if ($emailstatus eq "no");}else {$email = "<a href=mailto:$email><img border=0 src=$imagesurl/images/email.gif></a>" }        if ($anzahl >= $mpostmark11) { $mtitle = $mtitle11;  $membergraphic = $mgraphic11; }        elsif ($anzahl >= $mpostmark10) { $mtitle = $mtitle10;  $membergraphic = $mgraphic10; }        elsif ($anzahl >= $mpostmark9)  { $mtitle = $mtitle9;   $membergraphic = $mgraphic9; }        elsif ($anzahl >= $mpostmark8)  { $mtitle = $mtitle8;   $membergraphic = $mgraphic8; }        elsif ($anzahl >= $mpostmark7)  { $mtitle = $mtitle7;   $membergraphic = $mgraphic7; }        elsif ($anzahl >= $mpostmark6)  { $mtitle = $mtitle6;   $membergraphic = $mgraphic6; }        elsif ($anzahl >= $mpostmark5)  { $mtitle = $mtitle5;   $membergraphic = $mgraphic5; }        elsif ($anzahl >= $mpostmark4)  { $mtitle = $mtitle4;   $membergraphic = $mgraphic4; }        elsif ($anzahl >= $mpostmark3)  { $mtitle = $mtitle3;   $membergraphic = $mgraphic3; }        elsif ($anzahl >= $mpostmark2)  { $mtitle = $mtitle2;   $membergraphic = $mgraphic2; }        elsif ($anzahl >= $mpostmark1)  { $mtitle = $mtitle1;   $membergraphic = $mgraphic1; }        else { $mtitle = $mtitle0; $membergraphic = ""; } #显示默认等级        if($rang eq "ad") {        	$mtitle = $adtitle if ($adtitle ne "");        	$membergraphic = "$admingraphic" if ($admingraphic ne "");        }        if ($rang eq "mo") {        	$mtitle = $motitle if ($motitle ne "");        	$membergraphic = "$modgraphic" if ($modgraphic ne "");        }                if    ($membergraphic) { $membergraphic = "<img src=\"$imagesurl/images/$membergraphic\" border=\"0\">"; }$memberfilename = $name;$memberfilename =~ y/ /_/;$message = "<a href=javascript:openScript('messanger.cgi?action=new&touser=$memberfilename',600,400)><img src=$imagesurl/images/message.gif border=0></a>";$output .= qq~<tr bgcolor=$forumcolortwo><td><font face=$font>&nbsp;<a href="$profileprog?action=show&member=$memberfilename">$name</a></td><td align=center><font face=$font>$email</td><td align=center><font face=$font>$icqgraphic</td><td align=center><font face=$font>$aolgraphic</td><td align=center><font face=$font>$home</td><td align=center>$message</td><td align=center><font face=$font>$lastpostdetails</td><td align=center><font face=$font>$date</td><td align=center><font face=$font>$mtitle<br>$membergraphic</td><td align=center><font face=$font>$anzahl</td></tr>~;}}########## Ende Listing  ####################### Sub Splitting #############sub splitting{$totalpages = @memberarray / $memberproseite;($pagenumbers, $decimal) = split (/\./, $totalpages);if ($decimal > 0){$pagenumbers++;}$page = 1;$pagedigit = 0;$pagelinks = qq~跳转: ~;while ($pagenumbers > $pagedigit){$pagedigit++;if ($inpage ne $page){$pagelinks .= qq~[<a href="$boardurl/memberlist.cgi?a=$a&page=$page">$pagedigit</a>] ~; }else{$pagelinks .= qq~[<B>$pagedigit</B>] ~;}$page++; } # end whileif ($totalpages <= 1){$pagelinks = qq~~;}$startmember = ($inpage - 1) * $memberproseite;$endmember = $startmember + $memberproseite - 1;if ($endmember > (@memberarray-1)){$endtopic = @memberarray - 1;}}######### Ende splitting ################$output .= qq~</td></tr></table><BR>$pagelinks</center></body></html>~;print header(-charset=>"gb2312");&output(       -Title   => "$boardname - 用户列表",       -ToPrint => $output,       -Version => $versionnumber       );

⌨️ 快捷键说明

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