version 1.176, 2014/05/21 19:03:04
|
version 1.183, 2016/02/26 21:44:39
|
Line 102 use HTML::TokeParser();
|
Line 102 use HTML::TokeParser();
|
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
|
use Apache::longroup; |
|
use Apache::lonnavmaps; |
use Apache::lontexconvert(); |
use Apache::lontexconvert(); |
use HTML::Entities(); |
use HTML::Entities(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
Line 120 my $startdis='';
|
Line 122 my $startdis='';
|
|
|
sub folderlist { |
sub folderlist { |
my ($folder,$msgstatus) = @_; |
my ($folder,$msgstatus) = @_; |
my %lt = &Apache::lonlocal::texthash( |
my %html_lt = &Apache::lonlocal::texthash( |
actn => 'Action', |
actn => 'Action', |
fold => 'Folder', |
fold => 'Folder', |
show => 'Show', |
show => 'Show', |
status => 'Message Status', |
status => 'Message Status', |
go => 'Go', |
go => 'Go', |
|
|
|
); |
|
&html_escape(\%html_lt); |
|
my %js_lt = &Apache::lonlocal::texthash( |
nnff => 'New Name for Folder', |
nnff => 'New Name for Folder', |
newn => 'New Name', |
newn => 'New Name', |
fmnb => 'Folder may not be renamed as it is a folder provided by the system.', |
fmnb => 'Folder may not be renamed as it is a folder provided by the system.', |
asth => 'Requested name already in use for a system-provided or user-defined folder.', |
asth => 'Requested name already in use for a system-provided or user-defined folder.', |
|
|
); |
); |
|
&js_escape(\%js_lt); |
|
|
# set se lastvisit for the new mail check in the toplevel menu |
# set se lastvisit for the new mail check in the toplevel menu |
&Apache::lonnet::appenv({'user.mailcheck.lastvisit'=>time}); |
&Apache::lonnet::appenv({'user.mailcheck.lastvisit'=>time}); |
Line 179 function folder_choice(targetform,caller
|
Line 186 function folder_choice(targetform,caller
|
if (targetform.folderaction.options[targetform.folderaction.selectedIndex].value == 'rename') { |
if (targetform.folderaction.options[targetform.folderaction.selectedIndex].value == 'rename') { |
for (var i=0; i<permfolders_keys.length; i++) { |
for (var i=0; i<permfolders_keys.length; i++) { |
if (permfolders_keys[i] == targetform.folder.value) { |
if (permfolders_keys[i] == targetform.folder.value) { |
alert("'"+permfolders_vals[i]+"' -- $lt{'fmnb'}"); |
alert("'"+permfolders_vals[i]+"' -- $js_lt{'fmnb'}"); |
return; |
return; |
} |
} |
} |
} |
var foldername=prompt('$lt{'nnff'}','$lt{'newn'}'); |
var foldername=prompt('$js_lt{'nnff'}','$js_lt{'newn'}'); |
if (foldername) { |
if (foldername) { |
targetform.renamed.value=foldername; |
targetform.renamed.value=foldername; |
for (var i=0; i<allfolders.length; i++) { |
for (var i=0; i<allfolders.length; i++) { |
if (allfolders[i] == foldername) { |
if (allfolders[i] == foldername) { |
alert("'"+foldername+"' $lt{'asth'}"); |
alert("'"+foldername+"' $js_lt{'asth'}"); |
return; |
return; |
} |
} |
} |
} |
Line 204 function folder_choice(targetform,caller
|
Line 211 function folder_choice(targetform,caller
|
if (newname) { |
if (newname) { |
for (var i=0; i<allfolders.length; i++) { |
for (var i=0; i<allfolders.length; i++) { |
if (allfolders[i] == newname) { |
if (allfolders[i] == newname) { |
alert("'"+newname+"' -- $lt{'asth'}"); |
alert("'"+newname+"' -- $js_lt{'asth'}"); |
return; |
return; |
} |
} |
} |
} |
Line 223 function folder_choice(targetform,caller
|
Line 230 function folder_choice(targetform,caller
|
<legend>'.&mt('Folder Actions').'</legend> |
<legend>'.&mt('Folder Actions').'</legend> |
<table border="0" cellspacing="2" cellpadding="8"> |
<table border="0" cellspacing="2" cellpadding="8"> |
<tr> |
<tr> |
<td><b>'.$lt{'fold'}.'</b><br />'."\n". |
<td><b>'.$html_lt{'fold'}.'</b><br />'."\n". |
&Apache::loncommon::select_form($folder,'folder',\%formhash).' |
&Apache::loncommon::select_form($folder,'folder',\%formhash).' |
</td> |
</td> |
<td><b>'.$lt{'show'}.'</b><br />'."\n". |
<td><b>'.$html_lt{'show'}.'</b><br />'."\n". |
&Apache::loncommon::select_form($env{'form.interdis'},'interdis', |
&Apache::loncommon::select_form($env{'form.interdis'},'interdis', |
\%show).' |
\%show).' |
</td> |
</td> |
<td><b>'.$lt{'status'}.'</b><br />'."\n". |
<td><b>'.$html_lt{'status'}.'</b><br />'."\n". |
&Apache::loncommon::select_form($msgstatus,'msgstatus',\%statushash).' |
&Apache::loncommon::select_form($msgstatus,'msgstatus',\%statushash).' |
</td> |
</td> |
<td style="padding-right: 40px;"> |
<td style="padding-right: 40px;"> |
<b>'.$lt{'actn'}.'</b><br />'."\n".' |
<b>'.$html_lt{'actn'}.'</b><br />'."\n".' |
<span class="LC_nobreak">'. |
<span class="LC_nobreak">'. |
&Apache::loncommon::select_form('view','folderaction',\%actions). |
&Apache::loncommon::select_form('view','folderaction',\%actions). |
' <input type="button" value="'.$lt{'go'}. |
' <input type="button" value="'.$html_lt{'go'}. |
'" onclick="javascript:folder_choice(this.form,'."'change'".');" /> |
'" onclick="javascript:folder_choice(this.form,'."'change'".');" /> |
</span> |
</span> |
</td> |
</td> |
Line 245 function folder_choice(targetform,caller
|
Line 252 function folder_choice(targetform,caller
|
<b>'.&mt('New Folder').'</b><br />'."\n".' |
<b>'.&mt('New Folder').'</b><br />'."\n".' |
<span class="LC_nobreak"> |
<span class="LC_nobreak"> |
<input type="text" size="15" name="newfolder" value="" /> |
<input type="text" size="15" name="newfolder" value="" /> |
<input type="button" value="'.$lt{'go'}. |
<input type="button" value="'.$html_lt{'go'}. |
'" onclick="javascript:folder_choice(this.form,'."'new'".');" /> |
'" onclick="javascript:folder_choice(this.form,'."'new'".');" /> |
</span> |
</span> |
</td> |
</td> |
Line 768 sub groupmail_header {
|
Line 775 sub groupmail_header {
|
text=>"Groups", |
text=>"Groups", |
title=>$brtitle}); |
title=>$brtitle}); |
} |
} |
&Apache::lonhtmlcommon::add_breadcrumb |
my $view_permission = |
({href=>"/adm/$cdom/$cnum/$group/smppg?$refarg", |
&Apache::lonnet::allowed('vcg',$env{'request.course.id'}.($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')); |
text=>"Group: $description", |
my $navmap=Apache::lonnavmaps::navmap->new(); |
title=>"Go to group's home page"}, |
my $grouppagelink = &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap,$view_permission,$refarg); |
{href=>"/adm/email?compose=group&group=". |
if ($grouppagelink) { |
"$env{'form.group'}&$refarg", |
&Apache::lonhtmlcommon::add_breadcrumb |
text=>"Send a Message in a Group", |
({href=>$grouppagelink, |
title=>"Compose Group Message"},); |
text=>"Group: $description", |
|
title=>"Go to group's home page"},); |
|
} else { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({text=>"Group: $description",}); |
|
} |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>"/adm/email?compose=group&group=". |
|
"$env{'form.group'}&$refarg", |
|
text=>"Send a Message in a Group", |
|
title=>"Compose Group Message"},); |
if ($action eq 'sending') { |
if ($action eq 'sending') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({text=>"Messages being sent.", |
({text=>"Messages being sent.", |
Line 1051 sub disfolder {
|
Line 1068 sub disfolder {
|
my %setters = (); |
my %setters = (); |
my $numblocked = 0; |
my $numblocked = 0; |
my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com'); |
my ($startblock,$endblock) = &Apache::loncommon::blockcheck(\%setters,'com'); |
my %lt = &Apache::lonlocal::texthash( |
my %js_lt = &Apache::lonlocal::texthash( |
sede => 'Select a destination folder to which the messages will be moved.', |
sede => 'Select a destination folder to which the messages will be moved.', |
nome => 'No messages have been selected to apply this action to.', |
nome => 'No messages have been selected to apply this action to.', |
chec => 'Check the checkbox for at least one message.', |
chec => 'Check the checkbox for at least one message.', |
); |
); |
|
&js_escape(\%js_lt); |
my $jscript = &Apache::loncommon::check_uncheck_jscript(); |
my $jscript = &Apache::loncommon::check_uncheck_jscript(); |
$r->print(<<ENDDISHEADER); |
$r->print(<<ENDDISHEADER); |
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 1066 sub disfolder {
|
Line 1084 sub disfolder {
|
document.disall.markedaction.value = document.disall.checkedaction.options[document.disall.checkedaction.selectedIndex].value; |
document.disall.markedaction.value = document.disall.checkedaction.options[document.disall.checkedaction.selectedIndex].value; |
if (document.disall.checkedaction.options[document.disall.checkedaction.selectedIndex].value == 'markedmove') { |
if (document.disall.checkedaction.options[document.disall.checkedaction.selectedIndex].value == 'markedmove') { |
if (document.disall.movetofolder.options[document.disall.movetofolder.selectedIndex].value == "") { |
if (document.disall.movetofolder.options[document.disall.movetofolder.selectedIndex].value == "") { |
alert("$lt{'sede'}"); |
alert("$js_lt{'sede'}"); |
return; |
return; |
} |
} |
} |
} |
Line 1083 sub disfolder {
|
Line 1101 sub disfolder {
|
} |
} |
} |
} |
if (checktotal == 0) { |
if (checktotal == 0) { |
alert("$lt{'nome'}\\n$lt{'chec'}"); |
alert("$js_lt{'nome'}\\n$js_lt{'chec'}"); |
return; |
return; |
} |
} |
document.disall.submit(); |
document.disall.submit(); |
Line 1394 sub compout {
|
Line 1412 sub compout {
|
'to' => 'To:', |
'to' => 'To:', |
); |
); |
my %attachmax = ( |
my %attachmax = ( |
text => &mt('(128 KB max size)'), |
text => &mt('(1 MB max size)'), |
num => 131072, |
num => 1048576, |
); |
); |
if (!$forwarding && !$multiforward) { |
if (!$forwarding && !$multiforward) { |
$attachrow = '<tr><td colspan="3"><b>'.$lt{'atta'}.'</b> '.$attachmax{'text'}.': <input type="file" name="attachment" /></td></tr>'; |
$attachrow = '<tr><td colspan="3"><b>'.$lt{'atta'}.'</b> '.$attachmax{'text'} |
|
.': <input type="file" name="attachment" class="flUpload" multiple />' |
|
.'</td></tr>' |
|
.'<input type="hidden" id="free_space" value="'.$attachmax{'num'}.'" />'; |
} |
} |
if (&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
if (&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
|| &Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
|| &Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
Line 1900 sub disfacetoface {
|
Line 1921 sub disfacetoface {
|
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}, |
'%255b'.$user.'%253a'.$domain.'%255d'); |
'%255b'.$user.'%253a'.$domain.'%255d'); |
my $result='<div>'; |
my $result=''; |
foreach my $key (sort(keys(%records))) { |
foreach my $key (sort(keys(%records))) { |
my %content=&Apache::lonmsg::unpackagemsg($records{$key}); |
my %content=&Apache::lonmsg::unpackagemsg($records{$key}); |
next if ($content{'senderdomain'} eq ''); |
next if ($content{'senderdomain'} eq ''); |
Line 1965 $content{'sendername'}.':'.
|
Line 1986 $content{'sendername'}.':'.
|
} else { |
} else { |
$r->print('\textbf{'.&mt('No notes, face-to-face discussion records, critical messages or broadcast messages in this '.$lctype.'.').'}\\\\'); |
$r->print('\textbf{'.&mt('No notes, face-to-face discussion records, critical messages or broadcast messages in this '.$lctype.'.').'}\\\\'); |
} |
} |
} elsif ($target ne 'tex') { |
} elsif ($target eq 'tex') { |
$r->print($result.'</div>'); |
$r->print(&Apache::lonxml::xmlparse($r,$target,$result)); |
} else { |
} else { |
$r->print(&Apache::lonxml::xmlparse($r, 'tex', $result)); |
$r->print('<div>'.$result.'</div>'); |
} |
} |
} |
} |
|
|
sub general_message { |
sub general_message { |
Line 2661 sub header {
|
Line 2682 sub header {
|
if ($baseurl) { |
if ($baseurl) { |
$extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />"; |
$extra .= "<base href=\"".&Apache::lonnet::absolute_url()."/$baseurl\" />"; |
} |
} |
|
$extra .= '<script type="text/javascript" |
|
src="/res/adm/includes/file_upload.js"></script>'; |
$r->print(&Apache::loncommon::start_page('Messages', |
$r->print(&Apache::loncommon::start_page('Messages', |
$extra)); |
$extra)); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
Line 2698 sub storedcommentlisting {
|
Line 2721 sub storedcommentlisting {
|
'^'.&escape(&escape($env{'form.showcommentbaseurl'}))); |
'^'.&escape(&escape($env{'form.showcommentbaseurl'}))); |
$r->print(&Apache::loncommon::start_page('Saved Comment Listing',undef, |
$r->print(&Apache::loncommon::start_page('Saved Comment Listing',undef, |
{'onlybody' => 1})); |
{'onlybody' => 1})); |
if ((keys %msgs)[0]=~/^error\:/) { |
if ((keys(%msgs))[0]=~/^error\:/) { |
$r->print(&mt('No saved comments yet.')); |
$r->print(&mt('No saved comments yet.')); |
} else { |
} else { |
my $found=0; |
my $found=0; |
Line 2913 sub sendoffmail {
|
Line 2936 sub sendoffmail {
|
} |
} |
my @recusers; |
my @recusers; |
my @recudoms; |
my @recudoms; |
|
my %permresults; |
foreach my $address (sort(keys(%toaddr))) { |
foreach my $address (sort(keys(%toaddr))) { |
my ($recuname,$recdomain)=split(/\:/,$address); |
my ($recuname,$recdomain)=split(/\:/,$address); |
my $msgtxt = $savemsg; |
my $msgtxt = $savemsg; |
Line 2929 sub sendoffmail {
|
Line 2953 sub sendoffmail {
|
$env{'form.sendbck'}, |
$env{'form.sendbck'}, |
$env{'form.permanent'}, |
$env{'form.permanent'}, |
\$sentmessage{$address}, |
\$sentmessage{$address}, |
$nosentstore,$recipid); |
$nosentstore,$recipid, |
|
$attachmenturl,\%permresults); |
} else { |
} else { |
$r->print(&mt('Sending').' '.$recuname.':'.$recdomain.': '); |
$r->print(&mt('Sending').' '.$recuname.':'.$recdomain.': '); |
@thismsg= |
@thismsg= |
Line 2940 sub sendoffmail {
|
Line 2965 sub sendoffmail {
|
$env{'form.permanent'}, |
$env{'form.permanent'}, |
\$sentmessage{$address}, |
\$sentmessage{$address}, |
undef,undef,undef, |
undef,undef,undef, |
$nosentstore,$recipid); |
$nosentstore,$recipid, |
|
\%permresults); |
} |
} |
$msg_status{$recuname.':'.$recdomain}=join(' ',@thismsg); |
$msg_status{$recuname.':'.$recdomain}=join(' ',@thismsg); |
if ($msg_status{$recuname.':'.$recdomain} =~ /(ok|con_delayed)/) { |
if ($msg_status{$recuname.':'.$recdomain} =~ /(ok|con_delayed)/) { |
$numsent++; |
$numsent++; |
push(@recusers,$recuname); |
push(@recusers,$recuname); |
push(@recudoms,$recdomain); |
push(@recudoms,$recdomain); |
|
if ($1 eq 'ok') { |
|
$r->print('ok '); |
|
} |
|
if ($permresults{$recuname.':'.$recdomain}) { |
|
$r->print(' (email) '); |
|
} |
} |
} |
$sendstatus.=' '.join(' ',@thismsg); |
$sendstatus.=' '.join(' ',@thismsg); |
} |
} |