--- loncom/interface/lonmsgdisplay.pm 2009/03/31 21:04:12 1.120 +++ loncom/interface/lonmsgdisplay.pm 2009/07/26 20:39:46 1.129 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines for messaging display # -# $Id: lonmsgdisplay.pm,v 1.120 2009/03/31 21:04:12 kaisler Exp $ +# $Id: lonmsgdisplay.pm,v 1.129 2009/07/26 20:39:46 kalberla Exp $ # # Copyright Michigan State University Board of Trustees # @@ -173,6 +173,7 @@ sub folderlist { $formhash{'select_form_order'} = ['','critical',@userorder,'sent','trash']; my $output = qq||; my %show = ('select_form_order' => [10,20,50,100,200], map {$_=>$_} (10,20,50,100,200)); @@ -239,7 +241,7 @@ function folder_choice(targetform,caller '.$lt{'actn'}.'
'. &Apache::loncommon::select_form('view','folderaction',%actions).'
'. - ' + ' @@ -247,7 +249,7 @@ function folder_choice(targetform,caller '. + '" onclick="javascript:folder_choice(this.form,'."'new'".');" />'. '

'.&mt('Name').'
'. '
@@ -295,11 +297,11 @@ sub scrollbuttons { } return ''.&mt('Page').': '. - ''. - ''. - ' of '.$maxdis. - ''. - '
'. + ''. + ''. + ' / '.$maxdis.' '. + ''. + '
'. &mt('[_1] messages: showing messages [_2] through [_3] of [_4].',$status,$first,$finish,$total).''; } # =============================================================== Status Change @@ -522,7 +524,10 @@ sub discourse { \%defaultUsers, 1,"selectedusers",1,'email') ) { - $result .= '
'.&mt('Bcc: course members with current access').'
'; + $result .= '
' + .&mt('Bcc: course members with current access') + .'' + .''; $result .= $tmptext.'

'; if (ref($statushash) eq 'HASH') { $statushash->{'active'} = 1; @@ -534,7 +539,10 @@ sub discourse { \%defaultUsers, 1, "selectedusers",0,'email') ) { - $result .= '
'.&mt('Bcc: course members with expired access').'
'; + $result .= '
' + .&mt('Bcc: course members with expired access') + .'' + .''; $result .= $tmptext.'

'; if (ref($statushash) eq 'HASH') { $statushash->{'previous'} = 1; @@ -547,7 +555,10 @@ sub discourse { \%defaultUsers, 1, "selectedusers",0,'email') ) { - $result .= '
'.&mt('Bcc: course members with future access').'
'; + $result .= '
' + .&mt('Bcc: course members with future access') + .'' + .''; $result .= $tmptext.'
'; if (ref($statushash) eq 'HASH') { $statushash->{'future'} = 1; @@ -622,8 +633,9 @@ sub disgroup { if (ref($access_status) eq 'HASH') { $access_status->{$status} = $$numitems{$status}; } - $r->print('
'.$lt{$status}. - '
'. + $r->print('
'. + ''.$lt{$status}.''. + ''. ''. ''. @@ -670,6 +682,7 @@ sub disgroup { sub group_check_uncheck { my $output = qq| |; } @@ -762,7 +776,7 @@ sub discrit { .'
' .&mt('Access to other pages will be prevented until you have moved all critical messages to your inbox.') .'

' - .'' + .'' .''; my %what=&Apache::lonnet::dump('critical'); my $result = ''; @@ -981,6 +995,7 @@ sub disfolder { my $jscript = &Apache::loncommon::check_uncheck_jscript(); $r->print(< +// ENDDISHEADER - my $fsqs='&folder='.$folder; + my $fsqs='&folder='.$folder; my @temp=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus); my $totalnumber=$#temp+1; if ($totalnumber < 1) { @@ -1127,7 +1142,7 @@ ENDDISHEADER foreach my $item ($localsenttime,$dis_name,$dis_domain,$shortsubj) { $r->print(''.(($status eq 'new')?'':''). ''. - $item.(($status eq 'new')?'':'').''); + $item.(($status eq 'new')?'':'').''); } my $showstatus; my %statushash = &get_msgstatus_types(); @@ -1190,7 +1205,7 @@ ENDDISHEADER '" onclick="javascript:validate_checkedaction()"/>'."\n". ''); my $postedstartdis=$startdis+1; - $r->print(''); + $r->print(''); if ($numblocked > 0) { $r->print(&blocked_in_folder($numblocked,$startblock,$endblock, \%setters)); @@ -1203,8 +1218,12 @@ sub blocked_in_folder { my $finishblock = &Apache::lonlocal::locallocaltime($endblock); my $output = '

