version 1.94, 2011/05/27 19:32:10
|
version 1.95, 2011/05/28 16:55:49
|
Line 599 sub output_category_table {
|
Line 599 sub output_category_table {
|
my %performance=&dumpdata($navmaps); |
my %performance=&dumpdata($navmaps); |
my $maxpos=$#order; |
my $maxpos=$#order; |
for (my $i=0;$i<=$maxpos;$i++) { |
for (my $i=0;$i<=$maxpos;$i++) { |
my ($value,$weight)=&output_and_calc_category($r,$cangrade,$navmaps,$order[$i],$i,$maxpos,\%performance,1,%categories); |
my ($correct,$possible,$type,$weight)=&output_and_calc_category($r,$cangrade,$navmaps,$order[$i],$i,$maxpos,\%performance,1,%categories); |
$sum+=$value*$weight; |
$sum+=$correct*$weight; |
$total+=$weight; |
$total+=$weight; |
} |
} |
# |
# |
Line 632 sub output_category_table_header {
|
Line 632 sub output_category_table_header {
|
|
|
sub output_and_calc_category { |
sub output_and_calc_category { |
my ($r,$cangrade,$navmaps,$id,$currentpos,$maxpos,$performance,$output,%categories)=@_; |
my ($r,$cangrade,$navmaps,$id,$currentpos,$maxpos,$performance,$output,%categories)=@_; |
my $value=0; |
|
my $weight=0; |
|
my $iconpath = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL') . "/"); |
my $iconpath = &Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL') . "/"); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'up' => 'Move Up', |
'up' => 'Move Up', |
Line 766 ENDMOVE
|
Line 765 ENDMOVE
|
$r->print('<p>'.&mt('Calculated points: [_1]/[_2]',$totalcorrect,$totalpossible).'</p>'); |
$r->print('<p>'.&mt('Calculated points: [_1]/[_2]',$totalcorrect,$totalpossible).'</p>'); |
$r->print('</td>'); |
$r->print('</td>'); |
} |
} |
|
# |
|
# Prepare for export |
|
# |
# Weight |
# Weight |
|
my $weight=$categories{$id.'_weight'}; |
|
unless (1.*$weight>0) { $weight=0; } |
if ($cangrade) { |
if ($cangrade) { |
if ($output) { |
if ($output) { |
$r->print('<td>'. |
$r->print('<td>'. |
'<input type="text" size="4" name="weight_'.$id. |
'<input type="text" size="4" name="weight_'.$id. |
'" value="'.&Apache::lonhtmlcommon::entity_encode($categories{$id.'_weight'}).'" /></td>'); |
'" value="'.&Apache::lonhtmlcommon::entity_encode($weight).'" /></td>'); |
} |
} |
} else { |
} else { |
if ($output) { |
if ($output) { |
$r->print('<td>'.$categories{$id.'_weight'}.'</td>'); |
$r->print('<td>'.$weight.'</td>'); |
} |
} |
} |
} |
# Achieved |
# Achieved |
|
my $type=$categories{$id.'_displayachieved'}; |
|
unless (($type eq 'percent') || ($type eq 'points')) { $type='points'; } |
if ($output) { $r->print('<td>'); } |
if ($output) { $r->print('<td>'); } |
if ($cangrade) { |
if ($cangrade) { |
if ($output) { |
if ($output) { |
$r->print('<select name="displayachieved_'.$id.'">'. |
$r->print('<select name="displayachieved_'.$id.'">'. |
'<option value="percent"'.($categories{$id.'_displayachieved'} eq 'percent'?' selected="selected"':'').'>'.&mt('percent').'</option>'. |
'<option value="percent"'.($type eq 'percent'?' selected="selected"':'').'>'.&mt('percent').'</option>'. |
'<option value="points"'.($categories{$id.'_displayachieved'} eq 'points'?' selected="selected"':'').'>'.&mt('points').'</option>'. |
'<option value="points"'.($type eq 'points'?' selected="selected"':'').'>'.&mt('points').'</option>'. |
'</select>'); |
'</select>'); |
} |
} |
} else { |
} |
if ($output) { |
if ($output) { |
if ($categories{$id.'_displayachieved'} eq 'percent') { |
$r->print('<p>'); |
$r->print(&mt('percent')); |
if ($type eq 'percent') { |
} else { |
my $perc='---'; |
$r->print(&mt('points')); |
if ($totalpossible) { |
|
$perc=100.*$totalcorrect/$totalpossible; |
} |
} |
|
$r->print(&mt('[_1] percent',$perc)); |
|
} else { |
|
$r->print(&mt('[_1]/[_2] points',$totalcorrect,$totalpossible)); |
} |
} |
|
$r->print('</p>'); |
} |
} |
if ($output) { $r->print('</td>'); } |
if ($output) { $r->print('</td>'); } |
|
|
return ($value,$weight); |
return ($totalcorrect,$totalpossible,$type,$weight); |
} |
} |
|
|
# |
# |