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=''; |