'. &mt('[quant,_1,message is, messages are] not viewable because display of LON-CAPA messages sent to you by other students between [_2] and [_3] is currently being blocked because of online exams.',$numblocked,$beginblock,$finishblock); - $output .= &Apache::loncommon::build_block_table($startblock,$endblock, - $setters); + #$output .= &Apache::loncommon::build_block_table($startblock,$endblock, + # $setters); + + my ($blocked, $blocktext) = &Apache::loncommon::blocking_status("msgdisplay"); + $output .="
".$blocktext; + return $output; } @@ -1346,6 +1365,7 @@ sub compout { $sendmode = ''."\n"; $broadcast_js = qq| |; @@ -1415,7 +1436,9 @@ function courseRecipients() { my $jscript = &Apache::loncommon::check_uncheck_jscript(); $r->print(<<"ENDREPSCRIPT"); ENDREPSCRIPT } @@ -1684,7 +1707,7 @@ sub additional_rec_row { my $bcc = &mt('Bcc:'); my $exmpl = &mt('username:domain,username:domain,...'); my $output = <<"ENDADD"; -
$lt->{'ad'} ($exmpl): + @@ -1867,8 +1890,8 @@ sub facetoface { return; } my $crstype = &Apache::loncommon::course_type(); - my $leaders = ($crstype eq 'Group') ? 'coordinators and leaders' - : 'faculty and staff'; + my $leaders = ($crstype eq 'Community') ? 'coordinators and leaders' + : 'faculty and staff'; &printheader($r, '/adm/email?recordftf=query', "User Notes, Face-to-Face, Critical Messages, Broadcast Messages, Archived Messages"); @@ -1890,21 +1913,23 @@ sub facetoface { 'subm' => 'Retrieve discussion and message records', 'newr' => 'New Record (record is visible to '.lc($crstype).' '.$leaders.')', 'post' => 'Post this Record'); - $r->print(<<"ENDTREC"); -

$lt{'head'}

- - -
$lt->{'ad'} ($exmpl)
 $lt->{'to'}
 $cc
 $bcc
