version 1.349, 2012/03/17 04:02:28
|
version 1.351, 2012/03/17 14:49:29
|
Line 513 imscp_v1p1.xsd http://www.imsglobal.org/
|
Line 513 imscp_v1p1.xsd http://www.imsglobal.org/
|
my $currdepth = 0; |
my $currdepth = 0; |
my $firstidx = $alldiscussion{$showposts[0]}; |
my $firstidx = $alldiscussion{$showposts[0]}; |
foreach my $post (@showposts) { |
foreach my $post (@showposts) { |
unless (($sortposts eq 'thread') || (($sortposts eq '') && ($env{'environment.threadeddiscussion'})) || ($outputtarget eq 'export')) { |
unless (($sortposts eq 'thread') || |
|
(($sortposts eq '') && (!$env{'environment.unthreadeddiscussion'})) || |
|
($outputtarget eq 'export')) { |
$alldiscussion{$post} = $post; |
$alldiscussion{$post} = $post; |
} |
} |
unless ( ($notshown{$alldiscussion{$post}} eq '1') || ($shown{$alldiscussion{$post}} == 0) ) { |
unless ( ($notshown{$alldiscussion{$post}} eq '1') || ($shown{$alldiscussion{$post}} == 0) ) { |
Line 1117 sub build_posting_display {
|
Line 1119 sub build_posting_display {
|
my $origindex='0.'; |
my $origindex='0.'; |
my $numoldver=0; |
my $numoldver=0; |
if ($contrib{$idx.':replyto'}) { |
if ($contrib{$idx.':replyto'}) { |
if ( (($env{'environment.threadeddiscussion'}) && ($sortposts eq '')) || ($sortposts eq 'thread') || ($outputtarget eq 'export')) { |
if ( ((!$env{'environment.unthreadeddiscussion'}) && ($sortposts eq '')) || |
|
($sortposts eq 'thread') || ($outputtarget eq 'export')) { |
# this is a follow-up message |
# this is a follow-up message |
$original[$idx]=$original[$contrib{$idx.':replyto'}]; |
$original[$idx]=$original[$contrib{$idx.':replyto'}]; |
$$depth[$idx]=$$depth[$contrib{$idx.':replyto'}]+1; |
$$depth[$idx]=$$depth[$contrib{$idx.':replyto'}]+1; |
Line 1330 sub build_posting_display {
|
Line 1333 sub build_posting_display {
|
} |
} |
if ($outputtarget eq 'export' || $message) { |
if ($outputtarget eq 'export' || $message) { |
my $thisindex=$idx; |
my $thisindex=$idx; |
if ( (($env{'environment.threadeddiscussion'}) && ($sortposts eq '')) || ($sortposts eq 'thread') || ($outputtarget eq 'export')) { |
if ( ((!$env{'environment.unthreadeddiscussion'}) && ($sortposts eq '')) || |
|
($sortposts eq 'thread') || ($outputtarget eq 'export')) { |
$thisindex=$origindex.substr('00'.$$replies[$$depth[$idx]],-2,2); |
$thisindex=$origindex.substr('00'.$$replies[$$depth[$idx]],-2,2); |
} |
} |
$$alldiscussion{$thisindex}=$idx; |
$$alldiscussion{$thisindex}=$idx; |
Line 1453 sub build_posting_display {
|
Line 1457 sub build_posting_display {
|
$message. |
$message. |
'</div></blockquote>'; |
'</div></blockquote>'; |
if ($canvote) { |
if ($canvote) { |
|
my $ownpost; |
|
if (($uname eq $env{'user.name'}) && |
|
($udom eq $env{'user.domain'})) { |
|
$ownpost = 1; |
|
} |
# Put in the like and unlike buttons |
# Put in the like and unlike buttons |
if (($uname eq $env{'user.name'}) && ($udom eq $env{'user.domain'})) { |
if ($ownpost || (($hiddens{$idx}) && ($seehidden))) { |
my $novote = &mt('No voting for your own posts'); |
my $novote; |
|
if ($ownpost) { |
|
$novote = &mt('No voting for your own posts.'); |
|
} else { |
|
$novote = &mt('No voting for hidden posts.'); |
|
} |
$$discussionitems[$idx].= |
$$discussionitems[$idx].= |
'<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'. |
'<a href="javascript:alert('."'$novote'".');" style="text-decoration: none;">'. |
'<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" /> '. |
'<img border="0" src="/res/adm/pages/thumbsup_novote.png" alt="'.$novote.'" /> '. |
'<img border="0" src="/res/adm/pages/thumbsdown_novote.png" alt="'.$novote.'" /></a>'; |
'<img border="0" src="/res/adm/pages/thumbsdown_novote.png" alt="'.$novote.'" /></a>'; |
|
|
} else { |
} else { |
if ($userlikes{$idx}) { |
if ($userlikes{$idx}) { |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />'; |
$$discussionitems[$idx].='<img border="0" src="/res/adm/pages/thumbsup_gray.png" alt="'.&mt('You like this posting').'" />'; |
Line 4123 ENDREDIR
|
Line 4138 ENDREDIR
|
if (&discussion_vote_available($status,$realsymb)) { |
if (&discussion_vote_available($status,$realsymb)) { |
my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'}, |
my %contrib=&Apache::lonnet::restore($symb,$env{'request.course.id'}, |
$cdom,$cnum); |
$cdom,$cnum); |
|
my $ownpost; |
if (($contrib{$idx.':sendername'} eq $env{'user.name'}) && |
if (($contrib{$idx.':sendername'} eq $env{'user.name'}) && |
($contrib{$idx.':senderdomain'} eq $env{'user.domain'})) { |
($contrib{$idx.':senderdomain'} eq $env{'user.domain'})) { |
$result = &mt("Vote not registered. No voting for your own posts."); |
$ownpost = 1; |
|
} |
|
if ($ownpost || $contrib{$idx.':hidden'} || $contrib{$idx.':deleted'}) { |
|
$result = &mt('Vote not registered.').' '; |
|
} |
|
if ($ownpost) { |
|
$result .= &mt('No voting for your own posts.'); |
|
} elsif ($contrib{$idx.':hidden'}) { |
|
$result .= &mt('No voting for hidden posts.'); |
|
} elsif ($contrib{$idx.':deleted'}) { |
|
$result .= &mt('No voting for deleted posts.'); |
} else { |
} else { |
|
|
# |
# |
# Likes and unlikes are in db-file "disclikes" of the course |
# Likes and unlikes are in db-file "disclikes" of the course |
# The prefix is the $symb to identify the resource discussion, |
# The prefix is the $symb to identify the resource discussion, |
Line 4248 ENDREDIR
|
Line 4273 ENDREDIR
|
return OK; |
return OK; |
} elsif ($env{'form.cmd'}=~/^(threadedoff|threadedon)$/) { |
} elsif ($env{'form.cmd'}=~/^(threadedoff|threadedon)$/) { |
my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.symb'}); |
my ($symb,$feedurl)=&get_feedurl_and_clean_symb($env{'form.symb'}); |
if ($env{'form.cmd'} eq 'threadedon') { |
if ($env{'form.cmd'} eq 'threadedoff') { |
|
&Apache::lonnet::put('environment',{'unthreadeddiscussion' => 'on'}); |
|
&Apache::lonnet::appenv({'environment.unthreadeddiscussion' => 'on'}); |
|
&Apache::lonnet::del('environment',['threadeddiscussion']); |
|
&Apache::lonnet::delenv('environment.threadeddiscussion'); |
|
} else { |
&Apache::lonnet::put('environment',{'threadeddiscussion' => 'on'}); |
&Apache::lonnet::put('environment',{'threadeddiscussion' => 'on'}); |
&Apache::lonnet::appenv({'environment.threadeddiscussion' => 'on'}); |
&Apache::lonnet::appenv({'environment.threadeddiscussion' => 'on'}); |
} else { |
&Apache::lonnet::del('environment',['unthreadeddiscussion']); |
&Apache::lonnet::del('environment',['threadeddiscussion']); |
&Apache::lonnet::delenv('environment.unthreadeddiscussion'); |
&Apache::lonnet::delenv('environment.threadeddiscussion'); |
|
} |
} |
&redirect_back($r,$feedurl,&mt('Changed discussion view mode').'<br />', |
&redirect_back($r,$feedurl,&mt('Changed discussion view mode').'<br />', |
'0','0','','',$env{'form.previous'},undef,undef,undef, |
'0','0','','',$env{'form.previous'},undef,undef,undef, |