--- loncom/interface/lonmsgdisplay.pm 2008/11/17 17:19:52 1.96
+++ loncom/interface/lonmsgdisplay.pm 2008/12/16 22:57:31 1.105
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging display
#
-# $Id: lonmsgdisplay.pm,v 1.96 2008/11/17 17:19:52 schafran Exp $
+# $Id: lonmsgdisplay.pm,v 1.105 2008/12/16 22:57:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -243,9 +243,9 @@ function folder_choice(targetform,caller
-
'.
- '
'.&mt('New Folder').' '.
+ '
'.&mt('Name').' '.
'
@@ -353,7 +353,7 @@ sub makefolder {
}
} else {
$outcome =
- &mt('Error - could not obtain lock on email folders record.');
+ &mt('Error - could not obtain lock on message folders record.');
}
return ($outcome,$warning);
}
@@ -555,17 +555,16 @@ sub discourse {
}
sub disgroup {
- my ($cdom,$cnum,$group,$access_status) = @_;
- my $result;
+ my ($r,$cdom,$cnum,$group,$access_status) = @_;
+ my $hasfloat;
# Needs to be in a course
if (!($env{'request.course.fn'})) {
- $result = &mt('Error: you must have a course role selected to be able to send a broadcast
-e-mail to a group in the course.');
- return $result;
+ $r->print(''.&mt('Error: you must have a course role selected to be able to send a broadcast message to a group in the course.').'');
+ return;
}
if ($cdom eq '' || $cnum eq '') {
- $result = &mt('Error: could not determine domain or number of course');
- return $result;
+ $r->print(''.&mt('Error: could not determine domain or number of course').'');
+ return;
}
my ($memberinfo,$numitems) =
&Apache::longroup::group_memberlist($cdom,$cnum,$group,{},[]);
@@ -578,10 +577,13 @@ e-mail to a group in the course.');
push(@statustypes,('future','previous'));
}
if (keys(%{$memberinfo}) == 0) {
- $result = &mt('As this group has no members, there are no '.
- 'recipients to select.');
- return $result;
+ $r->print(''.
+ &mt('As this group has no members, there are no recipients to select').
+ '');
+ return;
} else {
+ $hasfloat = 1;
+ $r->print('
');
my %Sortby = (
active => {},
previous => {},
@@ -607,7 +609,7 @@ e-mail to a group in the course.');
push(@{$Sortby{$status}{$$memberinfo{$user}{fullname}}},$user);
}
}
- $result .= &group_check_uncheck();
+ $r->print(&group_check_uncheck());
foreach my $status (@statustypes) {
if (ref($numitems) eq 'HASH') {
if ((defined($$numitems{$status})) && ($$numitems{$status})) {
@@ -615,46 +617,46 @@ e-mail to a group in the course.');
if (ref($access_status) eq 'HASH') {
$access_status->{$status} = $$numitems{$status};
}
- $result.='
');
}
}
}
}
- return $result;
+ return $hasfloat;
}
sub group_check_uncheck {
@@ -718,13 +720,13 @@ sub groupmail_header {
{href=>"/adm/email?compose=group&group=".
"$env{'form.group'}&$refarg",
text=>"Send a Message in a Group",
- title=>"Compose Group E-mail"},);
+ title=>"Compose Group Message"},);
if ($action eq 'sending') {
&Apache::lonhtmlcommon::add_breadcrumb
- ({text=>"E-mails being sent.",
+ ({text=>"Messages being sent.",
title=>"E-mails sent"},);
}
- my $groupheader = &Apache::loncommon::start_page('Group Email');
+ my $groupheader = &Apache::loncommon::start_page('Group Message');
$groupheader .= &Apache::lonhtmlcommon::breadcrumbs
('Group - '.$env{'form.group'}.' Email');
return $groupheader;
@@ -738,7 +740,7 @@ sub groupmail_sent {
}
my $output .= '
|;
@@ -2262,29 +2262,66 @@ sub displaymessage {
# start output
&printheader($r,'/adm/email?display='.&escape($msgid),'Display a Message','',$content{'baseurl'});
my %courseinfo=&Apache::lonnet::coursedescription($content{'courseid'});
-# Functions
- $r->print('
'.&mt('Functions').':
');
+
+# Functions and Actions
+ my $li_start='• ';
+ my $li_end=' ';
+
+# Prepare available functions
+ my $functionlist='';
if (!$content{'noreplies'}) {
- $r->print('
'
+ );
+
+# Prepare available actions
my $symb;
if (defined($content{'symb'})) {
$symb = $content{'symb'};
@@ -2293,33 +2330,40 @@ sub displaymessage {
}
if ($env{'user.adv'}) {
my $actionlist='';
+
if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
- $actionlist.='