Diff for /loncom/interface/lonfeedback.pm between versions 1.330 and 1.331

version 1.330, 2012/01/09 19:56:28 version 1.331, 2012/01/10 00:54:05
Line 1157  sub build_posting_display { Line 1157  sub build_posting_display {
                             }                              }
                             if ($outputtarget ne 'tex') {                              if ($outputtarget ne 'tex') {
                                 unless ($likes{$symb.':'.$idx.':likers'}=~/\,\Q$thisuser\E\,/) {                                  unless ($likes{$symb.':'.$idx.':likers'}=~/\,\Q$thisuser\E\,/) {
                                     $sender.='&nbsp;'.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsup.png" alt="'.&mt('Like').'" />','like',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Like"));                                      $sender.='&nbsp;'.&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"));
                                 }                                  }
                                 unless ($likes{$symb.':'.$idx.':unlikers'}=~/\,\Q$thisuser\E\,/) {                                  unless ($likes{$symb.':'.$idx.':unlikers'}=~/\,\Q$thisuser\E\,/) {
                                     $sender.='&nbsp;'.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsdown.png" alt="'.&mt('Unlike').'" />',,'unlike',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Unlike"));                                      $sender.='&nbsp;'.&discussion_link($symb,'<img border="0" src="/res/adm/pages/thumbsdown.png" alt="'.&mt('Unlike').'" />',,'unlike',$idx,$$newpostsflag,$prevread,&group_args($group),&mt("Unlike this posting"));
                                 }                                  }
                                 my $thislikes=$likes{$symb.':'.$idx.':likes'};                                  my $thislikes=$likes{$symb.':'.$idx.':likes'};
                                 if ($thislikes>0) {                                   if ($thislikes>0) { 
Line 2935  sub storefeedbackpoints { Line 2935  sub storefeedbackpoints {
     my %record=('grader_user'   => $env{'user.name'},      my %record=('grader_user'   => $env{'user.name'},
                 'grader_domain' => $env{'user.domain'},                  'grader_domain' => $env{'user.domain'},
                 'points' => $points);                  'points' => $points);
     return &Apache::lonnet::cstore(\%record,'_feedback');      return &Apache::lonnet::cstore(\%record,'_feedback',$course,$udom,$uname);
 }  }
   
 # Store feedback "likes"  # Store feedback "likes"
Line 2955  sub storefeedbacklikes { Line 2955  sub storefeedbacklikes {
                    'likes_domain' => $env{'user.domain'},                     'likes_domain' => $env{'user.domain'},
                    'likes' => $likes,                     'likes' => $likes,
                    'totallikes' => $totallikes);                     'totallikes' => $totallikes);
     return &Apache::lonnet::cstore(\%newrecord,'_feedback');      return &Apache::lonnet::cstore(\%newrecord,'_feedback',$course,$udom,$uname);
 }  }
   
   
Line 3088  sub getdiscussionrecords { Line 3088  sub getdiscussionrecords {
   
 sub getdiscussionstats {  sub getdiscussionstats {
     my %record=&getdiscussionrecords(@_);      my %record=&getdiscussionrecords(@_);
     return ($record{'subnumber'},$record{'points'},$record{'totallikes'});      return ($record{'subnumber'},$record{'points'},$record{'totallikes'},$record{'totalvotes'});
   }
   
   # Calculate discussion karma
   
   sub calcdiscussionkarma {    
       my ($subs,$pts,$likes,$votes)=&getdiscussionstats(@_);
       my $karma=0;
       if ($votes>0) {
           $karma=int(.1+5.*(1.-exp(-$subs/10.))*$likes/$votes);
           if ($karma<0) { $karma=0; }
           if ($karma>5) { $karma=5; }
       }
       return $karma;
 }  }
   
   # Update karma
   
   sub updatekarma {
       my ($uname,$udom,$course)=@_;
       unless ($uname) { $uname=$env{'user.name'}; }
       unless ($udom)  { $udom=$env{'user.domain'}; }
       unless ($course) { $course=$env{'request.course.id'}; }
       my $karma=&calcdiscussionkarma($uname,$udom,$course);
   }
   
 # Store discussion credit  # Store discussion credit
   
Line 3103  sub storediscussionpoints { Line 3125  sub storediscussionpoints {
     my %record=('grader_user'   => $env{'user.name'},      my %record=('grader_user'   => $env{'user.name'},
                 'grader_domain' => $env{'user.domain'},                  'grader_domain' => $env{'user.domain'},
                 'points' => $points);                  'points' => $points);
     return &Apache::lonnet::cstore(\%record,'_discussion');      return &Apache::lonnet::cstore(\%record,'_discussion',$course,$udom,$uname);
 }  }
   
 # Store discussion "likes"  # Store discussion "likes"
Line 3118  sub storediscussionlikes { Line 3140  sub storediscussionlikes {
     unless ($course) { $course=$env{'request.course.id'}; }      unless ($course) { $course=$env{'request.course.id'}; }
     my %record=&getdiscussionrecords($uname,$udom,$course);      my %record=&getdiscussionrecords($uname,$udom,$course);
     my $totallikes=$record{'totallikes'};      my $totallikes=$record{'totallikes'};
       my $totalvotes=$record{'totalvotes'};
     $totallikes+=$likes;      $totallikes+=$likes;
       $totalvotes++;
     my %newrecord=('likes_user'   => $env{'user.name'},      my %newrecord=('likes_user'   => $env{'user.name'},
                    'likes_domain' => $env{'user.domain'},                     'likes_domain' => $env{'user.domain'},
                    'likes' => $likes,                     'likes' => $likes,
                    'totallikes' => $totallikes);                     'totallikes' => $totallikes,
     return &Apache::lonnet::cstore(\%newrecord,'_discussion');                     'totalvotes' => $totalvotes);
       return &Apache::lonnet::cstore(\%newrecord,'_discussion',$course,$udom,$uname);
 }  }
   
 sub get_discussion_info {  sub get_discussion_info {

Removed from v.1.330  
changed lines
  Added in v.1.331


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>