version 1.418, 2007/06/22 23:45:19
|
version 1.420, 2007/07/04 20:28:44
|
Line 6211 sub process_clicker {
|
Line 6211 sub process_clicker {
|
my $pcorrect=&mt("Percentage points for correct solution"); |
my $pcorrect=&mt("Percentage points for correct solution"); |
my $pincorrect=&mt("Percentage points for incorrect solution"); |
my $pincorrect=&mt("Percentage points for incorrect solution"); |
my $selectform=&Apache::loncommon::select_form($env{'form.upfiletype'},'upfiletype', |
my $selectform=&Apache::loncommon::select_form($env{'form.upfiletype'},'upfiletype', |
('iclicker' => 'i>clicker')); |
('iclicker' => 'i>clicker', |
|
'interwrite' => 'interwrite PRS')); |
$symb = &Apache::lonenc::check_encrypt($symb); |
$symb = &Apache::lonenc::check_encrypt($symb); |
$result.=<<ENDUPFORM; |
$result.=<<ENDUPFORM; |
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 6359 ENDHEADER
|
Line 6360 ENDHEADER
|
if ($env{'form.upfiletype'} eq 'iclicker') { |
if ($env{'form.upfiletype'} eq 'iclicker') { |
($errormsg,$number)=&iclicker_eval(\@questiontitles,\%responses); |
($errormsg,$number)=&iclicker_eval(\@questiontitles,\%responses); |
} |
} |
|
if ($env{'form.upfiletype'} eq 'interwrite') { |
|
($errormsg,$number)=&interwrite_eval(\@questiontitles,\%responses); |
|
} |
$result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />'. |
$result.='<br />'.&mt('Found [_1] question(s)',$number).'<br />'. |
'<input type="hidden" name="number" value="'.$number.'" />'. |
'<input type="hidden" name="number" value="'.$number.'" />'. |
&mt('Awarding [_1] percent for correct and [_2] percent for incorrect responses', |
&mt('Awarding [_1] percent for correct and [_2] percent for incorrect responses', |
Line 6438 sub iclicker_eval {
|
Line 6442 sub iclicker_eval {
|
return ($errormsg,$number); |
return ($errormsg,$number); |
} |
} |
|
|
|
sub interwrite_eval { |
|
my ($questiontitles,$responses)=@_; |
|
my $number=0; |
|
my $errormsg=''; |
|
my $skipline=1; |
|
my $questionnumber=0; |
|
my %idresponses=(); |
|
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[1] eq 'Time') { $skipline=0; next; } |
|
if ($entries[1] eq 'Response') { $skipline=1; } |
|
next if $skipline; |
|
if ($entries[0]!=$questionnumber) { |
|
$questionnumber=$entries[0]; |
|
$$questiontitles[$number]=&mt('Question [_1]',$questionnumber); |
|
$number++; |
|
} |
|
my $id=$entries[4]; |
|
$id=~s/^[\#0]+//; |
|
$idresponses{$id}[$number]=$entries[6]; |
|
} |
|
foreach my $id (keys %idresponses) { |
|
$$responses{$id}=join(',',@{$idresponses{$id}}); |
|
$$responses{$id}=~s/^\s*\,//; |
|
} |
|
return ($errormsg,$number); |
|
} |
|
|
sub assign_clicker_grades { |
sub assign_clicker_grades { |
my ($r)=@_; |
my ($r)=@_; |
my ($symb)=&get_symb($r); |
my ($symb)=&get_symb($r); |
Line 6490 ENDHEADER
|
Line 6523 ENDHEADER
|
my $pincorrect=$env{'form.pincorrect'}; |
my $pincorrect=$env{'form.pincorrect'}; |
my $storecount=0; |
my $storecount=0; |
foreach my $key (keys(%env)) { |
foreach my $key (keys(%env)) { |
|
my $user=''; |
if ($key=~/^form\.student\:(.*)$/) { |
if ($key=~/^form\.student\:(.*)$/) { |
my $user=$1; |
$user=$1; |
|
} |
|
if ($key=~/^form\.unknown\:(.*)$/) { |
|
my $id=$1; |
|
if (($env{'form.uname'.$id}) && ($env{'form.udom'.$id})) { |
|
$user=$env{'form.uname'.$id}.':'.$env{'form.udom'.$id}; |
|
} |
|
} |
|
if ($user) { |
my @answer=split(/\,/,$env{$key}); |
my @answer=split(/\,/,$env{$key}); |
my $sum=0; |
my $sum=0; |
for (my $i=0;$i<$number;$i++) { |
for (my $i=0;$i<$number;$i++) { |