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

📄 ikonboard.cgi

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

#############################################################
# Ikonboard v2.1
# Copyright 2000 Ikondiscussion.com - All Rights Reserved
# Ikondiscussion is a trademark of Ikondiscussion.com
#
# Software Distributed by: Ikondiscussion.com
# Visit us online at http://www.ikondiscussion.com
# Email us on boards@ikondiscussion.com
#
# All files written by Matthew Mecham
#############################################################

#use CGI::Carp "fatalsToBrowser";          # Output errors to browser
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;                   # Kill redundant headers

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
};
if ($@) {
    print header(-charset=>"gb2312"); print start_html(-title=>"ib2000 出错!");
    print "不能够找到文件:$@\n如果您使用的是 Windows 类操作系统,请在每一个程序中更改 require 的设置,填入绝对路径!";
    print end_html; exit;
}

$|++;                                     # Unbuffer the output

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

$thisprog = "ikonboard.cgi";

$query = new CGI;
$action = $query->param('action');

$inmembername = cookie("amembernamecookie");
$inpassword   = cookie("apasswordcookie");


if ($inmembername eq "") {
    $inmembername = "客人";
    }
    else {
        &getmemberstime("$inmembername");
        &getlastvisit;
        }

if ($action eq "resetall") {
    $filetoopen = "$ikondir" . "data/allforums.cgi";
    $filetoopen = &stripMETA($filetoopen);
    open(FILE, "$filetoopen") or die "无法定位所需文件!";
    flock(FILE, 2) if ($OS_USED eq "Unix");
    @forums = <FILE>;
    close(FILE);
    $currenttime = time;
    foreach (@forums) { #start foreach @forums
        ($tempno, $trash) = split(/\|/,$_);
        $lvisit .= "$tempno-$currenttime--";
        }

$boardurltemp =$boardurl;

$boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
$cookiepath = $boardurltemp;
$cookiepath     =~ s/$thisprog//sg;

    $cookie     = cookie(-name    =>   "lastvisit",
                         -value   =>   "$lvisit",
                         -path    =>   "$cookiepath",
                         -expires =>   "+30d");
            
    $tempcookie = cookie(-name    =>   "templastvisit",
                         -value   =>   "$lvisit",
                         -path    =>   "$cookiepath");
    print header(-cookie  =>[$cookie, $tempcookie], -charset=>"gb2312");
    }
    

    &title;


    require "$ikondir" . "data/boardstats.cgi";
    
    ### Set up the variables for the last registered Member

    $cleanlastregistered = $lastregisteredmember;
    $cleanlastregistered =~ y/ /_/;
    $cleanlastregistered = qq~<a href="$profileprog?action=show&member=$cleanlastregistered" target=_blank>$lastregisteredmember</a>~;

    ### Set up the user's inbox status
        if ($inmembername eq "客人") {
        	$inboxstatus = qq~<font face="$font" color=$forumfontcolor align=center>你必须<a href="$registerprog">注册</a>并<a href="$loginprog">登陆</a>后才能查看你的短消息信箱信息。</font>~;
		$inboximg = qq~<img src="$imagesurl/images/inboxnologin.gif" width=16 height=16 alt="你没有登陆!">~;
	}
        
        if ($inmembername ne "客人") {
        $memberfilename = $inmembername;
        $memberfilename =~ s/ /\_/g;
        
        $filetoopen = "$ikondir". "messages/$memberfilename" . "_msg.cgi";
        open (FILE, "$filetoopen");
        @allmessages = <FILE>;
        close (FILE);
        
        $totalmessages = @allmessages;
        
        $unread = 0;
        
        foreach (@allmessages) {
            ($from, $readstate, $date, $messagetitle, $message) = split(/\|/,$_);
            if ($readstate eq "no") {
                $unread++;
                }
            }
        
        $filetoopen = "$ikondir". "messages/$memberfilename" . "_out.cgi";
        open (FILE, "$filetoopen");
        @allmessages = <FILE>;
        close (FILE);
        
        $totalmessagesout = @allmessages;

	if (($unread > "0")&&($newmsgpop eq "on")) {$newmsgpopup = qq~<script language="JavaScript">JavaScript:PopWindow()</script>~;}
    	    else { undef$newmsgpopup; }

        if ($unread eq "0") {
        	$inboximg = qq~<img src="$imagesurl/images/inboxnonew.gif" width=16 height=16 ALT="没有新的短消息">~;
        	$inboxstatus = qq~<font face="$font" color=$forumfontcolor align=center>目前您没有新的短消息。<a href="$boardurl/messanger.cgi?action=inbox" target=_blank>短消息收件箱</a>中共有 <b>$totalmessages</b> 条信息,<a href="$boardurl/messanger.cgi?action=outbox" target=_blank>短消息发件箱</a>中共有 <b>$totalmessagesout</b> 条信息。</font>~; }
	else { $inboximg = qq~<img src="$imagesurl/images/inboxnew.gif" width=16 height=16 alt="有新的短消息">~;
		$inboxstatus = qq~<font face="$font" color=$forumfontcolor align=center>目前您有 <a href="$boardurl/messanger.cgi?action=inbox" target=_blank><b><font color=$fonthighlight>$unread</font></a></b> 条新的短消息</a>。 <a href="$boardurl/messanger.cgi?action=inbox" target=_blank>短消息收件箱</a>中共有 <b>$totalmessages</b> 条信息,<a href="$boardurl/messanger.cgi?action=outbox" target=_blank>短消息发件箱</a>中共有 <b>$totalmessagesout</b> 条信息。</font>~;
        }
        $inboxstatus = qq~$inboxstatus <font face="$font" color=$fonthighlight>注意,请及时删除过期短消息</font>~ if (($totalmessages + $totalmessagesout) >= 15);
}



    #------- HTML

    $output .= qq~
    <!-- Cgi-bot Begin Board logo and navigation -->
    $newmsgpopup
    <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=bottom align=right><font face="$font" color=$fontcolormisc>
                热烈欢迎新会员 "$cleanlastregistered" 的加入。 [<a href="memberlist.cgi?a=5" target=_blank>新进会员</a>]&nbsp;<br>
                共有 <a href="memberlist.cgi?a=3" target=_blank><b>$totalmembers</b></a> 名注册会员、<b>$totalthreads</b> 篇主题、<b>$totalposts</b> 篇回复&nbsp;<br>
            </td>
        </tr>
    </table>
    <br><br>
     <!-- Cgi-bot End Board logo and navigation -->
     ~;

