version 1.273.4.7, 2010/01/25 04:34:37
|
version 1.273.4.11, 2010/09/21 04:58:17
|
Line 48 use LONCAPA;
|
Line 48 use LONCAPA;
|
|
|
sub discussion_open { |
sub discussion_open { |
my ($status,$symb)=@_; |
my ($status,$symb)=@_; |
|
# Advanced roles can always discuss |
if ($env{'request.role.adv'}) { return 1; } |
if ($env{'request.role.adv'}) { return 1; } |
|
# Get discussion closing date |
|
my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb); |
|
# If it is defined and in the future, the instructor wants this discussion to be open |
|
if (defined($close) && $close ne '' && $close > time) { |
|
return 1; |
|
} |
|
# It was not explicitly open, check if the problem is available. |
|
# If the problem is not available, close the discussion |
if (defined($status) && |
if (defined($status) && |
!($status eq 'CAN_ANSWER' || $status eq 'CANNOT_ANSWER' |
!($status eq 'CAN_ANSWER' || $status eq 'CANNOT_ANSWER' |
|| $status eq 'OPEN')) { |
|| $status eq 'OPEN')) { |
return 0; |
return 0; |
} |
} |
my $close=&Apache::lonnet::EXT('resource.0.discussend',$symb); |
# The problem is available, but check if the instructor explictly closed discussion |
if (defined($close) && $close ne '' && $close < time) { |
if (defined($close) && $close ne '' && $close < time) { |
return 0; |
return 0; |
} |
} |
Line 741 END
|
Line 750 END
|
$env{'request.course.id'}. |
$env{'request.course.id'}. |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { |
if ($outputtarget ne 'tex') { |
if ($outputtarget ne 'tex') { |
$discussion.= &send_feedback_link($ressymb,$target); |
$discussion.= &send_feedback_link($ressymb,$target); |
|
if ($env{'request.role.adv'}) { |
|
my $close = &Apache::lonnet::EXT('resource.0.discussend',$ressymb); |
|
if (defined($close) && $close ne '' && $close < time) { |
|
$discussion .= ' '.&mt('(Closed for [_1] roles)', |
|
&Apache::lonnet::plaintext('st',$crstype)); |
|
} |
|
} |
|
} |
|
} else { |
|
if ($outputtarget ne 'tex') { |
|
$discussion.= '<span class="LC_feedback_link">'.&mt('This discussion is closed.').'</span>'; |
} |
} |
} |
|
if ($outputtarget ne 'tex') { |
|
$discussion.= &send_message_link($ressymb); |
|
} |
} |
$discussion.='</div>'; |
$discussion.=&send_message_link($ressymb).'</div>'; |
} |
} |
return $discussion; |
return $discussion; |
} |
} |
Line 1172 sub build_posting_display {
|
Line 1189 sub build_posting_display {
|
$$imsitems{$idx}{'attach'}=$attachtxt{$numoldver}; |
$$imsitems{$idx}{'attach'}=$attachtxt{$numoldver}; |
$$imsitems{$idx}{'timestamp'}=$contrib{$idx.':timestamp'}; |
$$imsitems{$idx}{'timestamp'}=$contrib{$idx.':timestamp'}; |
$$imsitems{$idx}{'sender'}=$plainname.' ('. |
$$imsitems{$idx}{'sender'}=$plainname.' ('. |
$contrib{$idx.':sendername'}.' at '. |
$contrib{$idx.':sendername'}.':'. |
$contrib{$idx.':senderdomain'}.')'; |
$contrib{$idx.':senderdomain'}.')'; |
$$imsitems{$idx}{'isanonymous'}='false'; |
$$imsitems{$idx}{'isanonymous'}='false'; |
if ($contrib{$idx.':anonymous'}) { |
if ($contrib{$idx.':anonymous'}) { |
Line 1369 sub get_post_contents {
|
Line 1386 sub get_post_contents {
|
$$plainname, |
$$plainname, |
$$contrib{$idx.':sendername'}, |
$$contrib{$idx.':sendername'}, |
$$contrib{$idx.':senderdomain'}).' ('. |
$$contrib{$idx.':senderdomain'}).' ('. |
$$contrib{$idx.':sendername'}.' at '. |
$$contrib{$idx.':sendername'}.':'. |
$$contrib{$idx.':senderdomain'}.')'; |
$$contrib{$idx.':senderdomain'}.')'; |
my $attachmenturls = $$contrib{$idx.':attachmenturl'}; |
my $attachmenturls = $$contrib{$idx.':attachmenturl'}; |
my @postversions = (); |
my @postversions = (); |
Line 2625 sub screen_header {
|
Line 2642 sub screen_header {
|
} |
} |
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'); |
if (!$blocked && &discussion_open(undef,$symb) && |
my $realsymb = $symb; |
|
if ($symb=~/^bulletin___/) { |
|
my $filename=(&Apache::lonnet::decode_symb($symb))[2]; |
|
$filename=~s|^adm/wrapper/||; |
|
$realsymb=&Apache::lonnet::symbread($filename); |
|
} |
|
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'}:''))) { |