[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /homework grades.pm
raeburn
raeburn at source.lon-capa.org
Wed May 2 11:28:10 EDT 2012
raeburn Wed May 2 15:28:10 2012 EDT
Modified files: (Branch: version_2_11_X)
/loncom/homework grades.pm
Log:
- Backport 1.666.
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.596.2.12.2.3 loncom/homework/grades.pm:1.596.2.12.2.4
--- loncom/homework/grades.pm:1.596.2.12.2.3 Wed May 2 15:21:00 2012
+++ loncom/homework/grades.pm Wed May 2 15:28:09 2012
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.596.2.12.2.3 2012/05/02 15:21:00 raeburn Exp $
+# $Id: grades.pm,v 1.596.2.12.2.4 2012/05/02 15:28:09 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -9167,7 +9167,8 @@
my $pincorrect=&mt("Percentage points for incorrect solution");
my $selectform=&Apache::loncommon::select_form($env{'form.upfiletype'},'upfiletype',
{'iclicker' => 'i>clicker',
- 'interwrite' => 'interwrite PRS'});
+ 'interwrite' => 'interwrite PRS',
+ 'turning' => 'Turning Technologies'});
$symb = &Apache::lonenc::check_encrypt($symb);
$result.=<<ENDUPFORM;
<script type="text/javascript">
@@ -9340,6 +9341,9 @@
if ($env{'form.upfiletype'} eq 'interwrite') {
($errormsg,$number)=&interwrite_eval(\@questiontitles,\%responses);
}
+ if ($env{'form.upfiletype'} eq 'turning') {
+ ($errormsg,$number)=&turning_eval(\@questiontitles,\%responses);
+ }
$result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />'.
'<input type="hidden" name="number" value="'.$number.'" />'.
&mt('Awarding [_1] percent for correct and [_2] percent for incorrect responses',
@@ -9471,6 +9475,31 @@
return ($errormsg,$number);
}
+sub turning_eval {
+ my ($questiontitles,$responses)=@_;
+ my $number=0;
+ my $errormsg='';
+ foreach my $line (split(/[\n\r]/,$env{'form.upfile'})) {
+ my %components=&Apache::loncommon::record_sep($line);
+ my @entries=map {$components{$_}} (sort(keys(%components)));
+ if ($#entries>$number) { $number=$#entries; }
+ my $id=$entries[0];
+ my @idresponses;
+ $id=~s/^[\#0]+//;
+ unless ($id) { next; }
+ for (my $idx=1;$idx<=$#entries;$idx++) {
+ $entries[$idx]=~s/\,/\;/g;
+ $entries[$idx]=~s/[^a-zA-Z0-9\.\*\-\+\;]+//g;
+ push(@idresponses,$entries[$idx]);
+ }
+ $$responses{$id}=join(',', at idresponses);
+ }
+ for (my $i=1; $i<=$number; $i++) {
+ $$questiontitles[$i]=&mt('Question [_1]',$i);
+ }
+ return ($errormsg,$number);
+}
+
sub assign_clicker_grades {
my ($r)=@_;
my ($symb)=&get_symb($r);
More information about the LON-CAPA-cvs
mailing list