#------- END OF HTML

if ($announcements eq 'yes') {

        my $filetoopen = "$ikondir" . "data/news.cgi";
        if (-e $filetoopen) {
            openFILE(-FH=>'FILE',-FN=>"$filetoopen",-MD=>'r');
            my @announcementdata = <FILE>;
            close(FILE);

            my $totalannouncements = @announcementdata;
            ($title, $dateposted, $trash) = split(/\|/, $announcementdata[0]);
            }
            else { $dateposted = time; $title = '当前没有公告'; }

        my $dateposted = $dateposted + ($timedifferencevalue*3600) + ($timezone*3600);
        $dateposted = &longdate("$dateposted");
    $announcetemp1=qq~<img src="$imagesurl/images/announce.gif" border=0 alt="公告!公告!不可不看!" width=16 height=16>~;
    $announcetemp2=qq~<b><a href="$boardurl/$announceprog" target=_blank>$title</a></b> ($dateposted)~;
        } 

#------- HTML
    
        $output .= qq~
        <table cellpadding=1 cellspacing=0 border=0 width=$tablewidth align=center>
        <!-- Cgi-Bot Announcements from $dateposted -->
        <tr>
            <td align=center width=2 valign=middle>
            </td>
            <td align=center width=34 valign=middle>
              $announcetemp1
            </td>
            <td valign=middle align=left>
                <font face="$font" color=$forumfontcolor>
                $announcetemp2
                </font>
            </td>
            <td align=center width=20 valign=middle>
                <img src="$imagesurl/images/team.gif" border=0 width=16 height=16 alt="显示管理团队名册">
            </td>
            <td align=left valign=middle width=70>
                <font face="$font" color=$forumfontcolor>
		<a href="team.cgi" target=_blank>管理团队</a>
                </font>
            </td>
            <td align=center width=20 valign=middle>
                <img src="$imagesurl/images/userlist.gif" border=0 width=16 height=16 alt="显示用户列表">
            </td>
            <td align=left valign=middle width=70>
                <font face="$font" color=$forumfontcolor>
		<a href="memberlist.cgi?a=4" target=_blank>用户列表</a>
                </font>
            </td>
            <td align=center width=20 valign=middle>
                <img src="$imagesurl/images/top.gif" border=0 width=16 height=16 alt="显示发贴量排名">
            </td>
            <td align=left valign=middle width=60>
                <font face="$font" color=$forumfontcolor>
                 <a href="memberlist.cgi?a=1" target=_blank>发贴量排名</a>
                </font>
            </td>
            <td align=center width=4 valign=middle>
            </td>
         </tr>
        </table>
        <!-- Cgi-bot End of announcements -->
        ~;

