--- loncom/interface/lonfeedback.pm 2004/11/15 21:35:37 1.133 +++ loncom/interface/lonfeedback.pm 2004/11/15 22:17:51 1.136 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.133 2004/11/15 21:35:37 albertel Exp $ +# $Id: lonfeedback.pm,v 1.136 2004/11/15 22:17:51 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -355,8 +355,7 @@ imscp_v1p1.xsd http://www.imsglobal.org/ } |; - #FIXME need a
'; $discussion .='
'. ''; if ($visible>2) { @@ -562,8 +561,7 @@ END
-

- +

END } if ($outputtarget eq 'export') { @@ -1477,7 +1475,8 @@ END sub print_display_options { my ($r,$symb,$previous,$dispchgA,$dispchgB,$markchg,$toggchg,$feedurl) = @_; - &dewrapper(\$feedurl); + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; my $function = &Apache::loncommon::get_users_function(); my $tabcolor = &Apache::loncommon::designparm($function.'.tabbg', @@ -1676,7 +1675,9 @@ END sub print_sortfilter_options { my ($r,$symb,$previous,$feedurl) = @_; - &dewrapper(\$feedurl); + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + my @sections = (); my $section_sel = ''; my $numsections = 0; @@ -1999,6 +2000,9 @@ sub redirect_back { my $qrystr = ''; my $prevtag = ''; + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + &dewrapper(\$feedurl); if ($feedurl=~/^\/adm\//) { $feedurl.='?register=1' }; if ($previous > 0) { @@ -2398,6 +2402,8 @@ sub adddiscuss { sub show_preview { my $r=shift; + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; my $message=&clear_out_html($ENV{'form.comment'}); $message=~s/\n/\
/g; $message=&Apache::lonspeller::markeduptext($message); @@ -2754,8 +2760,6 @@ sub handler { &Apache::lonnet::put('nohist_'.$ENV{'request.course.id'}.'_discuss', \%readinghash,$ENV{'user.domain'},$ENV{'user.name'}); } - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; &redirect_back($r,$feedurl,&mt('Marked postings read/unread').'
', '0','0','',$ENV{'form.previous'},'','','',); return OK; @@ -2795,16 +2799,12 @@ END return OK; } if ($ENV{'form.posterlist'}) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.applysort'}); &print_showposters($r,$symb,$ENV{'form.previous'},$feedurl, $ENV{'form.sortposts'}); return OK; } if ($ENV{'form.userpick'}) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my @posters = &Apache::loncommon::get_env_multiple('form.stuinfo'); my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.userpick'}); my $numpicks = @posters; @@ -2818,8 +2818,6 @@ END return OK; } if ($ENV{'form.applysort'}) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.applysort'}); &redirect_back($r,$feedurl,&mt('Changed sort/filter').'
','0','0', '',$ENV{'form.previous'},$ENV{'form.sortposts'}, @@ -2827,8 +2825,6 @@ END $ENV{'form.secpick'}); return OK; } elsif ($ENV{'form.sortfilter'}) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.sortfilter'}); &print_sortfilter_options($r,$symb,$ENV{'form.previous'},$feedurl); return OK; @@ -2891,8 +2887,6 @@ $textline ENDREDIR return OK; } elsif ($ENV{'form.modifydisp'}) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.modifydisp'}); my ($dispchgA,$dispchgB,$markchg,$toggchg) = split(/_/,$ENV{'form.changes'}); @@ -2903,8 +2897,6 @@ ENDREDIR $ENV{'form.allposts'} || $ENV{'form.onlyunread'} || $ENV{'form.onlyunmark'} || $ENV{'form.toggoff'} || $ENV{'form.toggon'} ) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my $feedurl; if ( ($ENV{'form.toggoff'}) || ($ENV{'form.toggon'}) ) { # ------------------------ Modify setting for read/unread toggle for each post @@ -2966,8 +2958,6 @@ ENDREDIR return OK; } elsif ($ENV{'form.markread'}) { # ----------------------------------------------------- Mark new posts not NEW - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my ($symb,$feedurl)=&get_feedurl_and_clean_symb($ENV{'form.markread'}); &Apache::lonnet::logthis("\n last read w symb ".$symb); my %discinfo; @@ -2979,9 +2969,6 @@ ENDREDIR return OK; } elsif (($ENV{'form.hide'}) || ($ENV{'form.unhide'})) { # ----------------------------------------------------------------- Hide/unhide - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; - my $entry=$ENV{'form.hide'}?$ENV{'form.hide'}:$ENV{'form.unhide'}; my ($symb,$idx)=split(/\:\:\:/,$entry); ($symb,my $feedurl)=&get_feedurl_and_clean_symb($symb); @@ -3019,9 +3006,8 @@ ENDREDIR &redirect_back($r,$feedurl,&mt('Changed discussion status').'
', '0','0','',$ENV{'form.previous'}); + return OK; } elsif (($ENV{'form.threadedon'}) || ($ENV{'form.threadedoff'})) { - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; my $symb; if ($ENV{'form.threadedon'}) { $symb=$ENV{'form.threadedon'}; @@ -3035,27 +3021,25 @@ ENDREDIR my ($symb,$feedurl)=&get_feedurl_and_clean_symb($symb); &redirect_back($r,$feedurl,&mt('Changed discussion view mode').'
', '0','0','',$ENV{'form.previous'}); + return OK; } elsif ($ENV{'form.deldisc'}) { # --------------------------------------------------------------- Hide for good - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; - my ($symb,$idx)=split(/\:\:\:/,$ENV{'form.deldisc'}); ($symb,my $feedurl)=&get_feedurl_and_clean_symb($symb); my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'}, $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); - my %newhash=('deleted' => $contrib{'deleted'}.".$idx."); - &Apache::lonnet::store(\%newhash,$symb,$ENV{'request.course.id'}, - $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, - $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); - &redirect_back($r,$feedurl,&mt('Changed discussion status').'
', - '0','0','',$ENV{'form.previous'}); + my %newhash=('deleted' => $contrib{'deleted'}.".$idx."); + &Apache::lonnet::store(\%newhash,$symb,$ENV{'request.course.id'}, + $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, + $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); + &redirect_back($r,$feedurl,&mt('Changed discussion status').'
', + '0','0','',$ENV{'form.previous'}); + return OK; } elsif ($ENV{'form.preview'}) { # -------------------------------------------------------- User wants a preview - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; &show_preview($r); + return OK; } elsif ($ENV{'form.attach'}) { # -------------------------------------------------------- Work on attachments &Apache::loncommon::content_type($r,'text/html'); @@ -3081,6 +3065,7 @@ ENDREDIR } &modify_attachments($r,\@currnewattach,\@currdelold,$symb,$idx, $attachmenturls); + return OK; } elsif ($ENV{'form.export'}) { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; @@ -3096,7 +3081,6 @@ ENDREDIR my $bodytag=&Apache::loncommon::bodytag('Resource Feedback and Discussion'); $r->print($bodytag.$discussion); return OK; - #FIXME deleted CHGREADS needs to be readded } else { # ------------------------------------------------------------- Normal feedback my $feedurl=$ENV{'form.postdata'}; @@ -3141,9 +3125,6 @@ ENDREDIR return OK; } # Go ahead with feedback, no ambiguous reference - &Apache::loncommon::content_type($r,'text/html'); - $r->send_http_header; - unless ( ( ($feedurl=~m:^/res:) && ($feedurl!~m:^/res/adm:) @@ -3153,11 +3134,15 @@ ENDREDIR || ($ENV{'request.course.id'} && ($symb=~/^bulletin\_\_\_/)) ) { + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; # Unable to give feedback &no_redirect_back($r,$feedurl); } # --------------------------------------------------- Print login screen header unless ($ENV{'form.sendit'}) { + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; my $options=&screen_header($feedurl); if ($options) { &mail_screen($r,$feedurl,$options);