version 1.370.2.5.2.1, 2021/12/31 20:39:00
|
version 1.380, 2019/03/02 23:40:43
|
Line 118 sub list_discussion {
|
Line 118 sub list_discussion {
|
$outputtarget = 'export'; |
$outputtarget = 'export'; |
} |
} |
} |
} |
my ($nofooter,$nodisclink,$nofdbklink); |
|
if (not &discussion_visible($status)) { |
if (not &discussion_visible($status)) { |
if ($mode ne 'board') { |
if ($mode ne 'board') { |
($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); |
&Apache::lonenc::check_encrypt(\$ressymb); |
if ($nofooter || $nofdbklink) { |
return '<br /><div class="LC_feedback_link">'.&send_message_link($ressymb)."</div>"; |
return '<br />'; |
|
} else { |
|
&Apache::lonenc::check_encrypt(\$ressymb); |
|
return '<br /><div class="LC_feedback_link">'.&send_message_link($ressymb)."</div>"; |
|
} |
|
} |
} |
} |
} |
if ($group ne '' && $mode eq 'board') { |
if ($group ne '' && $mode eq 'board') { |
Line 136 sub list_discussion {
|
Line 130 sub list_discussion {
|
} |
} |
} |
} |
|
|
unless ($outputtarget eq 'export') { |
my ($blocked,$blocktext) = |
($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); |
&Apache::loncommon::blocking_status('boards'); |
} |
if ($blocked) { |
|
$blocktext = '<br /><div class="LC_feedback_link"><span class="LC_feedback_link">'.$blocktext."</span>"; |
unless ($nofooter) { |
&Apache::lonenc::check_encrypt(\$ressymb); |
my ($blocked,$blocktext) = |
if ($mode ne 'board') { |
&Apache::loncommon::blocking_status('boards'); |
$blocktext.=&send_message_link($ressymb).'</div>'; |
if ($blocked) { |
}else{ |
my $footer = '<br /><div class="LC_feedback_link">'; |
$blocktext.="</div>"; |
unless ($nodisclink) { |
|
$footer .= '<span class="LC_feedback_link">'.$blocktext.'</span>'; |
|
} |
|
&Apache::lonenc::check_encrypt(\$ressymb); |
|
if ($mode ne 'board') { |
|
unless ($nofdbklink) { |
|
$footer.=&send_message_link($ressymb); |
|
} |
|
} |
|
$footer.='</div>'; |
|
return $footer; |
|
} |
} |
|
return $blocktext; |
} |
} |
|
|
my @bgcols = ("LC_disc_old_item","LC_disc_new_item"); |
my @bgcols = ("LC_disc_old_item","LC_disc_new_item"); |
Line 790 END
|
Line 774 END
|
&mt('This discussion is closed.').'</span>'; |
&mt('This discussion is closed.').'</span>'; |
} |
} |
} elsif ($outputtarget ne 'tex') { |
} elsif ($outputtarget ne 'tex') { |
unless ($nofooter) { |
$discussion.='<div class="LC_feedback_link">'; |
$discussion.='<div class="LC_feedback_link">'; |
if (&discussion_open($status) && |
unless ($nodisclink) { |
&Apache::lonnet::allowed('pch', |
if (&discussion_open($status) && |
$env{'request.course.id'}. |
&Apache::lonnet::allowed('pch', |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
$env{'request.course.id'}. |
$discussion.= &send_feedback_link($ressymb); |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
if ($env{'request.role.adv'}) { |
$discussion.= &send_feedback_link($ressymb); |
my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb); |
if ($env{'request.role.adv'}) { |
my $canvote = &Apache::lonnet::EXT('resource.0.discussvote',$ressymb); |
my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb); |
if (defined($close) && $close ne '' && $close < time) { |
my $canvote = &Apache::lonnet::EXT('resource.0.discussvote',$ressymb); |
if ($canvote eq 'notended') { |
if (defined($close) && $close ne '' && $close < time) { |
$discussion .= ' '.&mt('(Posting and voting closed for [_1] roles)', |
if ($canvote eq 'notended') { |
&Apache::lonnet::plaintext('st',$crstype)); |
$discussion .= ' '.&mt('(Posting and voting closed for [_1] roles)', |
} else { |
&Apache::lonnet::plaintext('st',$crstype)); |
$discussion .= ' '.&mt('(Closed for [_1] roles)', |
} else { |
&Apache::lonnet::plaintext('st',$crstype)); |
$discussion .= ' '.&mt('(Closed for [_1] roles)', |
|
&Apache::lonnet::plaintext('st',$crstype)); |
|
} |
|
} |
|
} |
} |
} else { |
|
$discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>'; |
|
} |
} |
} |
} |
unless ($nofdbklink) { |
} else { |
$discussion.= &send_message_link($ressymb); |
$discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>'; |
} |
|
$discussion.='</div>'; |
|
} |
} |
|
$discussion.= &send_message_link($ressymb).'</div>'; |
} |
} |
return $discussion; |
return $discussion; |
} |
} |
|
|
sub check_menucoll { |
|
my ($nofooter,$nodisclink,$nofdbklink); |
|
my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect(); |
|
if ($menucoll) { |
|
if (ref($menuref) eq 'HASH') { |
|
if ($menuref->{'foot'} eq 'n') { |
|
$nofooter = 1; |
|
} else { |
|
unless ($menuref->{'disc'}) { |
|
$nodisclink = 1; |
|
} |
|
unless ($menuref->{'fdbk'}) { |
|
$nofdbklink = 1; |
|
} |
|
} |
|
} |
|
} |
|
return ($nofooter,$nodisclink,$nofdbklink); |
|
} |
|
|
|
sub can_see_hidden { |
sub can_see_hidden { |
my ($mode,$ressymb,$feedurl,$group,$cdom,$cnum,$crs) = @_; |
my ($mode,$ressymb,$feedurl,$group,$cdom,$cnum,$crs) = @_; |
my $seehidden; |
my $seehidden; |
Line 1003 sub postingform_display {
|
Line 960 sub postingform_display {
|
} |
} |
} |
} |
} |
} |
|
my $postanon; |
|
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
|
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
|
$postanon = '<input type="submit" name="anondiscuss" value="'.$lt{'poan'}.'" />'; |
|
} |
$postingform .= (<<ENDDISCUSS); |
$postingform .= (<<ENDDISCUSS); |
<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" /> |
<form action="/adm/feedback" method="post" name="mailform" enctype="multipart/form-data"> <input type="submit" name="discuss" value="$lt{'podi'}" /> |
<input type="submit" name="anondiscuss" value="$lt{'poan'}" /> <input type="hidden" name="symb" value="$ressymb" /> |
$postanon<input type="hidden" name="symb" value="$ressymb" /> |
<input type="hidden" name="sendit" value="true" /> |
<input type="hidden" name="sendit" value="true" /> |
<input type="hidden" name="timestamp" value="$now" /> |
<input type="hidden" name="timestamp" value="$now" /> |
<a name="newpost"></a> |
<a name="newpost"></a> |
Line 2098 END
|
Line 2060 END
|
} else { |
} else { |
$r->print(<<END); |
$r->print(<<END); |
<p> |
<p> |
$lt{'atta'} $attachmaxtext: <input type="file" name="attachment" class="LC_flUpload" /> |
$lt{'atta'} $attachmaxtext: <input type="file" name="attachment" class="flUpload" /> |
<input type="hidden" id="LC_free_space" value="131072" /> |
<input type="hidden" id="free_space" value="131072" /> |
</p> |
</p> |
END |
END |
} |
} |
Line 2110 END
|
Line 2072 END
|
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.'" />'); |
$r->print('<input type="hidden" name="ref" value="'.$env{'form.ref'}.'" />'); |
} |
} |
$r->print(<<END); |
$r->print(<<END); |
<input type="hidden" name="sendit" value="1" /> |
<input type="hidden" name="sendit" value="1" /><br /><br /> |
<input type="button" value="$send" onclick='gosubmit();' /> |
<input type="button" value="$send" onclick='gosubmit();' /> |
</form> |
</form> |
END |
END |
Line 2875 sub redirect_back {
|
Line 2837 sub redirect_back {
|
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page('Feedback sent',undef,\%parms); |
&Apache::loncommon::start_page('Feedback sent',undef,\%parms); |
my $end_page = &Apache::loncommon::end_page(); |
my $end_page = &Apache::loncommon::end_page(); |
|
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
$r->print(<<ENDREDIR); |
$r->print(<<ENDREDIR); |
$start_page |
$start_page |
<img align="right" src="$logo" /> |
<img align="right" src="$logo" /> |
Line 2883 $typestyle
|
Line 2849 $typestyle
|
$blog |
$blog |
$toolarge |
$toolarge |
<font color="red">$status</font> |
<font color="red">$status</font> |
<form name="reldt" action="$feedurl" target="loncapaclient"> |
<form name="reldt" action="$feedurl" target="$windowname"> |
$prevtag |
$prevtag |
$sorttag |
$sorttag |
$statustag |
$statustag |
Line 2985 sub screen_header {
|
Line 2951 sub screen_header {
|
$env{'request.course.id'}. |
$env{'request.course.id'}. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')) || |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:'')) || |
(($group ne '') && ($symb =~ m{^bulletin___\d+___adm/wrapper/adm/\Q$cdom\E/\Q$cnum\E/\d+/bulletinboard$}) && (&check_group_priv($group,'pgd') eq 'ok')))) { |
(($group ne '') && ($symb =~ m{^bulletin___\d+___adm/wrapper/adm/\Q$cdom\E/\Q$cnum\E/\d+/bulletinboard$}) && (&check_group_priv($group,'pgd') eq 'ok')))) { |
$discussoptions='<label><input type="radio" name="discuss" value="nonanon" checked="checked" /> '. |
$discussoptions='<label><input type="radio" name="discuss" value="nonanon" checked="checked" /> '. |
$contribdisc. |
$contribdisc. |
'</label><br /><label><input type="radio" name="discuss" value="anon" /> '. |
'</label>'; |
$anoncontrib. |
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
' <i>('.$namevis.')</i></label> '. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
$discussoptions .= '<br /><label><input type="radio" name="discuss" value="anon" /> '. |
|
$anoncontrib. |
|
' <i>('.$namevis.')</i></label> '. |
|
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
|
} |
my $blockblog = &Apache::loncommon::blocking_status('blogs'); |
my $blockblog = &Apache::loncommon::blocking_status('blogs'); |
if (!$blockblog) { |
if (!$blockblog) { |
$discussoptions.= &add_blog_checkbox($crstype); |
$discussoptions.= &add_blog_checkbox($crstype); |
Line 3213 sub adddiscuss {
|
Line 3183 sub adddiscuss {
|
if (($symb) && ($email)) { |
if (($symb) && ($email)) { |
my $now = time; |
my $now = time; |
if ($env{'form.editdisc'}) { |
if ($env{'form.editdisc'}) { |
$contrib{'ip'}=&Apache::lonnet::get_requestor_ip(); |
$contrib{'ip'}=$ENV{'REMOTE_ADDR'}; |
$contrib{'host'}=$Apache::lonnet::perlvar{'lonHostID'}; |
$contrib{'host'}=$Apache::lonnet::perlvar{'lonHostID'}; |
$contrib{'timestamp'} = $now; |
$contrib{'timestamp'} = $now; |
$contrib{'history'} = ''; |
$contrib{'history'} = ''; |
Line 3547 sub modify_attachments {
|
Line 3517 sub modify_attachments {
|
document.modattachments.action = document.modattachments.origpage.value; |
document.modattachments.action = document.modattachments.origpage.value; |
document.modattachments.submit(); |
document.modattachments.submit(); |
} |
} |
</script> |
</script> |
<script type="text/javascript" src="/res/adm/includes/file_upload.js"></script> |
<script type="text/javascript" src="/res/adm/includes/file_upload.js"></script> |
END |
END |
|
|
Line 3590 END
|
Line 3560 END
|
$r->print('<b>'.$subject.'</b>'); |
$r->print('<b>'.$subject.'</b>'); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_title($lt{'adda'})); |
$r->print(&Apache::lonhtmlcommon::row_title($lt{'adda'})); |
$r->print('<input type="file" name="addnewattach" class="LC_flUpload" />' |
$r->print('<input type="file" name="addnewattach" class="flUpload" />' |
.'<input type="hidden" id="LC_free_space" value="131072" />' |
.'<input type="hidden" id="free_space" value="131072" />' |
.'<input type="button" name="upload" value="Upload" ' |
.'<input type="button" name="upload" value="Upload" ' |
.'onclick="this.form.submit()" /> '.$attachmaxtext); |
.'onclick="this.form.submit()" /> '.$attachmaxtext); |
if(($idx)||(ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)){ |
if(($idx)||(ref($currnewattach) eq 'ARRAY') && (@{$currnewattach} > 0)){ |
Line 4078 sub handler {
|
Line 4048 sub handler {
|
'only_body' => 1, |
'only_body' => 1, |
'add_entries' => \%onload}); |
'add_entries' => \%onload}); |
my $end_page = &Apache::loncommon::end_page(); |
my $end_page = &Apache::loncommon::end_page(); |
|
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
$r->print (<<ENDREDIR); |
$r->print (<<ENDREDIR); |
$start_page |
$start_page |
<img align="right" src="$logo" /> |
<img align="right" src="$logo" /> |
$textline |
$textline |
<form name="reldt" action="$feedurl" target="loncapaclient"> |
<form name="reldt" action="$feedurl" target="$windowname"> |
</form> |
</form> |
<br /> |
<br /> |
$end_page |
$end_page |
Line 4584 ENDREDIR
|
Line 4558 ENDREDIR
|
|| |
|| |
($env{'request.course.id'} && ($symb=~/^bulletin\_\_\_/)) |
($env{'request.course.id'} && ($symb=~/^bulletin\_\_\_/)) |
|| |
|| |
(($env{'request.course.id'}) && ($feedurl =~ /ext\.tool$/)) |
(($env{'request.course.id'} && ($feedurl =~ /ext\.tool$/))) |
) { |
) { |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
Line 4686 ENDREDIR
|
Line 4660 ENDREDIR
|
&& $env{'form.discuss'} !~ /^(?:author|question|course|policy)/) |
&& $env{'form.discuss'} !~ /^(?:author|question|course|policy)/) |
|| $env{'form.anondiscuss'} ne '') { |
|| $env{'form.anondiscuss'} ne '') { |
my $subject = &clear_out_html($env{'form.subject'}); |
my $subject = &clear_out_html($env{'form.subject'}); |
my $anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} ); |
my $anonmode; |
|
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
|
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
|
$anonmode=($env{'form.discuss'} eq 'anon' || $env{'form.anondiscuss'} ); |
|
} |
$typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl, |
$typestyle.=&adddiscuss($symb,$message,$anonmode,$attachmenturl, |
$subject,$group); |
$subject,$group); |
$numpost++; |
$numpost++; |