version 1.25, 2004/09/23 15:31:40
|
version 1.28, 2004/10/04 19:11:38
|
Line 118 sub ProblemSelector {
|
Line 118 sub ProblemSelector {
|
my ($AcceptedResponseTypes) = @_; |
my ($AcceptedResponseTypes) = @_; |
my $Str; |
my $Str; |
$Str = "\n<table>\n"; |
$Str = "\n<table>\n"; |
|
my $rb_count =0; |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) { |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) { |
next if ($seq->{'num_assess'}<1); |
next if ($seq->{'num_assess'}<1); |
my $seq_str = ''; |
my $seq_str = ''; |
Line 141 sub ProblemSelector {
|
Line 142 sub ProblemSelector {
|
if (! defined($title) || $title eq '') { |
if (! defined($title) || $title eq '') { |
($title) = ($res->{'src'} =~ m:/([^/]*)$:); |
($title) = ($res->{'src'} =~ m:/([^/]*)$:); |
} |
} |
$seq_str .= '<tr><td>'. |
$seq_str .= '<tr>'. |
'<input type="radio" name="problemchoice" value="'.$value.'" '.$checked.'/>'. |
qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value" $checked /></td>}. |
'</td><td>'. |
'<td><label for="'.$rb_count.'">'.$resptype.'</label></td>'. |
$resptype.'</td><td>'. |
'<td><label for="'.$rb_count.'">'.$title.'</label>'; |
'<a href="'.$res->{'src'}.'">'.$title.'</a> '; |
|
# '<a href="'.$res->{'src'}.'">'.$resptype.' '.$res->{'title'}.'</a> '; |
|
if (scalar(@{$partdata->{'ResponseIds'}}) > 1) { |
if (scalar(@{$partdata->{'ResponseIds'}}) > 1) { |
$seq_str .= &mt('response').' '.$respid; |
$seq_str .= &mt('response').' '.$respid; |
} |
} |
|
$seq_str .= (' 'x2). |
|
qq{<a target="preview" href="$res->{'src'}">view</a>}; |
$seq_str .= "</td></tr>\n"; |
$seq_str .= "</td></tr>\n"; |
|
$rb_count++; |
} |
} |
} |
} |
} |
} |
Line 304 sub new_accumulator {
|
Line 306 sub new_accumulator {
|
$target .= 'id="'.$seq_id.':'.$item_id++.'" '; |
$target .= 'id="'.$seq_id.':'.$item_id++.'" '; |
$target.= |
$target.= |
'value="'.&Apache::lonnet::escape($res->symb).'" />'. |
'value="'.&Apache::lonnet::escape($res->symb).'" />'. |
' '.$res->compTitle.'</label></td>'. |
' '.$res->compTitle.'</label>'. |
'</tr>'.$/; |
(' 'x2).'<a target="preview" '. |
|
'href="'.$res->src.'">view</a>'. |
|
'</td></tr>'.$/; |
} else { |
} else { |
if (defined($target)) { |
if (defined($target)) { |
return { title => $title, |
return { title => $title, |
Line 1104 sub get_problem_data {
|
Line 1108 sub get_problem_data {
|
$Partdata{$part}->{'_Options'}=$value; |
$Partdata{$part}->{'_Options'}=$value; |
} elsif ($key eq 'concepts') { |
} elsif ($key eq 'concepts') { |
$Partdata{$part}->{'_Concepts'}=$value; |
$Partdata{$part}->{'_Concepts'}=$value; |
|
} elsif ($key eq 'items') { |
|
$Partdata{$part}->{'_Items'}=$value; |
} elsif ($key =~ /^concept\.(.*)$/) { |
} elsif ($key =~ /^concept\.(.*)$/) { |
my $concept = $1; |
my $concept = $1; |
foreach my $foil (@$value) { |
foreach my $foil (@$value) { |
$Partdata{$part}->{'_Foils'}->{$foil}->{'_Concept'}= |
$Partdata{$part}->{'_Foils'}->{$foil}->{'_Concept'}= |
$concept; |
$concept; |
} |
} |
} elsif ($key =~ /^(incorrect|answer|ans_low|ans_high)$/) { |
} elsif ($key =~ /^(incorrect|answer|ans_low|ans_high|str_type)$/) { |
$Partdata{$part}->{$key}=$value; |
$Partdata{$part}->{$key}=$value; |
} |
} |
} else { |
} else { |
Line 1122 sub get_problem_data {
|
Line 1128 sub get_problem_data {
|
} elsif ($key =~ /^foil\.value\.(.*)$/) { |
} elsif ($key =~ /^foil\.value\.(.*)$/) { |
my $foil = $1; |
my $foil = $1; |
$Partdata{$part}->{'_Foils'}->{$foil}->{'value'}=$value; |
$Partdata{$part}->{'_Foils'}->{$foil}->{'value'}=$value; |
|
} elsif ($key eq 'answercomputed') { |
|
$Partdata{$part}->{'answercomputed'} = $value; |
} |
} |
} |
} |
} |
} |
} |
} |
|
# Further debugging code |
|
if (0) { |
|
&Apache::lonnet::logthis('lonstathelpers::get_problem_data'); |
|
&log_hash_ref(\%Partdata); |
|
} |
return %Partdata; |
return %Partdata; |
} |
} |
|
|
|
sub log_array_ref { |
|
my ($arrayref,$prefix) = @_; |
|
return if (ref($arrayref) ne 'ARRAY'); |
|
if (! defined($prefix)) { $prefix = ''; }; |
|
foreach my $v (@$arrayref) { |
|
if (ref($v) eq 'ARRAY') { |
|
&log_array_ref($v,$prefix.' '); |
|
} elsif (ref($v) eq 'HASH') { |
|
&log_hash_ref($v,$prefix.' '); |
|
} else { |
|
&Apache::lonnet::logthis($prefix.'"'.$v.'"'); |
|
} |
|
} |
|
} |
|
|
|
sub log_hash_ref { |
|
my ($hashref,$prefix) = @_; |
|
return if (ref($hashref) ne 'HASH'); |
|
if (! defined($prefix)) { $prefix = ''; }; |
|
while (my ($k,$v) = each(%$hashref)) { |
|
if (ref($v) eq 'ARRAY') { |
|
&Apache::lonnet::logthis($prefix.'"'.$k.'" = array'); |
|
&log_array_ref($v,$prefix.' '); |
|
} elsif (ref($v) eq 'HASH') { |
|
&Apache::lonnet::logthis($prefix.'"'.$k.'" = hash'); |
|
&log_hash_ref($v,$prefix.' '); |
|
} else { |
|
&Apache::lonnet::logthis($prefix.'"'.$k.'" => "'.$v.'"'); |
|
} |
|
} |
|
} |
#################################################### |
#################################################### |
#################################################### |
#################################################### |
|
|