--- loncom/interface/lonmsgdisplay.pm 2006/06/22 14:53:15 1.32 +++ loncom/interface/lonmsgdisplay.pm 2006/06/30 02:05:22 1.36 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.32 2006/06/22 14:53:15 albertel Exp $ +# $Id: lonmsgdisplay.pm,v 1.36 2006/06/30 02:05:22 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -883,6 +883,9 @@ ENDUPLOAD my $studentsel = &discourse(); $r->print($studentsel); } + if ($env{'form.displayedcrit'}) { + $r->print(''); + } $r->print(''. &Apache::lonfeedback::generate_preview_button('compemail','message'). &Apache::lonhtmlcommon::htmlareaselectactive('message')); @@ -976,10 +979,7 @@ $content{'sendername'}.':'. } # Check to see if there were any messages. if ($result eq '') { - my $lctype = 'course'; - if (defined($env{'course.'.$env{'request.course.id'}.'.type'})) { - $lctype = lc($env{'course.'.$env{'request.course.id'}.'.type'}); - } + my $lctype = lc(&Apache::loncommon::course_type()); if ($target ne 'tex') { $r->print("

".&mt('No notes, face-to-face discussion records, critical messages, or broadcast messages in this [_1].',$lctype)."

"); } else { @@ -1012,12 +1012,9 @@ sub facetoface { $r->print('Not allowed'); return; } - my $crstype = 'Course'; - my $leaders = 'faculty and staff'; - if (defined($env{'course.'.$env{'request.course.id'}.'.type'})) { - $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; - $leaders = 'coordinators and leaders'; - } + my $crstype = &Apache::loncommon::course_type(); + my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders' + : 'faculty and staff'; &printheader($r, '/adm/email?recordftf=query', "User Notes, Face-to-Face, Critical Messages, Broadcast Messages"); @@ -1092,10 +1089,8 @@ sub examblock { $r->print('Not allowed'); return; } - my $usertype = 'students'; - if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Group') { - $usertype = 'members'; - } + my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members' + : 'students'; my %lt=&Apache::lonlocal::texthash( 'comb' => 'Communication Blocking', 'cbds' => 'Communication blocking during scheduled exams', @@ -1431,10 +1426,7 @@ sub displaymessage { my $startblock = 0; my $endblock = 0; my $numblocked = 0; - my $crstype = 'Course'; - if (defined($env{'course.'.$env{'request.course.id'}.'.type'})) { - $crstype = $env{'course.'.$env{'request.course.id'}.'.type'}; - } + my $crstype = &Apache::loncommon::course_type(); # info to generate "next" and "previous" buttons and check if message is blocked &blockcheck(\%setters,\$startblock,\$endblock); @@ -1652,12 +1644,13 @@ sub sendoffmail { &statuschange($msgid,'replied',$folder); } - my $to = $env{'form.selectedusers.forminput'}; + my @to = + &Apache::loncommon::get_env_multiple('form.selectedusers.forminput'); my $mode = $env{'form.sendmode'}; my %toaddr; - if ($to) { - foreach my $dest (@$to) { + if (@to) { + foreach my $dest (@to) { my ($user,$domain) = split(/:/, $dest); if (($user ne '') && ($domain ne '')) { my $address = $user.":".$domain; # How the code below expects it. @@ -1906,6 +1899,7 @@ sub handler { &compout($r,'',$env{'form.replyto'},undef,undef,$folder,$dismode); } elsif ($env{'form.confirm'}) { &printheader($r,'','Confirmed Receipt'); + my $replying = 0; foreach (keys %env) { if ($_=~/^form\.rec\_(.*)$/) { $r->print(''.&mt('Confirming Receipt').': '. @@ -1916,9 +1910,12 @@ sub handler { $r->print(''.&mt('Confirming Receipt').': '. &Apache::lonmsg::user_crit_received($msgid).'
'); &compout($r,'','','',$msgid); + $replying = 1; } } - &discrit($r); + if (!$replying) { + &discrit($r); + } } elsif ($env{'form.critical'}) { &printheader($r,'','Displaying Critical Messages'); &discrit($r); @@ -2012,7 +2009,9 @@ sub handler { $env{'form.subject'}, $env{'form.message'},'/adm/communicate','public'); } - &disall($r,($folder?$folder:$dismode)); + if (!$env{'form.displayedcrit'}) { + &disall($r,($folder?$folder:$dismode)); + } } elsif ($env{'form.newfolder'}) { &printheader($r,'','New Folder'); &makefolder($env{'form.newfolder'});