version 1.383, 2019/08/12 16:45:48
|
version 1.388, 2022/01/18 16:55:30
|
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') { |
&Apache::lonenc::check_encrypt(\$ressymb); |
($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); |
return '<br /><div class="LC_feedback_link">'.&send_message_link($ressymb)."</div>"; |
if ($nofooter || $nofdbklink) { |
|
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 130 sub list_discussion {
|
Line 136 sub list_discussion {
|
} |
} |
} |
} |
|
|
my ($blocked,$blocktext) = |
unless ($outputtarget eq 'export') { |
&Apache::loncommon::blocking_status('boards'); |
($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); |
if ($blocked) { |
} |
$blocktext = '<br /><div class="LC_feedback_link"><span class="LC_feedback_link">'.$blocktext."</span>"; |
|
&Apache::lonenc::check_encrypt(\$ressymb); |
unless ($nofooter) { |
if ($mode ne 'board') { |
my ($blocked,$blocktext) = |
$blocktext.=&send_message_link($ressymb).'</div>'; |
&Apache::loncommon::blocking_status('boards'); |
}else{ |
if ($blocked) { |
$blocktext.="</div>"; |
my $footer = '<br /><div class="LC_feedback_link">'; |
|
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 774 END
|
Line 790 END
|
&mt('This discussion is closed.').'</span>'; |
&mt('This discussion is closed.').'</span>'; |
} |
} |
} elsif ($outputtarget ne 'tex') { |
} elsif ($outputtarget ne 'tex') { |
$discussion.='<div class="LC_feedback_link">'; |
unless ($nofooter) { |
if (&discussion_open($status) && |
$discussion.='<div class="LC_feedback_link">'; |
&Apache::lonnet::allowed('pch', |
unless ($nodisclink) { |
$env{'request.course.id'}. |
if (&discussion_open($status) && |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
&Apache::lonnet::allowed('pch', |
$discussion.= &send_feedback_link($ressymb); |
$env{'request.course.id'}. |
if ($env{'request.role.adv'}) { |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb); |
$discussion.= &send_feedback_link($ressymb); |
my $canvote = &Apache::lonnet::EXT('resource.0.discussvote',$ressymb); |
if ($env{'request.role.adv'}) { |
if (defined($close) && $close ne '' && $close < time) { |
my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb); |
if ($canvote eq 'notended') { |
my $canvote = &Apache::lonnet::EXT('resource.0.discussvote',$ressymb); |
$discussion .= ' '.&mt('(Posting and voting closed for [_1] roles)', |
if (defined($close) && $close ne '' && $close < time) { |
&Apache::lonnet::plaintext('st',$crstype)); |
if ($canvote eq 'notended') { |
} else { |
$discussion .= ' '.&mt('(Posting and voting closed for [_1] roles)', |
$discussion .= ' '.&mt('(Closed for [_1] roles)', |
&Apache::lonnet::plaintext('st',$crstype)); |
&Apache::lonnet::plaintext('st',$crstype)); |
} else { |
|
$discussion .= ' '.&mt('(Closed for [_1] roles)', |
|
&Apache::lonnet::plaintext('st',$crstype)); |
|
} |
|
} |
} |
} |
|
} else { |
|
$discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>'; |
} |
} |
} |
} |
} else { |
unless ($nofdbklink) { |
$discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>'; |
$discussion.= &send_message_link($ressymb); |
|
} |
|
$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 2708 sub get_post_attachments {
|
Line 2751 sub get_post_attachments {
|
$$attachments{'0'}{'filename'} = $attachmenturls; |
$$attachments{'0'}{'filename'} = $attachmenturls; |
$$attachments{'0'}{'0'} = 'n'; |
$$attachments{'0'}{'0'} = 'n'; |
} |
} |
|
|
return; |
return; |
} |
} |
|
|
sub fail_redirect { |
sub fail_redirect { |
my ($r,$feedurl) = @_; |
my ($r,$feedurl,$delay) = @_; |
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' }; |
if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' }; |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'sorr' => 'Sorry, no recipients ...', |
'sorr' => 'Sorry, no recipients ...', |
); |
); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
$r->print(&Apache::loncommon::start_page('Feedback not sent',undef, |
my %parms=('only_body' => 1); |
{'redirect' => [2,$feedurl], |
if ($delay !~ /^\d+(|\.\d+)$/) { |
'only_body' => 1,})); |
$delay = 0; |
|
} |
|
if ($env{'form.modal'}) { |
|
my $onload = 'document.forms.reldt.submit()'; |
|
if ($delay) { |
|
my $js_delay = int(1000 * $delay); |
|
$onload = "setTimeout(function(){ |
|
document.forms.reldt.submit(); |
|
},$js_delay);"; |
|
} |
|
$parms{'add_entries'}={'onload' => $onload}; |
|
} else { |
|
$parms{'redirect'}=[$delay,$feedurl]; |
|
} |
|
$r->print(&Apache::loncommon::start_page('Feedback not sent',undef,\%parms)); |
|
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
$r->print(<<ENDFAILREDIR); |
$r->print(<<ENDFAILREDIR); |
<img align="right" src="$logo" /> |
<img align="right" src="$logo" /> |
<p class="LC_warning">$lt{'sorr'}</p> |
<p class="LC_warning">$lt{'sorr'}</p> |
|
<form name="reldt" action="$feedurl" target="$windowname"> |
|
</form> |
ENDFAILREDIR |
ENDFAILREDIR |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
} |
} |
|
|
sub redirect_back { |
sub redirect_back { |
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$blog,$status,$previous,$sort,$rolefilter,$statusfilter,$sectionpick,$grouppick,$numpicks,$group,$toolarge) = @_; |
my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$blog,$status,$previous,$sort, |
|
$rolefilter,$statusfilter,$sectionpick,$grouppick,$numpicks,$group,$toolarge) = @_; |
my $sorttag = ''; |
my $sorttag = ''; |
my $roletag = ''; |
my $roletag = ''; |
my $statustag = ''; |
my $statustag = ''; |
Line 2830 sub redirect_back {
|
Line 2893 sub redirect_back {
|
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my %parms=('only_body' => 1); |
my %parms=('only_body' => 1); |
if ($env{'form.modal'}) { |
if ($env{'form.modal'}) { |
$parms{'add_entries'}={'onLoad' => 'document.forms.reldt.submit()'}; |
my $onload = 'document.forms.reldt.submit()'; |
|
$parms{'add_entries'}={'onload' => $onload}; |
} else { |
} else { |
$parms{'redirect'}=[0,$feedurl]; |
$parms{'redirect'}=[0,$feedurl]; |
} |
} |
Line 2864 ENDREDIR
|
Line 2928 ENDREDIR
|
} |
} |
|
|
sub no_redirect_back { |
sub no_redirect_back { |
my ($r,$feedurl) = @_; |
my ($r,$feedurl,$delay) = @_; |
my $nofeed=&mt('Sorry, no feedback possible on this resource ...'); |
my $nofeed=&mt('Sorry, no feedback possible on this resource ...'); |
|
my $form_for_modal; |
my %onload; |
my %parms=('only_body' => 1, |
|
'bgcolor' => '#FFFFFF',); |
my %body_options = ('only_body' => 1, |
if ($delay !~ /^\d+(|\.\d+)$/) { |
'bgcolor' => '#FFFFFF', |
$delay = 0; |
'add_entries' => \%onload,); |
|
|
|
if ($feedurl !~ m{^/adm/feedback}) { |
|
$body_options{'redirect'} = [2,$feedurl]; |
|
} |
} |
|
if ($env{'form.modal'}) { |
|
if (($feedurl !~ m{^/adm/feedback}) && ($feedurl ne '')) { |
|
my $onload = 'document.forms.reldt.submit()'; |
|
if ($delay) { |
|
my $js_delay = int(1000 * $delay); |
|
$onload = "setTimeout(function(){ |
|
document.forms.reldt.submit(); |
|
},$js_delay);"; |
|
} |
|
$parms{'add_entries'}={'onload' => $onload}; |
|
my $windowname = 'loncapaclient'; |
|
if ($env{'request.lti.login'}) { |
|
$windowname .= 'lti'; |
|
} |
|
$form_for_modal = <<ENDFORM; |
|
<form name="reldt" action="$feedurl" target="$windowname"> |
|
</form> |
|
ENDFORM |
|
} |
|
} else { |
|
if (($feedurl !~ m{^/adm/feedback}) && ($feedurl ne '')) { |
|
$parms{'redirect'}=[$delay,$feedurl]; |
|
} |
|
} |
|
|
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page('Feedback not sent',undef, |
&Apache::loncommon::start_page('Feedback not sent',undef, |
\%body_options); |
\%parms); |
|
|
my $end_page = &Apache::loncommon::end_page(); |
my $end_page = &Apache::loncommon::end_page(); |
|
|
&Apache::lonenc::check_encrypt(\$feedurl); |
|
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
$r->print (<<ENDNOREDIRTWO); |
$r->print (<<ENDNOREDIRTWO); |
$start_page |
$start_page |
<img align="right" src="$logo" /> |
<img align="right" src="$logo" /> |
<b>$nofeed</b> |
<b>$nofeed</b> |
<br /> |
<br /> |
|
$form_for_modal |
$end_page |
$end_page |
ENDNOREDIRTWO |
ENDNOREDIRTWO |
} |
} |
|
|
sub screen_header { |
sub screen_header { |
my ($feedurl,$symb,$group) = @_; |
my ($feedurl,$symb,$group) = @_; |
my $crscontent = &mt('Question/Comment/Feedback about course content'); |
my %default = &Apache::lonlocal::texthash ( |
my $crspolicy = &mt('Question/Comment/Feedback about course policy'); |
question => 'Question about resource content', |
|
comment => 'Question/Comment/Feedback about course content', |
|
policy => 'Question/Comment/Feedback about course policy', |
|
); |
my $contribdisc = &mt('Contribution to course discussion of resource'); |
my $contribdisc = &mt('Contribution to course discussion of resource'); |
my $anoncontrib = &mt('Anonymous contribution to course discussion of resource'); |
my $anoncontrib = &mt('Anonymous contribution to course discussion of resource'); |
my $namevis = &mt('name only visible to course faculty'); |
my $namevis = &mt('name only visible to course faculty'); |
Line 2904 sub screen_header {
|
Line 2992 sub screen_header {
|
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$crstype = &Apache::loncommon::course_type(); |
$crstype = &Apache::loncommon::course_type(); |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$crscontent = &mt('Question/Comment/Feedback about community content'); |
$default{'comment'} = &mt('Question/Comment/Feedback about community content'); |
$crspolicy = &mt('Question/Comment/Feedback about community policy'); |
$default{'policy'} = &mt('Question/Comment/Feedback about community policy'); |
$contribdisc = &mt('Contribution to community discussion of resource'); |
$contribdisc = &mt('Contribution to community discussion of resource'); |
$anoncontrib = &mt('Anonymous contribution to community discussion of resource'); |
$anoncontrib = &mt('Anonymous contribution to community discussion of resource'); |
$namevis = &mt('name only visible to community facilitators'); |
$namevis = &mt('name only visible to community facilitators'); |
Line 2913 sub screen_header {
|
Line 3001 sub screen_header {
|
} |
} |
my $msgoptions=''; |
my $msgoptions=''; |
my $discussoptions=''; |
my $discussoptions=''; |
|
my $checkradio = ''; |
|
my $blockblog; |
|
my (%fdbkoptions,%discoptions); |
unless (($env{'form.replydisc'}) || ($env{'form.editdisc'})) { |
unless (($env{'form.replydisc'}) || ($env{'form.editdisc'})) { |
if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/) && ($env{'user.adv'})) { |
if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/) && ($env{'user.adv'})) { |
$msgoptions= |
$fdbkoptions{'author'} = 1; |
'<label><input type="radio" name="discuss" value="author" /> '. |
} |
&mt('Feedback to resource author').'</label><br />'; |
if (&feedback_available(1)) { |
} |
$fdbkoptions{'question'} = 1; |
my %optionhash=(); |
} |
foreach my $type ('question','comment','policy') { |
if (&feedback_available(0,1)) { |
$optionhash{$type}=$env{'course.'.$env{'request.course.id'}.'.'.$type.'.email.text'}; |
$fdbkoptions{'course'} = 1; |
} |
} |
if (&feedback_available(1)) { |
if (&feedback_available(0,0,1)) { |
$msgoptions.= |
$fdbkoptions{'policy'} = 1; |
'<label><input type="radio" name="discuss" value="question" /> '. |
} |
($optionhash{'question'}?$optionhash{'question'}:&mt('Question about resource content')).'</label><br />'; |
|
} |
|
if (&feedback_available(0,1)) { |
|
$msgoptions.= |
|
'<label><input type="radio" name="discuss" value="course" /> '. |
|
($optionhash{'comment'}?$optionhash{'comment'}:$crscontent). |
|
'</label><br />'; |
|
} |
|
if (&feedback_available(0,0,1)) { |
|
$msgoptions.= |
|
'<label><input type="radio" name="discuss" value="policy" /> '. |
|
($optionhash{'policy'}?$optionhash{'policy'}:$crspolicy). |
|
'</label><br />'; |
|
} |
|
} |
} |
if (($env{'request.course.id'}) && (!$env{'form.sendmessageonly'})) { |
if (($env{'request.course.id'}) && (!$env{'form.sendmessageonly'})) { |
my ($blocked,$blocktext) = &Apache::loncommon::blocking_status('boards'); |
my ($blocked,$blocktext) = &Apache::loncommon::blocking_status('boards'); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
my $realsymb = &get_realsymb($symb); |
my $realsymb = &get_realsymb($symb); |
if (!$blocked && &discussion_open(undef,$realsymb) && |
if (!$blocked && &discussion_open(undef,$realsymb) && |
(&Apache::lonnet::allowed('pch', |
(&Apache::lonnet::allowed('pch', |
$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" /> '. |
$discoptions{'nonanon'} = 1; |
$contribdisc. |
|
'</label>'; |
|
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
if (&Apache::lonnet::allowed('pac',$env{'request.course.id'}. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
$discussoptions .= '<br /><label><input type="radio" name="discuss" value="anon" /> '. |
$discoptions{'anon'} = 1; |
$anoncontrib. |
|
' <i>('.$namevis.')</i></label> '. |
|
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
|
} |
|
my $blockblog = &Apache::loncommon::blocking_status('blogs'); |
|
if (!$blockblog) { |
|
$discussoptions.= &add_blog_checkbox($crstype); |
|
} |
} |
|
$blockblog = &Apache::loncommon::blocking_status('blogs'); |
|
} |
|
} |
|
my $total = scalar(keys(%fdbkoptions)) + scalar(keys(%discoptions)); |
|
return if (!$total); |
|
if ($total == 1) { |
|
$checkradio = ' checked="checked"'; |
|
} |
|
if (keys(%fdbkoptions)) { |
|
if ($fdbkoptions{'author'}) { |
|
$msgoptions = |
|
'<label><input type="radio" name="discuss" value="author"'.$checkradio.' /> '. |
|
&mt('Feedback to resource author').'</label><br />'; |
|
} |
|
foreach my $item ('question','comment','policy') { |
|
my $type = $item; |
|
if ($item eq 'comment') { |
|
$type = 'course'; |
|
} |
|
my $optionhash=$env{'course.'.$env{'request.course.id'}.'.'.$item.'.email.text'}; |
|
if ($fdbkoptions{$type}) { |
|
$msgoptions .= |
|
'<label><input type="radio" name="discuss" value="'.$type.'"'.$checkradio.' />'. |
|
($optionhash?$optionhash:$default{$item}).'</label><br />'; |
|
} |
|
} |
|
} |
|
if (keys(%discoptions)) { |
|
if ($discoptions{'nonanon'}) { |
|
$discussoptions='<label><input type="radio" name="discuss" value="nonanon" checked="checked" /> '. |
|
$contribdisc. |
|
'</label>'; |
|
} |
|
if ($discoptions{'anon'}) { |
|
$discussoptions .= '<br /><label><input type="radio" name="discuss" value="anon"'.$checkradio.' /> '. |
|
$anoncontrib. |
|
' <i>('.$namevis.')</i></label> '. |
|
'<a href="/adm/preferences?action=changescreenname">'.&mt('Change Screenname').'</a>'; |
|
} |
|
if (!$blockblog) { |
|
$discussoptions.= &add_blog_checkbox($crstype); |
} |
} |
} |
} |
if ($msgoptions) { |
if ($msgoptions) { |
Line 3183 sub adddiscuss {
|
Line 3292 sub adddiscuss {
|
if (($symb) && ($email)) { |
if (($symb) && ($email)) { |
my $now = time; |
my $now = time; |
if ($env{'form.editdisc'}) { |
if ($env{'form.editdisc'}) { |
$contrib{'ip'}=$ENV{'REMOTE_ADDR'}; |
$contrib{'ip'}=&Apache::lonnet::get_requestor_ip(); |
$contrib{'host'}=$Apache::lonnet::perlvar{'lonHostID'}; |
$contrib{'host'}=$Apache::lonnet::perlvar{'lonHostID'}; |
$contrib{'timestamp'} = $now; |
$contrib{'timestamp'} = $now; |
$contrib{'history'} = ''; |
$contrib{'history'} = ''; |
Line 3904 sub handler {
|
Line 4013 sub handler {
|
my $symb=(split(/\:\:\:/,$env{'form.editdisc'}))[0]; |
my $symb=(split(/\:\:\:/,$env{'form.editdisc'}))[0]; |
my ($map,$id,$url)=&Apache::lonnet::decode_symb($symb); |
my ($map,$id,$url)=&Apache::lonnet::decode_symb($symb); |
my $feedurl=&Apache::lonnet::clutter($url); |
my $feedurl=&Apache::lonnet::clutter($url); |
&redirect_back($r,$feedurl,&mt('Editing not permitted').'<br />', '0','0','','',$env{'form.previous'},undef,undef,undef, |
&redirect_back($r,$feedurl,&mt('Editing not permitted').'<br />', |
undef,undef,undef,$group); |
'0','0','','',$env{'form.previous'},undef,undef,undef, |
|
undef,undef,undef,$group); |
return OK; |
return OK; |
} |
} |
} |
} |
Line 4116 ENDREDIR
|
Line 4226 ENDREDIR
|
unless (($seehidden) || (&editing_allowed($env{'form.hide'},$group))) { |
unless (($seehidden) || (&editing_allowed($env{'form.hide'},$group))) { |
&redirect_back($r,$feedurl,&mt('Hiding not permitted').'<br />', |
&redirect_back($r,$feedurl,&mt('Hiding not permitted').'<br />', |
'0','0','','',$env{'form.previous'},'','','','', |
'0','0','','',$env{'form.previous'},'','','','', |
undef,undef,$group,); |
undef,undef,$group); |
return OK; |
return OK; |
} |
} |
|
|
Line 4548 ENDREDIR
|
Line 4658 ENDREDIR
|
$r->internal_redirect('/adm/ambiguous'); |
$r->internal_redirect('/adm/ambiguous'); |
return OK; |
return OK; |
} |
} |
|
if ($feedurl eq '') { |
|
&Apache::loncommon::content_type($r,'text/html'); |
|
$r->send_http_header; |
|
&no_redirect_back($r); |
|
return OK; |
|
} |
# Go ahead with feedback, no ambiguous reference |
# Go ahead with feedback, no ambiguous reference |
unless ( |
unless ( |
( |
( |
Line 4558 ENDREDIR
|
Line 4674 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; |
# Unable to give feedback |
# Unable to give feedback |
&Apache::lonenc::check_encrypt(\$feedurl); |
&Apache::lonenc::check_encrypt(\$feedurl); |
&no_redirect_back($r,$feedurl); |
&no_redirect_back($r,$feedurl,2); |
return OK; |
return OK; |
} |
} |
# --------------------------------------------------- Print login screen header |
# --------------------------------------------------- Print login screen header |
Line 4584 ENDREDIR
|
Line 4700 ENDREDIR
|
if ($options) { |
if ($options) { |
&mail_screen($r,$feedurl,$options,$symb,$attachmax{'text'}); |
&mail_screen($r,$feedurl,$options,$symb,$attachmax{'text'}); |
} else { |
} else { |
&fail_redirect($r,$feedurl); |
&fail_redirect($r,$feedurl,1); |
} |
} |
return OK; |
return OK; |
} |
} |
Line 4687 ENDREDIR
|
Line 4803 ENDREDIR
|
} |
} |
|
|
# Receipt screen and redirect back to where came from |
# Receipt screen and redirect back to where came from |
&redirect_back($r,$feedurl,$typestyle,$numsent,$numpost,$blog,$status,$env{'form.previous'},undef,undef,undef,undef,undef,undef,$group,$toolarge); |
&redirect_back($r,$feedurl,$typestyle,$numsent,$numpost,$blog,$status,$env{'form.previous'}, |
|
undef,undef,undef,undef,undef,undef,$group,$toolarge); |
} |
} |
return OK; |
return OK; |
} |
} |