--- loncom/homework/grades.pm 2007/08/29 10:12:15 1.435 +++ loncom/homework/grades.pm 2007/09/02 02:10:31 1.438 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.435 2007/08/29 10:12:15 foxr Exp $ +# $Id: grades.pm,v 1.438 2007/09/02 02:10:31 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -6542,7 +6542,7 @@ sub scantron_get_maxbubble { ('grade_courseid' => $cid), ('grade_domain' => $udom), ('grade_username' => $uname)); - my ($garbage, $an) = + my (undef, $an) = split(/_HASH_REF__/,$result, 2); my %analysis = &Apache::lonnet::str2hash($an); @@ -7118,9 +7118,10 @@ sub gather_clicker_ids { # Set up a couple variables. my $username_idx = &Apache::loncoursedata::CL_SNAME(); my $domain_idx = &Apache::loncoursedata::CL_SDOM(); + my $status_idx = &Apache::loncoursedata::CL_STATUS(); foreach my $student (keys(%$classlist)) { - + if ($classlist->{$student}->[$status_idx] ne 'Active') { next; } my $username = $classlist->{$student}->[$username_idx]; my $domain = $classlist->{$student}->[$domain_idx]; my $clickers = @@ -7381,8 +7382,21 @@ ENDHEADER $result.="\n".''; $correct_count++; } elsif ($clicker_ids{$id}) { - $result.="\n".''; - $student_count++; + if ($clicker_ids{$id}=~/\,/) { +# More than one user with the same clicker! + $result.="\n
".&mt('Clicker registered more than once').": ".$id."
"; + $result.="\n".''. + "'; + $unknown_count++; + } else { +# Good: found one and only one user with the right clicker + $result.="\n".''; + $student_count++; + } } else { $result.="\n
".&mt('Unregistered Clicker')." ".$id."
"; $result.="\n".''. @@ -7533,6 +7547,8 @@ ENDHEADER my $id=$1; if (($env{'form.uname'.$id}) && ($env{'form.udom'.$id})) { $user=$env{'form.uname'.$id}.':'.$env{'form.udom'.$id}; + } elsif ($env{'form.multi'.$id}) { + $user=$env{'form.multi'.$id}; } } if ($user) {