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

📄 messanger.cgi

📁 绿叶网络小学校园网-完全适合小学的网站
💻 CGI
📖 第 1 页 / 共 3 页
字号:
                <td bgcolor=$miscbackone align=center valign=middle><font face="$font" color=$fontcolormisc><b>是否读过?</b></td>
            </tr>
            ~;
        
        
        # Display the messages.
        
        $count = 0;
        
        foreach (@inboxmessages) {
            ($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=read&msg=$count">$messagetitle</a></td>
                    <td bgcolor=$miscbackone align=center valign=middle>$readstate</td>
                </tr>
                ~;
            $count++;
            } # end foreach
            
            $output .= qq~
                <tr>
                <td bgcolor=$miscbacktwo align=center valign=middle colspan=3><font face="$font" color=$fontcolormisc><a href="$thisprog?action=deleteall&where=inbox">删除所有的短消息</a></td>
                </tr>
                ~;
            
    } # end action




    
    elsif ($action eq "read") { # start showing messages
    
    
    # Validate the user
    
        &getmember("$inmembername");
    
        if ($inmembername eq "客人") { &login("$thisprog?action=read&msg=$inmsg"); }
        elsif ($userregistered eq "no") { &messangererror("短消息&您没有注册!"); }
        elsif ($inpassword ne $password) { &messangererror("短消息&您的密码错误!"); }
        
        
        # Pick up the messages (inbox)
        
        $memberfilename = $inmembername;
        $memberfilename =~ s/ /\_/g;
        
        $filetoopen = "$ikondir". "messages/$memberfilename" . "_msg.cgi";
        $filetoopen = &stripMETA($filetoopen);
        open (FILE, "$filetoopen");
        @inboxmessages = <FILE>;
        close (FILE);
        
        # Get the line to split
        
        $msgtograb = @inboxmessages[$inmsg];
        
        ($from, $readstate, $date, $messagetitle, $post) = split(/\|/,$msgtograb);      
    
        
        
        # Write back to as read
        
        $count = 0;
        
        open (FILE, ">$filetoopen");
        flock (FILE, 2) if ($OS_USED eq "Unix");
        foreach $line (@inboxmessages) {
            chomp $line;
            if ($count eq $inmsg) {
                print FILE "$from|yes|$date|$messagetitle|$post";
                }
                else {
                    print FILE "$line\n";
                    }
                $count++;
                }
        close (FILE);
        
        $date = $date + ($timedifferencevalue*3600) + ($timezone*3600);
        $date = &dateformat("$date");
        $cleanmember = $from;
        $cleanmember =~ s/ /\_/g;
        
        
        # Print the header
        
        $output .= qq~
            <tr>
                <td bgcolor=$miscbacktwo align=center colspan=3><font face="$font" color=$fontcolormisc><b>欢迎使用您的收件箱,$membername</b></td>
            </tr>
            <tr>
                <td bgcolor=$miscbackone valign=middle align=center colspan=3><a href="$thisprog?action=delete&where=inbox&msg=$inmsg">$deletepm</a> &nbsp; <a href="$thisprog?action=inbox">$inboxpm</a> &nbsp; <a href="$thisprog?action=outbox">$outboxpm</a> &nbsp;<a href="$thisprog?action=new">$newpm</a> &nbsp;<a href="$thisprog?action=new&touser=$cleanmember">$replypm</a</td>
            </tr>
            ~;
        
        
        # Split the line
        
                $post = &ikoncode("$post");
                
                if ($emoticons eq "on") {
                    $post = &doemoticons("$post");
		    $post = &smilecode("$post");
                }
                    
    
            ### Print message

        if ($badwords) {
            @pairs = split(/\&/,$badwords);
            foreach (@pairs) {
                ($bad, $good) = split(/=/,$_);
                chop $good;
                $messagetitle=~ s/$bad/$good/isg;
                $post=~ s/$bad/$good/isg;
                }
            }

            $output .= qq~
                <tr>
                    <td bgcolor=$miscbacktwo valign=middle align=center><font face="$font" color=$fontcolormisc>
                    消息来自<b>$from</b>,发送给您的时间:<b>$date</b></font></td>
                </tr>
                <tr>
                    <td bgcolor=$miscbackone valign=top align=left><font face="$font" color=$fontcolormisc>
                    <b>消息标题:$messagetitle</b><p>
                    $post</td>
                </tr>
                ~;

            
    } # end read
    
    
    
    
    
    elsif ($action eq "delete") {
    
    
            # Validate user
    
            &getmember("$inmembername");
    
            if ($inmembername eq "客人") { &login("$thisprog?action=delete&where=$inwhere&msg=$inmsg"); }
            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") {
                $filetoopen = "$ikondir". "messages/$memberfilename" . "_msg.cgi";
                }
                elsif ($inwhere eq "outbox") {
                    $filetoopen = "$ikondir". "messages/$memberfilename" . "_out.cgi";
                    }
            
            $filetoopen = &stripMETA($filetoopen);
            open (FILE, "$filetoopen");
            @boxmessages = <FILE>;
            close (FILE);
        
            # Write back to the 'to' users file
            
            $count = 0;
        
            open (FILE, ">$filetoopen");
            flock (FILE, 2) if ($OS_USED eq "Unix");
            foreach $line (@boxmessages) {
                chomp $line;
                if ($count ne $inmsg) {
                    print FILE "$line\n";
                    }
                $count++;
                }
            close (FILE);
            
            
            # 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>
            </tr>
            ~;
            
            
    } # end action
    
    
    
    
    
    else {
    
        &login("$thisprog?action=loggedin");
        
        }



            $output .= qq~</table></td></tr></table>~;

            &printmessanger(
            -Title   => "$boardname - 短消息", 
            -ToPrint => $output, 
            -Version => $versionnumber 
            );





##############################################################
### Sub route (login)

    
sub login {

	local($url) = @_;
	
    ($postto, $therest) = split(/\?/,$url);
    
    @pairs = split(/\&/,$therest);
    
    foreach (@pairs) {
        ($name, $value)=split(/\=/,$_);
        $hiddenvars .= qq~<input type=hidden name="$name" value="$value">\n~;
        }
           
	        
	    $output .= qq~
	        <tr>
	            <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
		    <form action="$postto" method="post">$hiddenvars
	            <font face="$font" color=$fontcolormisc><b>请输入您的用户名、密码登陆</b></font></td></tr>
	        <tr>
	            <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的用户名</font></td>
	            <td bgcolor=$miscbackone valign=middle><input type=text name="membername" value="$inmembername"0></td></tr>
	        <tr>
	            <td bgcolor=$miscbackone valign=middle><font face="$font" color=$fontcolormisc>请输入您的密码</font></td>
	            <td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"0></td></tr>
	        <tr>
	            <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name="submit" value="登 陆"></td></form></tr></table></td></tr></table>
	        ~;


            $output .= qq~</table></td></tr></table>~;

            &printmessanger(
            -Title   => "$boardname - 短消息", 
            -ToPrint => $output, 
            -Version => $versionnumber 
            );

	 } # end routine 
 

⌨️ 快捷键说明

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