--- loncom/interface/lonfeedback.pm 2006/12/08 00:28:59 1.231
+++ loncom/interface/lonfeedback.pm 2006/12/11 04:10:35 1.235
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.231 2006/12/08 00:28:59 raeburn Exp $
+# $Id: lonfeedback.pm,v 1.235 2006/12/11 04:10:35 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -74,6 +74,9 @@ sub discussion_visible {
sub list_discussion {
my ($mode,$status,$ressymb,$imsextras,$group)=@_;
+ unless ($ressymb) { $ressymb=&Apache::lonnet::symbread(); }
+ unless ($ressymb) { return ''; }
+ $ressymb=&wrap_symb($ressymb);
my $outputtarget=$env{'form.grade_target'};
if (defined($env{'form.export'})) {
if($env{'form.export'}) {
@@ -85,16 +88,26 @@ sub list_discussion {
$outputtarget = 'export';
}
}
- if (not &discussion_visible($status)) { return ''; }
+ if (not &discussion_visible($status)) {
+ if ($mode ne 'board') {
+ &Apache::lonenc::check_encrypt(\$ressymb);
+ return &send_message_link($ressymb);
+ }
+ }
if ($group ne '' && $mode eq 'board') {
if (&check_group_priv($group,'vgb') ne 'ok') {
return '';
}
}
- my ($blocked,$blocktext) = &blocking_posts('boards',1);
+ my ($blocked,$blocktext) =
+ &Apache::loncommon::blocking_status('boards');
if ($blocked) {
- return $blocktext;
+ &Apache::lonenc::check_encrypt(\$ressymb);
+ if ($mode ne 'board') {
+ $blocktext.='
'.&send_message_link($ressymb);
+ }
+ return $blocktext;
}
my @bgcols = ("#cccccc","#eeeeee");
@@ -107,9 +120,6 @@ sub list_discussion {
$crs.='_'.$env{'request.course.sec'};
}
$crs=~s/\_/\//g;
- unless ($ressymb) { $ressymb=&Apache::lonnet::symbread(); }
- unless ($ressymb) { return ''; }
- $ressymb=&wrap_symb($ressymb);
my $encsymb=&Apache::lonenc::check_encrypt($ressymb);
my $viewgrades=(&Apache::lonnet::allowed('vgr',$crs)
&& ($ressymb=~/\.(problem|exam|quiz|assess|survey|form|task)$/));
@@ -722,26 +732,45 @@ END
}
}
} else {
- $discussion.='
'.
@@ -795,25 +824,6 @@ sub action_links_bar {
return $discussion;
}
-sub blocking_posts {
- my ($type,$showstatus) = @_;
- my %setters;
- my ($blocked,$output);
- my ($startblock,$endblock) =
- &Apache::loncommon::blockcheck(\%setters,$type);
- if ($startblock && $endblock) {
- $blocked = 1;
- if ($showstatus) {
- my $showstart = &Apache::lonlocal::locallocaltime($startblock);
- my $showend = &Apache::lonlocal::locallocaltime($endblock);
- $output = &mt('Discussion postings will not be viewable for resources in this course between [_1] and [_2] because communication is being blocked.',$showstart, $showend).' '.
- &Apache::loncommon::build_block_table($startblock,$endblock,
- \%setters);
- }
- }
- return ($blocked,$output);
-}
-
sub postingform_display {
my ($mode,$ressymb,$now,$subject,$comment,$outputtarget,$attachnum,
$currnewattach,$currdelold,$group) = @_;
@@ -850,7 +860,7 @@ ENDDISCUSS
if ($group ne '') {
$postingform .='';
}
- my ($blockblog) = &blocking_posts('blogs');
+ my $blockblog = &Apache::loncommon::blocking_status('blogs');
if (!$blockblog) {
$postingform .= &add_blog_checkbox();
}
@@ -1728,6 +1738,7 @@ END
if ($env{'form.editdisc'} || $env{'form.replydisc'}) {
my $now = time;
my $ressymb = $symb;
+ &Apache::lonenc::check_encrypt(\$ressymb);
my $postidx = '';
if ($env{'form.editdisc'}) {
$postidx = $idx;
@@ -1735,7 +1746,7 @@ END
if (@currnewattach > 0) {
$attachnum += @currnewattach;
}
- my ($blockblog) = &blocking_posts('blogs');
+ my $blockblog = &Apache::loncommon::blocking_status('blogs');
$r->print(&generate_attachments_button($postidx,$attachnum,$ressymb,$now,\@currnewattach,\@currdelold,$numoldver,'',$blockblog));
if ($attachnum > 0) {
if (@currnewattach > 0) {
@@ -2471,7 +2482,7 @@ sub redirect_back {
$feedurl .= '?group='.$group.$refarg;
}
}
- $feedurl=&Apache::lonenc::check_encrypt($feedurl);
+ &Apache::lonenc::check_encrypt(\$feedurl);
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
my %onload;
if ($env{'environment.remote'} ne 'off') {
@@ -2528,7 +2539,7 @@ sub no_redirect_back {
my $end_page = &Apache::loncommon::end_page();
- $feedurl=&Apache::lonenc::check_encrypt($feedurl);
+ &Apache::lonenc::check_encrypt(\$feedurl);
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif');
$r->print (< '.
- &mt('Contribution to course discussion of resource');
+ $discussoptions=' '.
- ''.&mt('Change Screenname').'';
- }
+ &mt('Anonymous contribution to course discussion of resource').
+ ' ('.&mt('name only visible to course faculty').') '.
+ ''.&mt('Change Screenname').'';
}
- my ($blockblog) = &blocking_posts('blogs');
+ my $blockblog = &Apache::loncommon::blocking_status('blogs');
if (!$blockblog) {
$discussoptions.= &add_blog_checkbox();
}
@@ -3755,13 +3763,23 @@ ENDREDIR
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
# Unable to give feedback
+ &Apache::lonenc::check_encrypt(\$feedurl);
&no_redirect_back($r,$feedurl);
return OK;
}
# --------------------------------------------------- Print login screen header
unless ($env{'form.sendit'}) {
+ &Apache::lonenc::check_encrypt(\$feedurl);
&Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
+ if (($env{'form.replydisc'}) || ($env{'form.editdisc'})) {
+ my ($blocked,$blocktext) =
+ &Apache::loncommon::blocking_status('boards');
+ if ($blocked) {
+ $r->print(&blocked_reply_or_edit($blocktext));
+ return OK;
+ }
+ }
my $options=&screen_header($feedurl,$symb);
if ($options) {
&mail_screen($r,$feedurl,$options);
@@ -3853,6 +3871,15 @@ ENDREDIR
&redirect_back($r,$feedurl,$typestyle,$numsent,$numpost,$blog,$status,$env{'form.previous'},undef,undef,undef,undef,undef,undef,$group);
}
return OK;
+}
+
+sub blocked_reply_or_edit {
+ my ($blocktext) = @_;
+ return
+ &Apache::loncommon::start_page('Resource Feedback and Discussion').
+ $blocktext.'
'.
+ &mt('Back to previous page').
+ &Apache::loncommon::end_page();
}
sub wrap_symb {
|