Diff for /loncom/interface/lonfeedback.pm between versions 1.318 and 1.320

version 1.318, 2012/01/04 18:23:38 version 1.320, 2012/01/04 20:12:40
Line 2787  sub send_msg { Line 2787  sub send_msg {
  }   }
     }      }
   
 # Records of number of postings, etc, are kept under the "symb" called "_feedback"  # Records of number of feedback messages are kept under the "symb" called "_feedback"
 # There are two entries within the framework of a course:  # There are two entries within the framework of a course:
 # - the URLs for which feedback was provided  # - the URLs for which feedback was provided
 # - the total number of contributions  # - the total number of contributions
     my %record=&Apache::lonnet::restore('_feedback');      if ($sendsomething) {
     my ($temp)=keys(%record);          my %record=&getfeedbackrecords();
     unless ($temp=~/^error\:/) {          my ($temp)=keys(%record);
  my %newrecord=();          unless ($temp=~/^error\:/) {
  $newrecord{'resource'}=$feedurl;      my %newrecord=();
  $newrecord{'subnumber'}=$record{'subnumber'}+1;      $newrecord{'resource'}=$feedurl;
  unless (&Apache::lonnet::cstore(\%newrecord,'_feedback') eq 'ok') {      $newrecord{'subnumber'}=$record{'subnumber'}+1;
     $status.='<br />'.&mt('Not registered').'<br />';      unless (&Apache::lonnet::cstore(\%newrecord,'_feedback') eq 'ok') {
  }          $status.='<br />'.&mt('Not registered').'<br />';
       }
           }
     }      }
       
     return ($status,$sendsomething);      return ($status,$sendsomething);
 }  }
   
 # Routine to get the complete discussion records  # Routine to get the complete feedback records
   
 sub getdiscrecords {  sub getfeedbackrecords {
     my ($uname,$udom,$course)=@_;      my ($uname,$udom,$course)=@_;
     unless ($uname) { $uname=$env{'user.name'}; }      unless ($uname) { $uname=$env{'user.name'}; }
     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 %record=&Apache::lonnet::restore('_feedback',$course,$udom,$uname);      my %record=&Apache::lonnet::restore('_feedback',$course,$udom,$uname);
    return %record;      return %record;
   }
   
   # Routine to get feedback statistics
   
   sub getfeedbackstats {
       my %record=&getfeedbackrecords(@_);
       my $subnumber=$record{'subnumber'};
       my $points=0;
       my $likes=0;
       foreach my $key (keys(%record)) {
           if ($key=~/^\d+\:points$/) {
               $points+=$record{$key};
           }
           if ($key=~/^\d+\:likes$/) {
               $likes+=$record{$key};
           }
       }
       return ($subnumber,$points,$likes);
   }
   
   # Store feedback credit
   
   sub storefeedbackpoints {
       my ($points,$uname,$udom,$course)=@_;
       unless ($points) { $points=0; }
       unless ($uname) { $uname=$env{'user.name'}; }
       unless ($udom)  { $udom=$env{'user.domain'}; }
       unless ($course) { $course=$env{'request.course.id'}; }
       my %record=('grader_user'   => $env{'user.name'},
                   'grader_domain' => $env{'user.domain'},
                   'points' => $points);
       return &Apache::lonnet::cstore(\%record,'_feedback');
 }  }
   
   # Store feedback "likes"
   
   sub storefeedbacklikes {
       my ($likes,$uname,$udom,$course)=@_;
       unless ($likes) { $likes=0; }
       if ($likes>0) { $likes=1; }
       if ($likes<0) { $likes=-1; }
       unless ($uname) { $uname=$env{'user.name'}; }
       unless ($udom)  { $udom=$env{'user.domain'}; }
       unless ($course) { $course=$env{'request.course.id'}; }
       my %record=('likes_user'   => $env{'user.name'},
                   'likes_domain' => $env{'user.domain'},
                   'likes' => $likes);
       return &Apache::lonnet::cstore(\%record,'_feedback');
   }
   
   
 sub adddiscuss {  sub adddiscuss {
     my ($symb,$email,$anon,$attachmenturl,$subject,$group)=@_;      my ($symb,$email,$anon,$attachmenturl,$subject,$group)=@_;
     my $status='';      my $status='';

Removed from v.1.318  
changed lines
  Added in v.1.320


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