version 1.332, 2012/01/10 01:06:26
|
version 1.333, 2012/01/10 14:52:57
|
Line 1019 sub build_posting_display {
|
Line 1019 sub build_posting_display {
|
my $twoplus=$ave+2.*$stddev; |
my $twoplus=$ave+2.*$stddev; |
my $oneminus=$ave-$stddev; |
my $oneminus=$ave-$stddev; |
my $twominus=$ave-2.*$stddev; |
my $twominus=$ave-2.*$stddev; |
# &Apache::lonnet::logthis(join(',',@theselikes)." Ave $ave StdDev $stddev $twominus $oneminus $oneplus $twoplus"); |
|
# |
# |
# This is now the real loop. Go through all entries, pick up what we need |
# This is now the real loop. Go through all entries, pick up what we need |
# |
# |
Line 1156 sub build_posting_display {
|
Line 1155 sub build_posting_display {
|
@{$$namesort{$lastname}{$firstname}} = ("$idx"); |
@{$$namesort{$lastname}{$firstname}} = ("$idx"); |
} |
} |
if ($outputtarget ne 'tex') { |
if ($outputtarget ne 'tex') { |
|
my $karma=&userkarma($contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'}); |
|
for (my $i=1;$i<=$karma;$i++) { |
|
$sender.='<img border="0" src="/res/adm/pages/star.gif" alt="'.&mt('Contributor Kudos').'" />'; |
|
} |
unless ($likes{$symb.':'.$idx.':likers'}=~/\,\Q$thisuser\E\,/) { |
unless ($likes{$symb.':'.$idx.':likers'}=~/\,\Q$thisuser\E\,/) { |
$sender.=' '.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsup.png" alt="'.&mt('Like').'" />','like',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Like this posting")); |
$sender.=' '.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsup.png" alt="'.&mt('Like').'" />','like',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Like this posting")); |
} |
} |
Line 3065 sub adddiscuss {
|
Line 3068 sub adddiscuss {
|
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
$newrecord{'subnumber'}=$record{'subnumber'}+1; |
$status.='<br />'.&mt('Registering').': '. |
$status.='<br />'.&mt('Registering').': '. |
&Apache::lonnet::cstore(\%newrecord,'_discussion'); |
&Apache::lonnet::cstore(\%newrecord,'_discussion'); |
|
&updatekarma(); |
} |
} |
} else { |
} else { |
$status.='Failed.'; |
$status.='Failed.'; |
Line 3112 sub updatekarma {
|
Line 3116 sub updatekarma {
|
unless ($udom) { $udom=$env{'user.domain'}; } |
unless ($udom) { $udom=$env{'user.domain'}; } |
unless ($course) { $course=$env{'request.course.id'}; } |
unless ($course) { $course=$env{'request.course.id'}; } |
my $karma=&calcdiscussionkarma($uname,$udom,$course); |
my $karma=&calcdiscussionkarma($uname,$udom,$course); |
|
&Apache::lonnet::cstore({ 'karma' => $karma },'_discussion',$course,$udom,$uname); |
|
&Apache::lonnet::do_cache_new('karma',$uname.':'.$udom.':'.$course,$karma,3600); |
|
return $karma; |
|
} |
|
|
|
# Retrieve karma |
|
|
|
sub userkarma { |
|
my ($uname,$udom,$course)=@_; |
|
unless ($uname) { $uname=$env{'user.name'}; } |
|
unless ($udom) { $udom=$env{'user.domain'}; } |
|
unless ($course) { $course=$env{'request.course.id'}; } |
|
my $hashkey=$uname.':'.$udom.':'.$course; |
|
my ($karma,$cached)=&Apache::lonnet::is_cached_new('karma',$hashkey); |
|
if ($cached) { |
|
return $karma; |
|
} |
|
my %userdisc=&getdiscussionrecords($uname,$udom,$course); |
|
$karma=$userdisc{'karma'}; |
|
&Apache::lonnet::do_cache_new('karma',$hashkey,$karma,3600); |
|
return $karma; |
} |
} |
|
|
# Store discussion credit |
# Store discussion credit |
Line 3148 sub storediscussionlikes {
|
Line 3173 sub storediscussionlikes {
|
'likes' => $likes, |
'likes' => $likes, |
'totallikes' => $totallikes, |
'totallikes' => $totallikes, |
'totalvotes' => $totalvotes); |
'totalvotes' => $totalvotes); |
return &Apache::lonnet::cstore(\%newrecord,'_discussion',$course,$udom,$uname); |
my $status=&Apache::lonnet::cstore(\%newrecord,'_discussion',$course,$udom,$uname); |
|
if ($status eq 'ok') { |
|
&updatekarma($uname,$udom,$course); |
|
} |
|
return $status; |
} |
} |
|
|
sub get_discussion_info { |
sub get_discussion_info { |