Diff for /loncom/interface/lonmsg.pm between versions 1.24 and 1.27

version 1.24, 2001/11/05 19:44:23 version 1.27, 2002/01/01 18:38:51
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 #  
 # Routines for messaging  # Routines for messaging
 #  #
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   #
 # (Routines to control the menu  # (Routines to control the menu
 #  #
 # (TeX Conversion Module  # (TeX Conversion Module
Line 15 Line 39
 # 07/27 Guy Albertelli  # 07/27 Guy Albertelli
 # 07/27,07/28,07/30,08/03,08/06,08/08,08/09,08/10,8/13,8/15,  # 07/27,07/28,07/30,08/03,08/06,08/08,08/09,08/10,8/13,8/15,
 # 10/1,11/5 Gerd Kortemeyer  # 10/1,11/5 Gerd Kortemeyer
   # YEAR=2002
   # 1/1 Gerd Kortemeyer
   #
 package Apache::lonmsg;  package Apache::lonmsg;
   
 use strict;  use strict;
Line 38  sub packagemsg { Line 64  sub packagemsg {
     $msgcount++;      $msgcount++;
     my $partsubj=$subject;      my $partsubj=$subject;
     $partsubj=&Apache::lonnet::escape($partsubj);      $partsubj=&Apache::lonnet::escape($partsubj);
     $partsubj=substr($partsubj,0,50);  
     my $msgid=&Apache::lonnet::escape(      my $msgid=&Apache::lonnet::escape(
            $now.':'.$partsubj.':'.$ENV{'user.name'}.':'.             $now.':'.$partsubj.':'.$ENV{'user.name'}.':'.
            $ENV{'user.domain'}.':'.$msgcount.':'.$$);             $ENV{'user.domain'}.':'.$msgcount.':'.$$);
Line 330  ENDREPLY Line 355  ENDREPLY
   
 sub disall {  sub disall {
     my $r=shift;      my $r=shift;
     $r->print('<h1>Display All Messages</h1>'.      $r->print(
        '<h1>Display All Messages</h1><form method=post action="/adm/email">'.
      '<table border=2><tr><th colspan=2>&nbsp</th><th>Date</th>'.       '<table border=2><tr><th colspan=2>&nbsp</th><th>Date</th>'.
      '<th>Username</th><th>Domain</th><th>Subject</th><th>Status</th></tr>');       '<th>Username</th><th>Domain</th><th>Subject</th><th>Status</th></tr>');
     map {      foreach (sort split(/\&/,&Apache::lonnet::reply('keys:'.
    $ENV{'user.domain'}.':'.
                                           $ENV{'user.name'}.':nohist_email',
                                           $ENV{'user.home'}))) {
         my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)=          my ($sendtime,$shortsubj,$fromname,$fromdomain,$status)=
     &Apache::lonmsg::unpackmsgid($_);      &Apache::lonmsg::unpackmsgid($_);
        unless ($status eq 'deleted') {         unless ($status eq 'deleted') {
Line 348  sub disall { Line 377  sub disall {
         }          }
         $r->print('<td><a href="/adm/email?display='.$_.          $r->print('<td><a href="/adm/email?display='.$_.
                   '">Open</a></td><td><a href="/adm/email?markdel='.$_.                    '">Open</a></td><td><a href="/adm/email?markdel='.$_.
                   '">Delete</a></td><td>'.localtime($sendtime).'</td><td>'.                  '">Delete</a><input type=checkbox name="delmark_'.$_.'"></td>'.
                     '<td>'.localtime($sendtime).'</td><td>'.
                   $fromname.'</td><td>'.$fromdomain.'</td><td>'.                    $fromname.'</td><td>'.$fromdomain.'</td><td>'.
       &Apache::lonnet::unescape($shortsubj).'</td><td>'.        &Apache::lonnet::unescape($shortsubj).'</td><td>'.
                       $status.'</td></tr>');                        $status.'</td></tr>');
        }         }
     } sort split(/\&/,&Apache::lonnet::reply('keys:'.      }
  $ENV{'user.domain'}.':'.      $r->print('</table><p>'.
                                         $ENV{'user.name'}.':nohist_email',                '<input type=submit name="markeddel" value="Delete Checked">'.
                                         $ENV{'user.home'}));                '</form></body></html>');
     $r->print('</table></body></html>');  
 }  }
   
 # ============================================================== Compose output  # ============================================================== Compose output
Line 539  sub handler { Line 568  sub handler {
   } elsif ($ENV{'form.markdel'}) {    } elsif ($ENV{'form.markdel'}) {
       &statuschange($ENV{'form.markdel'},'deleted');        &statuschange($ENV{'form.markdel'},'deleted');
       &disall($r);        &disall($r);
     } elsif ($ENV{'form.markeddel'}) {
         my $total=0;
         map {
             if ($_=~/^form\.delmark_(.*)$/) {
         &statuschange(&Apache::lonnet::unescape($1),'deleted');
                 $total++;
             }
         } keys %ENV;
         $r->print('Deleted '.$total.' message(s)<p>');
         &disall($r);
   } elsif ($ENV{'form.markunread'}) {    } elsif ($ENV{'form.markunread'}) {
       &statuschange($ENV{'form.markunread'},'new');        &statuschange($ENV{'form.markunread'},'new');
       &disall($r);        &disall($r);
Line 613  sub handler { Line 652  sub handler {
 }  }
 # ================================================= Main program, reset counter  # ================================================= Main program, reset counter
   
 sub BEGIN {  BEGIN {
     $msgcount=0;      $msgcount=0;
 }  }
   

Removed from v.1.24  
changed lines
  Added in v.1.27


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>