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

📄 messanger.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
📖 第 1 页 / 共 3 页
字号:
#!/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

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 = "messanger.cgi";

$query = new CGI;

$boardurltemp =$boardurl;

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

$intouser         = $query -> param('touser');
$action           = $query -> param('action');
$inmsg            = $query -> param('msg');
$inwhere          = $query -> param('where');
$inmembername     = $query -> param('membername');
$inpassword       = $query -> param('password');
$inmsgtitle       = $query -> param('msgtitle');
$inmessage        = $query -> param('message');


$inmembername        = &cleaninput($inmembername);
$inpassword          = &cleaninput($inpassword);
$inmessage           = &cleaninput($inmessage);
$inmsgtitle          = &cleaninput($inmsgtitle);

$inboxpm = qq~<img src="$imagesurl/images/inboxpm.jpg" border=0>~;
$outboxpm = qq~<img src="$imagesurl/images/outboxpm.jpg" border=0>~;
$newpm = qq~<img src="$imagesurl/images/newpm.jpg" border=0>~;
$replypm = qq~<img src="$imagesurl/images/replypm.jpg" border=0>~;
$deletepm = qq~<img src="$imagesurl/images/deletepm.jpg" border=0>~;

###Begin Program

if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }


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

if ($action eq "loggedin") {
$namecookie = cookie(-name    =>   "amembernamecookie",
                     -value   =>   "$inmembername",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");
$passcookie = cookie(-name    =>   "apasswordcookie",
                     -value   =>   "$inpassword",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");

print header(-cookie  =>[$namecookie, $passcookie], -charset=>"gb2312");
}
else {
    print header(-charset=>"gb2312");
    }

if (($inmsg) && ($inmsg !~ /^[0-9]+$/)) { &error("普通&请不要修改生成的 URL!"); }

$action = "inbox" if ($action eq "");

### Print Header for the page.

    $output .= qq~
    <table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=$tablebordercolor align=center>
        <tr>
            <td>
                <table cellpadding=3 cellspacing=1 border=0 width=100%>
                ~;
    
### Startactions

&whosonline("$inmembername|短消息|none|收发短消息|");


    if ($action eq "new") {
    
    
            # Validate user
    
            &getmember("$inmembername");
    
            if ($inmembername eq "") { &login("$thisprog?action=reply&touser=$intouser"); }
            elsif ($userregistered eq "no") {  &messangererror("错误信息&您没有注册!"); }
            elsif ($inpassword ne $password) {  &messangererror("错误信息&您的密码错误!"); }
        
            
            $cleanname = $intouser;
            $cleanname =~ s/\_/ /g;

            # Present the form

            $output .= qq~
            <tr>
                <td bgcolor=$miscbacktwo align=center colspan=3><font face="$font" color=$fontcolormisc><b>发送短消息</b></td>
            </tr>
            <tr>
                <td bgcolor=$miscbackone valign=middle align=center colspan=3><a href="$thisprog?action=inbox">$inboxpm</a> &nbsp; <a href="$thisprog?action=outbox">$outboxpm</a> &nbsp; <a href="$thisprog?action=new">$newpm</a></td>
            </tr>
            <tr>
            <td bgcolor=$miscbacktwo colspan=2 align=center>
            <form action="$thisprog" method=post>
            <input type=hidden name="action" value="send">
            <font face="$font" color=$fontcolormisc><b>请完整输入下列信息</b></td>
            </tr>
            <tr>
            <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc><b>接收用户名:</b></font></td>
            <td bgcolor=$miscbackone valign=middle><input type=text name="touser" value="$cleanname" size=40></a></td></tr>
            <tr>
            <td bgcolor=$miscbackone valign=top width=30%><font face="$font" color=$fontcolormisc><b>短信息标题:</b></font></td>
            <td bgcolor=$miscbackone valign=middle><input type=text name="msgtitle" size=40 maxlength=80></td>
            </tr>
            <tr>
            <td bgcolor=$miscbackone valign=top width=30%><font face="$font" color=$fontcolormisc><b>短信息内容:</b></td>
            <td bgcolor=$miscbackone valign=middle><textarea cols=55 rows=6 name="message"></textarea></td>
            </tr>
            <tr>
            <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
            <input type=Submit value="发 送" name=Submit"> &nbsp; <input type="reset" name="Clear" value="清 除">
            </td></form></tr>
            ~;  
    
            
    } # end action



    elsif ($action eq "outbox") {
    
        
        # Validate the user
    
        &getmember("$inmembername");
    
        if ($inmembername eq "客人") { &login("$thisprog?action=outbox"); }
        elsif ($userregistered eq "no") { &messangererror("发件箱&您没有注册!"); }
        elsif ($inpassword ne $password) { &messangererror("发件箱&密码错误!"); }
        
        
        # Pick up the messages (outbox)
        
        $memberfilename = $inmembername;
        $memberfilename =~ s/ /\_/g;
        
        $filetoopen = "$ikondir". "messages/$memberfilename" . "_out.cgi";
        $filetoopen = &stripMETA($filetoopen);
        open (FILE, "$filetoopen");
        @outboxmessages = <FILE>;
        close (FILE);
        
        $totalinboxmessages = @outboxmessages;
        
        $output .= qq~
            <tr>
                <td bgcolor=$miscbacktwo align=center colspan=2><font face="$font" color=$fontcolormisc><b>欢迎使用短消息发送,$membername</b></td>
            </tr>
            <tr>
                <td bgcolor=$miscbackone valign=middle align=center colspan=3><a href="$thisprog?action=inbox">$inboxpm</a> &nbsp; <a href="$thisprog?action=outbox">$outboxpm</a> &nbsp; <a href="$thisprog?action=new">$newpm</a></td>
            </tr>
            <tr>
                <td bgcolor=$miscbackone align=center valign=middle><font face="$font" color=$fontcolormisc><b>发送给</b></td>
                <td bgcolor=$miscbackone align=center valign=middle><font face="$font" color=$fontcolormisc><b>标题</b></td>
            </tr>
            ~;
        
        
        # Display the messages.
        
        $count = 0;
        
        foreach (@outboxmessages) {
            ($from, $readstate, $date, $messagetitle, $message) = split(/\|/,$_);
            if ($readstate eq "no") {
                $readstate = qq~<font face="$font" color="$fonthighlight"><b>否</b></font>~;
                }
                else {
                    $readstate = qq~<font face="$font" color="$fontcolormisc">是</font>~;
                    }
            
        if ($badwords) {
            @pairs = split(/\&/,$badwords);
            foreach (@pairs) {
                ($bad, $good) = split(/=/,$_);
                chop $good;
                $messagetitle=~ s/$bad/$good/isg;
                }
            }

                $output .= qq~
                <tr>
                    <td bgcolor=$miscbackone align=center valign=middle><font face="$font" color=$fontcolormisc>$from</td>
                    <td bgcolor=$miscbackone align=center valign=middle><font face="$font" color=$fontcolormisc><a href="$thisprog?action=outread&msg=$count">$messagetitle</a></td>
                </tr>
                ~;
            $count++;
            } # end foreach
            
            $output .=qq~
                <tr>
                <td bgcolor=$miscbacktwo align=center valign=middle colspan=2><font face="$font" color=$fontcolormisc><a href="$thisprog?action=deleteall&where=outbox">删除所有的短消息</a></td>
                </tr>
                ~;
            
    } # end action
    
    
    
    elsif ($action eq "deleteall") {
        
            # Validate user
    
            &getmember("$inmembername");
    
            if ($inmembername eq "客人") { &login("$thisprog?action=deleteall&where=$inwhere"); }
            elsif ($userregistered eq "no") { &messangererror("短消息&您没有注册!"); }
            elsif ($inpassword ne $password) { &messangererror("短消息&您的密码错误!"); }
            
            
            # Ensure the username has the underscore returned
            
            $memberfilename = $inmembername;
            $memberfilename =~ s/ /\_/g;
            
            
            # Open the user's file
            
            if ($inwhere eq "inbox") {
                $filetotrash = "$ikondir". "messages/$memberfilename" . "_msg.cgi";
                }
                elsif ($inwhere eq "outbox") {
                    $filetotrash = "$ikondir". "messages/$memberfilename" . "_out.cgi";
                    }
            
            if ($filetotrash ne "") {
                unlink "$filetotrash";
                }
                else {
                    &messangererror("短消息&文件没有找到,请重复刚才步骤!");
                    }
                
            
            
            
            # Print the all done screen
            
            $output .= qq~
            <tr>
                <td bgcolor=$miscbacktwo align=center><font face="$font" color=$fontcolormisc><b>所有的短消息已被删除</b></td>
            </tr>
            <tr>
                <td bgcolor=$miscbackone valign=middle align=center><a href="$thisprog?action=inbox">$inboxpm</a> &nbsp; <a href="$thisprog?action=outbox">$outboxpm</a> &nbsp; <a href="$thisprog?action=new">$newpm</a></td>
            </tr>
            <tr>
            <td bgcolor=$miscbackone align=center><font face="$font" color=$fontcolormisc><b>您在$inwhere中的短消息已经全部删除</b></td>

⌨️ 快捷键说明

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