version 1.207, 2007/01/25 21:02:25
|
version 1.208, 2007/02/18 02:03:18
|
Line 61 sub start_answer {
|
Line 61 sub start_answer {
|
if (!defined($type)) { $type = 'ordered' }; |
if (!defined($type)) { $type = 'ordered' }; |
$answer{$cur_name}= { 'type' => $type, |
$answer{$cur_name}= { 'type' => $type, |
'answers' => [] }; |
'answers' => [] }; |
|
if ($target eq 'edit') { |
|
$result.=&Apache::edit::tag_start($target,$token); |
|
$result.=&Apache::edit::text_arg('Name:','name',$token); |
|
$result.=&Apache::edit::select_arg('Type:','type', |
|
[['ordered', 'Ordered' ], |
|
['unordered','Unordered'],], |
|
$token); |
|
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
|
} elsif ($target eq 'modified') { |
|
my $constructtag = &Apache::edit::get_new_args($token,$parstack, |
|
$safeeval,'name', |
|
'type'); |
|
if ($constructtag) { |
|
$result = &Apache::edit::rebuild_tag($token); |
|
$result.= &Apache::edit::handle_insert(); |
|
} |
|
} |
return $result; |
return $result; |
} |
} |
|
|
sub end_answer { |
sub end_answer { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
|
if ($target eq 'edit') { |
|
$result .= &Apache::edit::tag_end(); |
|
} |
|
|
undef($cur_name); |
undef($cur_name); |
return $result; |
return $result; |
} |
} |
|
|
|
sub insert_answer { |
|
return ' |
|
<answer> |
|
<value></value> |
|
</answer>'; |
|
} |
|
|
sub start_answergroup { |
sub start_answergroup { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
|
if ($target eq 'edit') { |
|
$result.=&Apache::edit::tag_start($target,$token); |
|
$result.=&Apache::edit::select_arg('Type:','type', |
|
[['ordered', 'Ordered' ], |
|
['unordered','Unordered'],], |
|
$token); |
|
$result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row(); |
|
} elsif ($target eq 'modified') { |
|
my $constructtag = &Apache::edit::get_new_args($token,$parstack, |
|
$safeeval,'name', |
|
'type'); |
|
if ($constructtag) { |
|
$result = &Apache::edit::rebuild_tag($token); |
|
$result.= &Apache::edit::handle_insert(); |
|
} |
|
} |
return $result; |
return $result; |
} |
} |
|
|
Line 88 sub end_answergroup {
|
Line 132 sub end_answergroup {
|
$target,$token,$tagstack,$parstack,$parser, |
$target,$token,$tagstack,$parstack,$parser, |
$safeeval,-2); |
$safeeval,-2); |
} |
} |
|
} elsif ($target eq 'edit') { |
|
$result .= &Apache::edit::tag_end(); |
} |
} |
return $result; |
return $result; |
} |
} |
|
|
|
sub insert_answergroup { |
|
return ' |
|
<answergroup> |
|
<answer> |
|
<value></value> |
|
</answer> |
|
</answergroup>'; |
|
} |
|
|
sub start_value { |
sub start_value { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
Line 104 sub start_value {
|
Line 159 sub start_value {
|
|
|
push(@{ $answer{$cur_name}{'answers'} },[$bodytext]); |
push(@{ $answer{$cur_name}{'answers'} },[$bodytext]); |
|
|
|
} elsif ($target eq 'edit') { |
|
$result.=&Apache::edit::tag_start($target,$token); |
|
my $bodytext = &Apache::lonxml::get_all_text("/value",$parser,$style); |
|
$result.=&Apache::edit::editline($token->[1],$bodytext,undef,40). |
|
&Apache::edit::end_row(); |
|
} elsif ($target eq 'modified') { |
|
$result=$token->[4].&Apache::edit::modifiedfield('/value',$parser); |
} |
} |
return $result; |
return $result; |
} |
} |
Line 111 sub start_value {
|
Line 173 sub start_value {
|
sub end_value { |
sub end_value { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
|
if ($target eq 'edit') { |
|
$result = &Apache::edit::end_table(); |
|
} |
return $result; |
return $result; |
} |
} |
|
|
|
sub insert_value { |
|
return ' |
|
<value></value>'; |
|
} |
|
|
sub start_vector { |
sub start_vector { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
Line 126 sub start_vector {
|
Line 196 sub start_vector {
|
@values = split(',',$values[0]); |
@values = split(',',$values[0]); |
} |
} |
push(@{ $answer{$cur_name}{'answers'} },\@values); |
push(@{ $answer{$cur_name}{'answers'} },\@values); |
|
} elsif ($target eq 'edit') { |
|
$result.=&Apache::edit::tag_start($target,$token); |
|
my $bodytext = &Apache::lonxml::get_all_text("/vector",$parser,$style); |
|
$result.=&Apache::edit::editline($token->[1],$bodytext,undef,40). |
|
&Apache::edit::end_row(); |
|
} elsif ($target eq 'modified') { |
|
$result=$token->[4].&Apache::edit::modifiedfield('/vector',$parser); |
} |
} |
return $result; |
return $result; |
} |
} |
Line 133 sub start_vector {
|
Line 210 sub start_vector {
|
sub end_vector { |
sub end_vector { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; |
my $result; |
my $result; |
|
if ($target eq 'edit') { |
|
$result = &Apache::edit::end_table(); |
|
} |
return $result; |
return $result; |
} |
} |
|
|
|
sub insert_vector { |
|
return ' |
|
<value></value>'; |
|
} |
|
|
sub start_array { |
sub start_array { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
Line 173 sub start_numericalresponse {
|
Line 258 sub start_numericalresponse {
|
&Apache::lonxml::register('Apache::caparesponse', |
&Apache::lonxml::register('Apache::caparesponse', |
('answer','answergroup','value','array','unit', |
('answer','answergroup','value','array','unit', |
'vector')); |
'vector')); |
|
push(@Apache::lonxml::namespace,'caparesponse'); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
my $id = &Apache::response::start_response($parstack,$safeeval); |
my $result; |
my $result; |
undef(%answer); |
undef(%answer); |
Line 392 sub capa_formula_fix {
|
Line 478 sub capa_formula_fix {
|
|
|
sub end_numericalresponse { |
sub end_numericalresponse { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
|
|
|
&Apache::lonxml::deregister('Apache::caparesponse', |
|
('answer','answergroup','value','array','unit', |
|
'vector')); |
|
pop(@Apache::lonxml::namespace); |
|
|
my $increment=1; |
my $increment=1; |
my $result = ''; |
my $result = ''; |
if (!$Apache::lonxml::default_homework_loaded) { |
if (!$Apache::lonxml::default_homework_loaded) { |