version 1.68, 2005/05/10 11:24:01
|
version 1.74, 2006/03/09 01:11:12
|
Line 63 sub start_imageresponse {
|
Line 63 sub start_imageresponse {
|
|
|
sub end_imageresponse { |
sub end_imageresponse { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
&Apache::response::end_response; |
|
pop @Apache::lonxml::namespace; |
pop(@Apache::lonxml::namespace); |
&Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup')); |
&Apache::lonxml::deregister('Apache::imageresponse',('foilgroup','foil','text','image','rectangle','conceptgroup')); |
|
|
my $result; |
my $result; |
if ($target eq 'edit') { $result=&Apache::edit::end_table(); } |
if ($target eq 'edit') { |
|
$result=&Apache::edit::end_table(); |
|
} elsif ($target eq 'tex') { |
|
$result=&Apache::inputtags::exam_score_line($target); |
|
} |
|
|
undef(%Apache::response::foilnames); |
undef(%Apache::response::foilnames); |
|
|
|
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
|
$target eq 'tex' || $target eq 'analyze') { |
|
&Apache::lonxml::increment_counter(&Apache::response::repetition()); |
|
} |
|
&Apache::response::end_response(); |
|
|
return $result; |
return $result; |
} |
} |
|
|
Line 238 sub clean_up_image {
|
Line 251 sub clean_up_image {
|
|
|
sub gradefoils { |
sub gradefoils { |
my (@whichopt) = @_; |
my (@whichopt) = @_; |
|
|
|
my $partid = $Apache::inputtags::part; |
|
my $id = $Apache::inputtags::response['-1']; |
|
|
|
if ($Apache::lonhomework::type eq 'exam') { |
|
&Apache::response::scored_response($partid,$id); |
|
return; |
|
} |
|
|
my $x; |
my $x; |
my $y; |
my $y; |
my $result; |
my $result; |
my $id=$Apache::inputtags::response['-1']; |
|
my $temp=1; |
my $temp=1; |
foreach my $name (@whichopt) { |
foreach my $name (@whichopt) { |
$x=$env{"form.HWVAL_$id:$temp.x"}; |
$x=$env{"form.HWVAL_$id:$temp.x"}; |
Line 280 sub gradefoils {
|
Line 301 sub gradefoils {
|
&Apache::response::handle_previous(\%previous,$result); |
&Apache::response::handle_previous(\%previous,$result); |
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$responsestr; |
$Apache::lonhomework::results{"resource.$part.$id.submission"}=$responsestr; |
$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$result; |
$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$result; |
return ''; |
return; |
} |
} |
|
|
sub end_foilgroup { |
sub end_foilgroup { |
Line 347 sub start_foil {
|
Line 368 sub start_foil {
|
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex' || |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex' || |
$target eq 'analyze') { |
$target eq 'analyze') { |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
if (!$name) { |
if ($name eq "") { |
&Apache::lonxml::error("Foils without names exist. This can cause problems to malfunction."); |
&Apache::lonxml::warning("Foils without names exist. This can cause problems to malfunction."); |
$name=$Apache::lonxml::curdepth; |
$name=$Apache::lonxml::curdepth; |
} |
} |
if (defined($Apache::response::foilnames{$name})) { |
if (defined($Apache::response::foilnames{$name})) { |
Line 391 sub start_text {
|
Line 412 sub start_text {
|
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
&Apache::lonxml::startredirection; |
&Apache::lonxml::startredirection; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
my $descr=&Apache::lonxml::get_all_text('/text',$parser); |
my $descr=&Apache::lonxml::get_all_text('/text',$parser,$style); |
$result=&Apache::edit::tag_start($target,$token,'Task Description'). |
$result=&Apache::edit::tag_start($target,$token,'Task Description'). |
&Apache::edit::editfield($token->[1],$descr,'Text',60,2). |
&Apache::edit::editfield($token->[1],$descr,'Text',60,2). |
&Apache::edit::end_row(); |
&Apache::edit::end_row(); |
Line 425 sub start_image {
|
Line 446 sub start_image {
|
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { |
&Apache::lonxml::startredirection; |
&Apache::lonxml::startredirection; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
my $bgimg=&Apache::lonxml::get_all_text('/image',$parser); |
my $bgimg=&Apache::lonxml::get_all_text('/image',$parser,$style); |
$Apache::edit::bgimgsrc=$bgimg; |
$Apache::edit::bgimgsrc=$bgimg; |
$Apache::edit::bgimgsrcdepth=$Apache::lonxml::curdepth; |
$Apache::edit::bgimgsrcdepth=$Apache::lonxml::curdepth; |
|
|
Line 470 sub end_image {
|
Line 491 sub end_image {
|
|
|
# There may be all sorts of whitespace on fore and aft: |
# There may be all sorts of whitespace on fore and aft: |
|
|
$src =~ s/\s+$//; |
$src =~ s/\s+$//s; |
$src =~ s/^\s+//; |
$src =~ s/^\s+//s; |
|
|
# |
# |
# Gnuplot e.g. just generates the latex to put inplace. |
# Gnuplot e.g. just generates the latex to put inplace. |
# |
# |
my $graphinclude; |
my $graphinclude; |
if ($src =~ /^\\graphicspath/) { |
if ($src =~ /^%DYNAMICIMAGE/) { |
|
# This is needed because the newline is not always passed -> tex. |
|
# At present we don't care about the sizing info. |
|
|
|
my ($commentline, $restofstuff) = split(/\n/, $src); |
$graphinclude = $src; |
$graphinclude = $src; |
|
$graphinclude =~ s/^$commentline//; |
} else { |
} else { |
my ($path,$file) = &Apache::londefdef::get_eps_image($src); |
my ($path,$file) = &Apache::londefdef::get_eps_image($src); |
my ($height_param,$width_param)= |
my ($height_param,$width_param)= |
Line 497 sub start_rectangle {
|
Line 523 sub start_rectangle {
|
$target eq 'analyze') { |
$target eq 'analyze') { |
&Apache::lonxml::startredirection; |
&Apache::lonxml::startredirection; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
my $coords=&Apache::lonxml::get_all_text('/rectangle',$parser); |
my $coords=&Apache::lonxml::get_all_text('/rectangle',$parser,$style); |
$result=&Apache::edit::tag_start($target,$token,'Rectangle'). |
$result=&Apache::edit::tag_start($target,$token,'Rectangle'). |
&Apache::edit::editline($token->[1],$coords,'Coordinate Pairs',40). |
&Apache::edit::editline($token->[1],$coords,'Coordinate Pairs',40). |
&Apache::edit::entercoord(undef,'textnode',undef,undef,'box'). |
&Apache::edit::entercoord(undef,'textnode',undef,undef,'box'). |
Line 551 sub start_polygon {
|
Line 577 sub start_polygon {
|
$target eq 'analyze') { |
$target eq 'analyze') { |
&Apache::lonxml::startredirection; |
&Apache::lonxml::startredirection; |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
my $coords=&Apache::lonxml::get_all_text('/polygon',$parser); |
my $coords=&Apache::lonxml::get_all_text('/polygon',$parser,$style); |
$result=&Apache::edit::tag_start($target,$token,'Polygon'). |
$result=&Apache::edit::tag_start($target,$token,'Polygon'). |
&Apache::edit::editline($token->[1],$coords,'Coordinate list',40). |
&Apache::edit::editline($token->[1],$coords,'Coordinate list',40). |
&Apache::edit::entercoord(undef,'textnode',undef,undef,'polygon'). |
&Apache::edit::entercoord(undef,'textnode',undef,undef,'polygon'). |