version 1.72, 2007/05/02 01:33:49
|
version 1.76, 2007/05/03 16:55:08
|
Line 390 sub renamefolder {
|
Line 390 sub renamefolder {
|
if ($env{'form.renamed'} eq '') { |
if ($env{'form.renamed'} eq '') { |
return &mt('The folder "[_1]" may not be renamed to "[_2]" as the new name you requested is an invalid name.',$folder,$newname); |
return &mt('The folder "[_1]" may not be renamed to "[_2]" as the new name you requested is an invalid name.',$folder,$newname); |
} |
} |
|
if (defined($permfolders{$folder})) { |
|
return &mt('The folder "[_1]" may not be renamed as it is a folder provided by the system.',$folder); |
|
} |
if (defined($permfolders{$newname})) { |
if (defined($permfolders{$newname})) { |
return &mt('The folder "[_1]" may not be renamed to "[_2]" as the new name you requested is reserved for folders provided automatically by the system.',$folder,$newname); |
return &mt('The folder "[_1]" may not be renamed to "[_2]" as the new name you requested is reserved for folders provided automatically by the system.',$folder,$newname); |
} |
} |
Line 734 $content{'sendername'}.':'.
|
Line 737 $content{'sendername'}.':'.
|
'<br />'.&mt('Subject').': '.$content{'subject'}. |
'<br />'.&mt('Subject').': '.$content{'subject'}. |
'<br /><pre>'. |
'<br /><pre>'. |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
&Apache::lontexconvert::msgtexconverted($content{'message'}). |
'</pre><small>'. |
'</pre><small>'; |
&mt('You have to confirm that you received this message. After confirmation, this message will be moved to your regular inbox'). |
my $rec_button = &mt('Move to Inbox'); |
'</small><br />'. |
my $reprec_button = &mt('Move to Inbox/Compose reply'); |
'<input type="submit" name="rec_'.$key.'" value="'.&mt('Confirm Receipt').'" />'. |
if ($content{'sendback'}) { |
|
$rec_button = &mt('Confirm Receipt'); |
|
$reprec_button = &mt('Confirm Receipt and Reply'); |
|
$result .= &mt('You have to confirm that you have received this message before you can view other pages. After confirmation, this message will be moved to your regular inbox'); |
|
} else { |
|
$result .= &mt('Click one of the buttons below to move the message to your inbox').' '.&mt('Access to other pages will be prevented until you have done this.'); |
|
} |
|
$result .= '</small><br />'. |
|
'<input type="submit" name="rec_'.$key.'" value="'.$rec_button.'" />'. |
'<input type="submit" name="reprec_'.$key.'" '. |
'<input type="submit" name="reprec_'.$key.'" '. |
'value="'.&mt('Confirm Receipt and Reply').'" />'; |
'value="'.$reprec_button.'" />'; |
} |
} |
# Check to see if there were any messages. |
# Check to see if there were any messages. |
if ($result eq '') { |
if ($result eq '') { |
Line 1279 will be forwarded to the recipient(s) yo
|
Line 1290 will be forwarded to the recipient(s) yo
|
&mt('Show re-usable messages').'</a><br />'; |
&mt('Show re-usable messages').'</a><br />'; |
} |
} |
} |
} |
|
my $jscript = &Apache::loncommon::check_uncheck_jscript(); |
|
$r->print(<<"ENDREPSCRIPT"); |
|
<script type="text/javascript"> |
|
$jscript |
|
</script> |
|
ENDREPSCRIPT |
} |
} |
my $citation=&displayresource(%content); |
my $citation=&displayresource(%content); |
my ($can_grp_broadcast,$viewgrps,$editgrps); |
my ($can_grp_broadcast,$viewgrps,$editgrps); |
Line 1318 will be forwarded to the recipient(s) yo
|
Line 1335 will be forwarded to the recipient(s) yo
|
'<input type="hidden" name="recuname" value="'.$content{'sendername'}.'" />'. |
'<input type="hidden" name="recuname" value="'.$content{'sendername'}.'" />'. |
'<input type="hidden" name="recdomain" value="'.$content{'senderdomain'}.'" />'. |
'<input type="hidden" name="recdomain" value="'.$content{'senderdomain'}.'" />'. |
'</td></tr>'); |
'</td></tr>'); |
|
if ($content{'recipid'}) { |
|
my @ccs = &retrieve_cc_recips('replying',%content); |
|
if (@ccs > 0) { |
|
my $replyall = qq| |
|
<span class="LC_nobreak"> |
|
<input type="button" value="check all" |
|
onclick="javascript:checkAll(document.compemail.replying_cc)" /> |
|
|
|
<input type="button" value="uncheck all" |
|
onclick="javascript:uncheckAll(document.compemail.replying_cc)" /> |
|
</span> |
|
|; |
|
my $cclist = join(' ',@ccs); |
|
$r->print('<tr><td>'.&mt('Reply to other recipients').':<br />'.$replyall.'</td><td>'.$cclist.'</td></tr>'); |
|
} |
|
} |
} else { |
} else { |
$r->print(&recipient_input_row($defdom,%lt)); |
$r->print(&recipient_input_row($defdom,%lt)); |
} |
} |
Line 1437 ENDREC
|
Line 1470 ENDREC
|
|
|
sub additional_rec_row { |
sub additional_rec_row { |
my ($lt) = @_; |
my ($lt) = @_; |
|
my $cc = &mt('Cc:'); |
|
my $bcc = &mt('Bcc:'); |
my $output = <<"ENDADD"; |
my $output = <<"ENDADD"; |
<tr><td>$lt->{'ad'}:<br /><tt>username:domain,username:domain, ... |
<tr><td>$lt->{'ad'} :<br /><tt>username:domain,username:domain, ... |
</tt></td><td> |
</tt></td><td> <span class="span.LC_nobreak">$cc |
<input type="text" size="50" name="additionalrec" /></td></tr> |
<input type="text" size="50" name="additionalrec_cc" /></nospan><br /> |
|
<span class="span.LC_nobreak">$bcc <input type="text" size="50" name="additionalrec_bcc" /></nospan></td></tr> |
ENDADD |
ENDADD |
return $output; |
return $output; |
} |
} |
Line 1984 sub displaymessage {
|
Line 2020 sub displaymessage {
|
} |
} |
my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]); |
my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]); |
my %content=&Apache::lonmsg::unpackagemsg($message{$msgid}); |
my %content=&Apache::lonmsg::unpackagemsg($message{$msgid}); |
|
|
my $counter=0; |
my $counter=0; |
$r->print('<pre>'); |
$r->print('<pre>'); |
my $escmsgid=&escape($msgid); |
my $escmsgid=&escape($msgid); |
Line 2039 sub displaymessage {
|
Line 2074 sub displaymessage {
|
} |
} |
$r->print('</tr></table>'); |
$r->print('</tr></table>'); |
} |
} |
my $tolist; |
my ($tolist,$cclist); |
my @recipients = (); |
my (@recipients,@ccs); |
for (my $i=0; $i<@{$content{'recuser'}}; $i++) { |
if (ref($content{'recuser'}) eq 'ARRAY') { |
$recipients[$i] = &Apache::loncommon::aboutmewrapper( |
for (my $i=0; $i<@{$content{'recuser'}}; $i++) { |
&Apache::loncommon::plainname($content{'recuser'}[$i], |
$recipients[$i] = &Apache::loncommon::aboutmewrapper( |
|
&Apache::loncommon::plainname($content{'recuser'}[$i], |
$content{'recdomain'}[$i]), |
$content{'recdomain'}[$i]), |
$content{'recuser'}[$i],$content{'recdomain'}[$i]). |
$content{'recuser'}[$i],$content{'recdomain'}[$i]). |
' ('.$content{'recuser'}[$i].' at '.$content{'recdomain'}[$i].') '; |
' ('.$content{'recuser'}[$i].' at '.$content{'recdomain'}[$i].') '; |
|
} |
} |
} |
$tolist = join(', ',@recipients); |
$tolist = join(', ',@recipients); |
|
if ($content{'recipid'}) { |
|
@ccs = &retrieve_cc_recips('display',%content); |
|
$cclist = join(', ',@ccs); |
|
} |
my ($restitle,$baseurl,$refers_to); |
my ($restitle,$baseurl,$refers_to); |
if (defined($content{'resource_title'})) { |
if (defined($content{'resource_title'})) { |
$restitle = $content{'resource_title'}; |
$restitle = $content{'resource_title'}; |
Line 2061 sub displaymessage {
|
Line 2102 sub displaymessage {
|
$baseurl = &Apache::lonenc::check_encrypt($content{'baseurl'}); |
$baseurl = &Apache::lonenc::check_encrypt($content{'baseurl'}); |
} |
} |
$r->print(&Apache::loncommon::student_image_tag($content{'senderdomain'},$content{'sendername'})); |
$r->print(&Apache::loncommon::student_image_tag($content{'senderdomain'},$content{'sendername'})); |
$r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}. |
$r->print('<br /><b>'.&mt('Subject').':</b> '.$content{'subject'}); |
($folder ne 'sent'?'<br /><b>'.&mt('From').':</b> '. |
if ($folder eq 'sent') { |
|
$r->print('<br /><b>'.&mt('To').':</b> '.$tolist); |
|
} else { |
|
$r->print('<br /><b>'.&mt('From').':</b> '. |
&Apache::loncommon::aboutmewrapper( |
&Apache::loncommon::aboutmewrapper( |
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}), |
&Apache::loncommon::plainname($content{'sendername'},$content{'senderdomain'}), |
$content{'sendername'},$content{'senderdomain'}).' ('. |
$content{'sendername'},$content{'senderdomain'}).' ('. |
$content{'sendername'}.' at '. |
$content{'sendername'}.' at '. |
$content{'senderdomain'}.') ':'<br /><b>'.&mt('To').':</b> '. |
$content{'senderdomain'}.') '); |
$tolist). |
if ($cclist) { |
($content{'courseid'}?'<br /><b>'.&mt($crstype).':</b> '.$courseinfo{'description'}. |
$r->print('<br /><b>'.&mt('Cc').':</b> '.$cclist); |
($content{'coursesec'}?' ('.&mt('Section').': '.$content{'coursesec'}.')':''):''). |
} |
'<br /><b>'.&mt('Time').':</b> '.$content{'time'}); |
} |
|
if ($content{'courseid'}) { |
|
$r->print('<br /><b>'.&mt($crstype).':</b> '.$courseinfo{'description'}); |
|
if ($content{'coursesec'}) { |
|
$r->print(' ('.&mt('Section').': '.$content{'coursesec'}.')'); |
|
} |
|
} |
|
$r->print('<br /><b>'.&mt('Time').':</b> '.$content{'time'}); |
if ($baseurl) { |
if ($baseurl) { |
if (defined($content{'courseid'}) && defined($env{'request.course.id'})) { |
if (defined($content{'courseid'}) && defined($env{'request.course.id'})) { |
if ($content{'courseid'} eq $env{'request.course.id'}) { |
if ($content{'courseid'} eq $env{'request.course.id'}) { |
Line 2124 sub displaymessage {
|
Line 2175 sub displaymessage {
|
return; |
return; |
} |
} |
|
|
|
sub retrieve_cc_recips { |
|
my ($context,%content) = @_; |
|
my %reciphash = |
|
&Apache::lonnet::get('nohist_emailrecip',[$content{'recipid'}], |
|
$content{'senderdomain'},$content{'sendername'}); |
|
my $recipinfo = $reciphash{$content{'recipid'}}; |
|
my @ccs; |
|
if (ref($recipinfo) eq 'HASH') { |
|
if (ref($recipinfo->{'cc'}) eq 'HASH') { |
|
foreach my $cc (sort(keys(%{$recipinfo->{'cc'}}))) { |
|
my ($ccname,$ccdom) = split(/:/,$cc); |
|
if (!(($ccname eq $env{'user.name'}) && |
|
($ccdom eq $env{'user.domain'}))) { |
|
my $showcc ='<span class="LC_nobreak">'; |
|
if ($context eq 'replying') { |
|
$showcc = '<label><input type="checkbox" name="replying_cc" value="'.$cc.'" />'; |
|
} |
|
$showcc .= &Apache::loncommon::aboutmewrapper( |
|
&Apache::loncommon::plainname($ccname, |
|
$ccdom),$ccname,$ccdom); |
|
if ($context eq 'replying') { |
|
$showcc .='</label>'; |
|
} |
|
$showcc .= '</span>'; |
|
push(@ccs,$showcc); |
|
} |
|
} |
|
} |
|
} |
|
return @ccs; |
|
} |
|
|
# =========================================================== Show the citation |
# =========================================================== Show the citation |
|
|
sub displayresource { |
sub displayresource { |
Line 2271 sub sendoffmail {
|
Line 2354 sub sendoffmail {
|
&Apache::loncommon::get_env_multiple('form.selectedusers_forminput'); |
&Apache::loncommon::get_env_multiple('form.selectedusers_forminput'); |
my $mode = $env{'form.sendmode'}; |
my $mode = $env{'form.sendmode'}; |
|
|
my %toaddr; |
my (%toaddr,$cc,$bcc); |
if (@to) { |
if (@to) { |
foreach my $dest (@to) { |
foreach my $dest (@to) { |
my ($user,$domain) = split(/:/, $dest); |
my ($user,$domain) = split(/:/, $dest); |
Line 2301 sub sendoffmail {
|
Line 2384 sub sendoffmail {
|
} else { |
} else { |
if (($env{'form.recuname'} ne '') && ($env{'form.recdomain'} ne '')) { |
if (($env{'form.recuname'} ne '') && ($env{'form.recdomain'} ne '')) { |
$toaddr{$env{'form.recuname'}.':'.$env{'form.recdomain'}}=''; |
$toaddr{$env{'form.recuname'}.':'.$env{'form.recdomain'}}=''; |
|
$cc->{$env{'form.recuname'}.':'.$env{'form.recdomain'}}=''; |
} |
} |
} |
} |
if ($env{'form.additionalrec'}) { |
if ($env{'form.additionalrec_cc'}) { |
foreach my $rec (split(/\s*,\s*/,$env{'form.additionalrec'})) { |
foreach my $rec (split(/\s*,\s*/,$env{'form.additionalrec_cc'})) { |
my ($auname,$audom)=split(/:/,$rec); |
my ($auname,$audom)=split(/:/,$rec); |
if (($auname ne "") && ($audom ne "")) { |
if (($auname ne "") && ($audom ne "")) { |
$toaddr{$auname.':'.$audom}=''; |
$toaddr{$auname.':'.$audom}=''; |
|
$cc->{$auname.':'.$audom}=''; |
} |
} |
} |
} |
} |
} |
|
if ($env{'form.additionalrec_bcc'}) { |
|
foreach my $rec (split(/\s*,\s*/,$env{'form.additionalrec_bcc'})) { |
|
my ($auname,$audom)=split(/:/,$rec); |
|
if (($auname ne "") && ($audom ne "")) { |
|
$toaddr{$auname.':'.$audom}=''; |
|
$bcc->{$auname.':'.$audom}=''; |
|
} |
|
} |
|
} |
|
if ($env{'form.replying_cc'}) { |
|
my @ccreplies = |
|
&Apache::loncommon::get_env_multiple('form.replying_cc'); |
|
foreach my $rec (@ccreplies) { |
|
my ($auname,$audom)=split(/:/,$rec); |
|
if (($auname ne "") && ($audom ne "")) { |
|
$toaddr{$auname.':'.$audom}=''; |
|
$cc->{$auname.':'.$audom}=''; |
|
} |
|
} |
|
} |
my $savemsg; |
my $savemsg; |
my $msgtype; |
my $msgtype; |
my %sentmessage; |
my %sentmessage; |
Line 2327 sub sendoffmail {
|
Line 2431 sub sendoffmail {
|
} else { |
} else { |
$savemsg=&Apache::lonfeedback::clear_out_html($env{'form.message'}); |
$savemsg=&Apache::lonfeedback::clear_out_html($env{'form.message'}); |
} |
} |
|
my %reciphash = ( |
|
cc => $cc, |
|
bcc => $bcc, |
|
); |
|
my ($recipid,$recipstatus) = |
|
&Apache::lonmsg::store_recipients($msgsubj,$env{'user.name'}, |
|
$env{'user.domain'},\%reciphash); |
|
if ($recipstatus ne 'ok') { |
|
&Apache::lonnet::logthis('Failed to store Bcc and Cc recipients for '.$env{'user.name'}.':'.$env{'user.domain'}); |
|
} |
my @recusers; |
my @recusers; |
my @recudoms; |
my @recudoms; |
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; |
if ($toaddr{$address}) { $msgtxt.='<hr />'.$toaddr{$address}; } |
if ($toaddr{$address}) { |
|
$msgtxt.='<hr />'.$toaddr{$address}; |
|
} |
my @thismsg; |
my @thismsg; |
if ($msgtype eq 'critical') { |
if ($msgtype eq 'critical') { |
$r->print(&mt('Sending critical message').' '. |
$r->print(&mt('Sending critical message').' '. |
Line 2343 sub sendoffmail {
|
Line 2459 sub sendoffmail {
|
$env{'form.sendbck'}, |
$env{'form.sendbck'}, |
$env{'form.permanent'}, |
$env{'form.permanent'}, |
\$sentmessage{$address}, |
\$sentmessage{$address}, |
$nosentstore); |
$nosentstore,$recipid); |
} else { |
} else { |
$r->print(&mt('Sending').' '.$recuname.':'.$recdomain.': '); |
$r->print(&mt('Sending').' '.$recuname.':'.$recdomain.': '); |
@thismsg= |
@thismsg= |
Line 2354 sub sendoffmail {
|
Line 2470 sub sendoffmail {
|
$env{'form.permanent'}, |
$env{'form.permanent'}, |
\$sentmessage{$address}, |
\$sentmessage{$address}, |
undef,undef,undef, |
undef,undef,undef, |
$nosentstore); |
$nosentstore,$recipid); |
} |
} |
$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)/) { |
Line 2528 sub handler {
|
Line 2644 sub handler {
|
&printheader($r,'','Confirmed Receipt'); |
&printheader($r,'','Confirmed Receipt'); |
my $replying = 0; |
my $replying = 0; |
foreach my $envkey (keys(%env)) { |
foreach my $envkey (keys(%env)) { |
if ($envkey=~/^form\.rec\_(.*)$/) { |
if ($envkey=~/^form\.(rep)?rec\_(.*)$/) { |
$r->print('<b>'.&mt('Confirming Receipt').':</b> '. |
my $msgid = $2; |
&Apache::lonmsg::user_crit_received($1).'<br>'); |
$r->print('<b>'.&mt('Confirming Receipt').':</b> '); |
} |
my $result = &Apache::lonmsg::user_crit_received($msgid); |
if ($envkey=~/^form\.reprec\_(.*)$/) { |
if ($result =~ /trans:\s+ok/) { |
my $msgid=$1; |
&statuschange($msgid,'read'); |
$r->print('<b>'.&mt('Confirming Receipt').':</b> '. |
} |
&Apache::lonmsg::user_crit_received($msgid).'<br>'); |
$r->print($result.'<br />'); |
&compout($r,'','','',$msgid); |
if ($1 eq 'rep') { |
$replying = 1; |
&compout($r,'','','',$msgid); |
|
$replying = 1; |
|
} |
} |
} |
} |
} |
if (!$replying) { |
if (!$replying) { |