#------- END OF HTML

    $output .= qq~
    <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>
            <td bgcolor=$titlecolor width=26 align=center><font face="$font" color=$titlefontcolor><b>状态</b></font></td>
            <td bgcolor=$titlecolor width=*  align=center><font face="$font" color=$titlefontcolor><b>论坛名称</b></font></td>
            <td bgcolor=$titlecolor width=74 align=center><font face="$font" color=$titlefontcolor><b>版主</b></font></td>
            <td bgcolor=$titlecolor width=26 align=center><font face="$font" color=$titlefontcolor><b>主题</b></font></td>
            <td bgcolor=$titlecolor width=26 align=center><font face="$font" color=$titlefontcolor><b>回复</b></font></td>
            <td bgcolor=$titlecolor width=158 align=center><font face="$font" color=$titlefontcolor><b>最后更新</b></font></td>
            <td bgcolor=$titlecolor width=26 align=center><font face="$font" color=$titlefontcolor><b>收藏</b></font></td>
        </tr>
        ~;


### Open up the allforums file.

$filetoopen = "$ikondir" . "data/allforums.cgi";
$filetoopen = &stripMETA($filetoopen);
open(FILE, "$filetoopen") or die "你是不是没有建立过论坛呀,快去论坛管理中心建立!";
@forums = <FILE>;
close(FILE);

foreach $forum (@forums) { #start foreach @forums
    chomp $forum;
    ($forumid, $category, $categoryplace, $forumname, $forumdescription, $forummoderator ,$htmlstate ,$idmbcodestate ,$privateforum, $startnewthreads ,$lastposter ,$lastposttime, $threads, $posts, $forumgraphic) = split(/\|/,$forum);
    $rearrange = ("$categoryplace|$category|$forumname|$forumdescription|$forummoderator|$htmlstate|$idmbcodestate|$privateforum|$startnewthreads|$lastposter|$lastposttime|$threads|$posts|$forumgraphic|$forumid");
    push (@rearrangedforums, $rearrange);

} # end foreach (@forums)

@finalsortedforums = sort numerically(@rearrangedforums);

foreach $sortedforums (@finalsortedforums) { #start foreach @finalsortedforums

    ($categoryplace, $category, $forumname, $forumdescription, $forummoderator, $htmlstate, $idmbcodestate, $privateforum, $startnewthreads, $lastposter, $lastposttime, $threads, $posts, $forumgraphic, $forumid) = split(/\|/,$sortedforums);

    if ($forummoderator) {

⌨️ 快捷键说明

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