--- loncom/interface/lonfeedback.pm 2005/11/15 20:33:20 1.174 +++ loncom/interface/lonfeedback.pm 2005/11/18 13:35:30 1.175 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.174 2005/11/15 20:33:20 albertel Exp $ +# $Id: lonfeedback.pm,v 1.175 2005/11/18 13:35:30 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -39,6 +39,7 @@ use Apache::lonnet; use Apache::lonhtmlcommon(); use Apache::lonnavmaps; use Apache::lonenc(); +use Apache::lonrss(); use HTML::LCParser(); use Apache::lonspeller(); use Cwd; @@ -1300,7 +1301,7 @@ sub replicate_attachments { sub mail_screen { my ($r,$feedurl,$options) = @_; if (exists($env{'form.origpage'})) { - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['subject','comment','currnewattach','addnewattach','deloldattach','delnewattach','timestamp','idx','anondiscuss','discuss']); + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['subject','comment','currnewattach','addnewattach','deloldattach','delnewattach','timestamp','idx','anondiscuss','discuss','blog']); } my $bodytag=&Apache::loncommon::bodytag('Resource Feedback and Discussion', '','onLoad="window.focus();setposttype();"'); @@ -1484,6 +1485,11 @@ $htmlheader rec=1; } } + if (typeof(document.mailform.elements.blog)!="undefined") { + if (document.mailform.elements.blog.checked) { + rec=1; + } + } if (rec) { if (typeof(document.mailform.onsubmit)=='function') { @@ -2140,7 +2146,7 @@ ENDFAILREDIR } sub redirect_back { - my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$status,$previous,$sort,$rolefilter,$statusfilter,$sectionpick,$numpicks) = @_; + my ($r,$feedurl,$typestyle,$sendsomething,$sendposts,$blog,$status,$previous,$sort,$rolefilter,$statusfilter,$sectionpick,$numpicks) = @_; my $sorttag = ''; my $roletag = ''; my $statustag = ''; @@ -2222,6 +2228,7 @@ $html $typestyle Sent $sendsomething message(s), and $sendposts post(s). +$blog $status
$prevtag @@ -2307,6 +2314,8 @@ sub screen_header { ' ('.&mt('name only visible to course faculty').') '. ''.&mt('Change Screenname').''; } + $discussoptions.='
'; } if ($msgoptions) { $msgoptions='

'.&mt('Sending Messages').'

'.$msgoptions; } if ($discussoptions) { @@ -2736,6 +2745,7 @@ END + END foreach (@{$currnewattach}) { @@ -2800,6 +2810,7 @@ this.form.submit();" /> + @@ -3005,7 +3016,7 @@ sub handler { \%readinghash,$env{'user.domain'},$env{'user.name'}); } &redirect_back($r,$feedurl,&mt('Marked postings read/unread').'
', - '0','0','',$env{'form.previous'},'','','',); + '0','0','','',$env{'form.previous'},'','','',); return OK; } if ($env{'form.allversions'}) { @@ -3057,14 +3068,14 @@ END $discinfo{$symb.'_userpick'} = join('&',@posters); &Apache::lonnet::put('nohist_'.$env{'request.course.id'}.'_discuss', \%discinfo,$env{'user.domain'},$env{'user.name'}); - &redirect_back($r,$feedurl,&mt('Changed sort/filter').'
','0','0', + &redirect_back($r,$feedurl,&mt('Changed sort/filter').'
','0','0','', '',$env{'form.previous'},$env{'form.sortposts'},'','','', $numpicks); return OK; } if ($env{'form.applysort'}) { my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.applysort'}); - &redirect_back($r,$feedurl,&mt('Changed sort/filter').'
','0','0', + &redirect_back($r,$feedurl,&mt('Changed sort/filter').'
','0','0','', '',$env{'form.previous'},$env{'form.sortposts'}, $env{'form.rolefilter'},$env{'form.statusfilter'}, $env{'form.sectionpick'}); @@ -3168,7 +3179,7 @@ ENDREDIR my $previous=$env{'form.previous'}; if ($env{'form.markondisp'}) { $previous=undef; } &redirect_back($r,$feedurl,&mt('Changed display status').'
', - '0','0','',$previous); + '0','0','','',$previous); return OK; } elsif (($env{'form.hide'}) || ($env{'form.unhide'})) { # ----------------------------------------------------------------- Hide/unhide @@ -3208,7 +3219,7 @@ ENDREDIR $env{'course.'.$env{'request.course.id'}.'.num'}); &redirect_back($r,$feedurl,&mt('Changed discussion status').'
', - '0','0','',$env{'form.previous'}); + '0','0','','',$env{'form.previous'}); return OK; } elsif ($env{'form.cmd'}=~/^(threadedoff|threadedon)$/) { my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.symb'}); @@ -3220,7 +3231,7 @@ ENDREDIR &Apache::lonnet::delenv('environment\.threadeddiscussion'); } &redirect_back($r,$feedurl,&mt('Changed discussion view mode').'
', - '0','0','',$env{'form.previous'}); + '0','0','','',$env{'form.previous'}); return OK; } elsif ($env{'form.deldisc'}) { # --------------------------------------------------------------- Hide for good @@ -3234,7 +3245,7 @@ ENDREDIR $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'}); + '0','0','','',$env{'form.previous'}); return OK; } elsif ($env{'form.preview'}) { # -------------------------------------------------------- User wants a preview @@ -3244,7 +3255,7 @@ ENDREDIR # -------------------------------------------------------- Work on attachments &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['subject','comment','addnewattach','delnewattach','timestamp','numoldver','idx','anondiscuss','discuss']); + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['subject','comment','addnewattach','delnewattach','timestamp','numoldver','idx','anondiscuss','discuss','blog']); my (@currnewattach,@currdelold,@keepold); &process_attachments(\@currnewattach,\@currdelold,\@keepold); if (exists($env{'form.addnewattach.filename'})) { @@ -3412,9 +3423,21 @@ ENDREDIR $subject); $numpost++; } + +# Add to blog? + + my $blog=''; + if ($env{'form.blog'}) { + my $subject = &clear_out_html($env{'form.subject'}); + $status.=&Apache::lonrss::addentry($env{'user.name'}, + $env{'user.domain'}, + 'CourseBlog_'.$env{'request.course.id'}, + $subject,$message,$feedurl,'public'); + $blog='
'.&mt('Added to my course blog').'
'; + } # Receipt screen and redirect back to where came from - &redirect_back($r,$feedurl,$typestyle,$numsent,$numpost,$status,$env{'form.previous'}); + &redirect_back($r,$feedurl,$typestyle,$numsent,$numpost,$blog,$status,$env{'form.previous'}); } return OK; }