- - - - - -
$lt{'user'}: -$stdbrws -
$lt{'dom'}:$domform
- -ENDTREC + + $r->print('

'.$lt{'head'}.'

' + .'
' + .'' + .&Apache::lonhtmlcommon::start_pick_box() + .&Apache::lonhtmlcommon::row_title($lt{'user'}) + .'' + .' '.$stdbrws + .&Apache::lonhtmlcommon::row_closure() + .&Apache::lonhtmlcommon::row_title($lt{'dom'}) + .$domform + .&Apache::lonhtmlcommon::row_closure(1) + .&Apache::lonhtmlcommon::end_pick_box() + .'
' + .'' + ); + if (($stage ne 'query') && ($env{'form.recdomain'}) && ($env{'form.recuname'})) { chomp($env{'form.newrecord'}); @@ -1913,8 +1938,17 @@ ENDTREC $env{'form.recuname'}, $env{'form.recdomain'}); } - $r->print('

'.&Apache::loncommon::plainname($env{'form.recuname'}, - $env{'form.recdomain'}).'

'); + my $aboutmelink=&Apache::loncommon::aboutmewrapper( + &Apache::loncommon::plainname($env{'form.recuname'} + ,$env{'form.recdomain'}) + ,$env{'form.recuname'},$env{'form.recdomain'}); + $r->print('
' + .'

' + .&mt('Discussion and message records for [_1] ([_2])' + ,$aboutmelink + ,$env{'form.recuname'}.':'.$env{'form.recdomain'}) + .'

' + ); &disfacetoface($r,$env{'form.recuname'},$env{'form.recdomain'}); $r->print(< @@ -1943,8 +1977,8 @@ sub examblock { $r->print('Not allowed'); return; } - my $usertype = (&Apache::loncommon::course_type() eq 'Group') ? 'members' - : 'students'; + my $usertype = (&Apache::loncommon::course_type() eq 'Community') ? 'members' + : 'students'; my %lt=&Apache::lonlocal::texthash( 'comb' => 'Communication Blocking', 'cbds' => 'Communication blocking during scheduled exams', @@ -2245,8 +2279,10 @@ sub displaymessage { my @messages=&sortedmessages(\%blocked,$startblock,$endblock,\$numblocked,$folder,$msgstatus); if ( $blocked{$msgid} eq 'ON' ) { &printheader($r,'/adm/email',&mt('Display a Message')); - $r->print(&mt('You attempted to display a message that is currently blocked because you are enrolled in one or more courses for which there is an ongoing online exam.')); - &build_block_table($r,$startblock,$endblock,\%setters); + #$r->print(&mt('You attempted to display a message that is currently blocked because you are enrolled in one or more courses for which there is an ongoing online exam.')); + #&build_block_table($r,$startblock,$endblock,\%setters); + my($blocked, $blocktext) = &Apache::loncommon::blocking_status("msgdisplay"); + $r->print("
".$blocktext); return; } if ($msgstatus eq '') { @@ -2312,19 +2348,6 @@ sub displaymessage { .&mt('Next') .''); } -# Print functions - my $legendtext='' - .&mt('Functions') - .''; - $r->print('
' - .&Apache::lontemplate::start_functionslist($legendtext) - ); - foreach my $item (@functionlist) { - $r->print(&Apache::lontemplate::item_functionslist($item)); - } - $r->print(&Apache::lontemplate::end_functionslist() - .'
' - ); # Prepare available actions my $symb; @@ -2333,8 +2356,8 @@ sub displaymessage { } elsif (defined($content{'baseurl'})) { $symb=&Apache::lonnet::symbread($content{'baseurl'}); } - if ($env{'user.adv'}) { my @actionlist; + if ($env{'user.adv'}) { if (&Apache::lonnet::allowed('vgr',$env{'request.course.id'})) { push(@actionlist,&Apache::loncommon::track_student_link( @@ -2359,22 +2382,31 @@ sub displaymessage { ,$symb ,'check')); } + } + +# Print functionlist and actionlist in page header + my $functions='
'; + + # Functionlist + $functions.=&Apache::lonhtmlcommon::start_funclist(); + foreach my $item (@functionlist) { + $functions.=&Apache::lonhtmlcommon::add_item_funclist($item); + } + $functions .= &Apache::lonhtmlcommon::end_funclist(); -# Print actions + # Actionlist if (@actionlist) { - $legendtext=&mt('[_1]Currently available actions[_2] (will open extra window):' - ,'',''); - $r->print('
' - .&Apache::lontemplate::start_functionslist($legendtext) - ); + my $legendtext=&mt('Currently available actions (will open extra window)'); + $functions.=&Apache::lonhtmlcommon::start_funclist($legendtext); foreach my $item (@actionlist) { - $r->print(&Apache::lontemplate::item_functionslist($item)); + $functions.=&Apache::lonhtmlcommon::add_item_funclist($item); } - $r->print(&Apache::lontemplate::end_functionslist() - .'
' - ); + $functions.=&Apache::lonhtmlcommon::end_funclist(); } - } + + $functions.='
'; + $r->print(&Apache::loncommon::head_subbox($functions)); + my ($tonum,$tolist,$cclist,$bcclist,$groupcclist,%recipients); if ($content{'recipid'}) { @@ -2721,6 +2753,7 @@ sub recipients_link { $body =~ s{\n}{}g; $r->print(< +// ENDJS @@ -3175,7 +3208,7 @@ sub sendoffmail { &Apache::loncommunicate::menu($r); } } else { - $r->print('

'.&mt('Could not deliver message').' '. + $r->print('

'.&Apache::lonhtmlcommon::confirm_success(&mt('Could not deliver message'),1).'
'. &mt('Please use the browser "Back" button and correct the recipient addresses ([_1]).',$sendstatus).'

'); } } @@ -3202,7 +3235,7 @@ sub handler { 'recordftf','sortedby','block','folder','startdis','interdis', 'showcommentbaseurl','dismode','group','subject','text','ref', 'msgstatus']); - $sqs='&sortedby='.$env{'form.sortedby'}; + $sqs='&sortedby='.$env{'form.sortedby'}; # ------------------------------------------------------ They checked for email unless ($env{'form.block'}) { @@ -3223,7 +3256,7 @@ sub handler { unless ($folder) { $folder=''; } else { - $sqs.='&folder='.&escape($folder); + $sqs.='&folder='.&escape($folder); } # ------------------------------------------------------------ Get Display Mode @@ -3255,7 +3288,7 @@ sub handler { $startdis++; } my $postedstartdis=$startdis+1; - $sqs.='&startdis='.$postedstartdis; + $sqs.='&startdis='.$postedstartdis; # --------------------------------------------------------------- Render Output 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.