version 1.287, 2010/01/25 02:27:09
|
version 1.294, 2010/06/02 14:11:15
|
Line 49 use LONCAPA;
|
Line 49 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 273 sub list_discussion {
|
Line 282 sub list_discussion {
|
my %anonhash=(); |
my %anonhash=(); |
my $anoncnt=0; |
my $anoncnt=0; |
my $target=''; |
my $target=''; |
unless ($env{'browser.interface'} eq 'textual' || |
|
$env{'environment.remote'} eq 'off' ) { |
|
$target='target="LONcom"'; |
|
} |
|
|
|
my $now = time; |
my $now = time; |
$discinfo{$visitkey} = $visit; |
$discinfo{$visitkey} = $visit; |
Line 416 imscp_v1p1.xsd http://www.imsglobal.org/
|
Line 421 imscp_v1p1.xsd http://www.imsglobal.org/
|
} |
} |
} else { |
} else { |
my $colspan=$maxdepth+1; |
my $colspan=$maxdepth+1; |
#JW |
|
$discussion.= &Apache::lonhtmlcommon::scripttag(qq| |
$discussion.= &Apache::lonhtmlcommon::scripttag(qq| |
function verifydelete (caller,symb,idx,newflag,previous,groupparm) { |
function verifydelete (caller,symb,idx,newflag,previous,groupparm) { |
var symbparm = symb+':::'+idx |
var symbparm = symb+':::'+idx |
Line 744 END
|
Line 748 END
|
if ($outputtarget ne 'tex') { |
if ($outputtarget ne 'tex') { |
$discussion.= &send_feedback_link($ressymb,$target); |
$discussion.= &send_feedback_link($ressymb,$target); |
} |
} |
} |
} else { |
|
if ($outputtarget ne 'tex') { |
|
$discussion.= &mt('This discussion is closed.'); |
|
} |
|
} |
if ($outputtarget ne 'tex') { |
if ($outputtarget ne 'tex') { |
$discussion.= &send_message_link($ressymb); |
$discussion.= &send_message_link($ressymb); |
} |
} |
Line 769 sub send_message_link {
|
Line 777 sub send_message_link {
|
my $output = '<span class="LC_message_link">'. |
my $output = '<span class="LC_message_link">'. |
' <a href="/adm/feedback?sendmessageonly=1&symb='. |
' <a href="/adm/feedback?sendmessageonly=1&symb='. |
&escape($ressymb).'"><img alt="" class="LC_noBorder" src="'. |
&escape($ressymb).'"><img alt="" class="LC_noBorder" src="'. |
&Apache::loncommon::lonhttpdurl('/res/adm/pages/com.png'). |
&Apache::loncommon::lonhttpdurl('/res/adm/pages/feedback.png'). |
'" border="0" /><span class="LC_menubuttons_inline_text">'.&mt('Send Feedback').'</span></a></span>'; |
'" border="0" /><span class="LC_menubuttons_inline_text">'.&mt('Send Feedback').'</span></a></span>'; |
return $output; |
return $output; |
} |
} |
Line 1142 sub build_posting_display {
|
Line 1150 sub build_posting_display {
|
} |
} |
} |
} |
if ($viewgrades) { |
if ($viewgrades) { |
$vgrlink=&Apache::loncommon::submlink('Submissions', |
$vgrlink=&Apache::loncommon::submlink(&mt('Submissions'), |
$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$ressymb); |
$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$ressymb); |
} |
} |
if ($$dischash{$readkey}=~/\.$idx\./) { |
if ($$dischash{$readkey}=~/\.$idx\./) { |
Line 1256 sub build_posting_display {
|
Line 1264 sub build_posting_display {
|
} |
} |
$$discussionitems[$idx] .= '<td align="left"> '. |
$$discussionitems[$idx] .= '<td align="left"> '. |
'<b>'.$subject.'</b> '. |
'<b>'.$subject.'</b> '. |
$sender.$vgrlink.' ('. |
$sender.' '.$vgrlink.' ('. |
&Apache::lonlocal::locallocaltime($posttime).')</td>'; |
&Apache::lonlocal::locallocaltime($posttime).')</td>'; |
if ($$dischash{$toggkey}) { |
if ($$dischash{$toggkey}) { |
$$discussionitems[$idx].='<td align="right"> '. |
$$discussionitems[$idx].='<td align="right"> '. |
Line 2402 sub fail_redirect {
|
Line 2410 sub fail_redirect {
|
my ($r,$feedurl) = @_; |
my ($r,$feedurl) = @_; |
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, |
$r->print(&Apache::loncommon::start_page('Feedback not sent',undef, |
Line 2515 sub redirect_back {
|
Line 2523 sub redirect_back {
|
&Apache::lonenc::check_encrypt(\$feedurl); |
&Apache::lonenc::check_encrypt(\$feedurl); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my %onload; |
my %onload; |
if ($env{'environment.remote'} ne 'off') { |
|
$onload{'onload'} = |
|
"if (window.name!='loncapaclient') { this.document.reldt.submit(); self.window.close(); }"; |
|
} |
|
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page('Feedback sent',undef, |
&Apache::loncommon::start_page('Feedback sent',undef, |
{'redirect' => [0,$feedurl], |
{'redirect' => [0,$feedurl], |
Line 2549 ENDREDIR
|
Line 2553 ENDREDIR
|
|
|
sub no_redirect_back { |
sub no_redirect_back { |
my ($r,$feedurl) = @_; |
my ($r,$feedurl) = @_; |
my $nofeed=&mt('Sorry, no feedback possible on this resource ...'); |
my $nofeed=&mt('Sorry, no feedback possible on this resource ...'); |
|
|
my %onload; |
my %onload; |
if ($env{'environment.remote'} ne 'off') { |
|
$onload{'onload'} = |
|
"if (window.name!='loncapaclient') { self.window.close(); }"; |
|
} |
|
|
|
my %body_options = ('only_body' => 1, |
my %body_options = ('only_body' => 1, |
'bgcolor' => '#FFFFFF', |
'bgcolor' => '#FFFFFF', |
Line 2648 sub screen_header {
|
Line 2648 sub screen_header {
|
} |
} |
} |
} |
if ($msgoptions) { |
if ($msgoptions) { |
$msgoptions='<h2><img src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/com.png').'" />' |
$msgoptions='<h2><img src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/feedback.png').'" />' |
.' '.&mt('Send Feedback').'</h2><p>'.&Apache::lonhtmlcommon::coursepreflink(&mt('Feedback Settings'),'feedback').'</p>' |
.' '.&mt('Send Feedback').'</h2><p>'.&Apache::lonhtmlcommon::coursepreflink(&mt('Feedback Settings'),'feedback').'</p>' |
.$msgoptions; |
.$msgoptions; |
} |
} |
Line 3564 sub handler {
|
Line 3564 sub handler {
|
$r->send_http_header; |
$r->send_http_header; |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my $logo=&Apache::loncommon::lonhttpdurl('/adm/lonIcons/lonlogos.gif'); |
my %onload; |
my %onload; |
if ($env{'environment.remote'} ne 'off') { |
|
$onload{'onload'} = |
|
"if (window.name!='loncapaclient') { this.document.reldt.submit(); self.window.close(); }"; |
|
} |
|
|
|
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page('New posts marked as read',undef, |
&Apache::loncommon::start_page('New posts marked as read',undef, |