version 1.23, 2003/01/16 02:55:05
|
version 1.24, 2003/02/25 16:09:01
|
Line 96 sub whichfoils {
|
Line 96 sub whichfoils {
|
} |
} |
|
|
sub displayfoils { |
sub displayfoils { |
my (@whichopt) = @_; |
my ($target,@whichopt) = @_; |
my $result =''; |
my $result =''; |
my $name; |
my $name; |
my $temp=1; |
my $temp=1; |
foreach $name (@whichopt) { |
foreach $name (@whichopt) { |
$result.=$Apache::response::foilgroup{"$name.text"}."<br />\n"; |
$result.=$Apache::response::foilgroup{"$name.text"}; |
|
if ($target eq 'tex') {$result.="\\vskip 0 mm \n";} else {$result.="<br />\n";} |
my $image=$Apache::response::foilgroup{"$name.image"}; |
my $image=$Apache::response::foilgroup{"$name.image"}; |
if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ ) { |
if ($Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"} =~ /^correct/ ) { |
$result.="<img src=\"$image\"/> <br />\n"; |
if ($target eq 'tex') { |
|
$result.=$Apache::response::foilgroup{"$name.image"}."\\vskip 0 mm \n"; |
|
} else { |
|
$result.="<img src=\"$image\"/> <br />\n"; |
|
} |
} else { |
} else { |
$result.="<input type=\"image\" name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\" src=\"$image\"/> <br />\n"; |
if ($target eq 'tex') { |
|
$result.=$Apache::response::foilgroup{"$name.image"}."\\vskip 0 mm \n"; |
|
} else { |
|
$result.="<input type=\"image\" name=\"HWVAL_$Apache::inputtags::response['-1']:$temp\" src=\"$image\"/> <br />\n"; |
|
} |
} |
} |
$temp++; |
$temp++; |
} |
} |
Line 155 sub end_foilgroup {
|
Line 164 sub end_foilgroup {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result=''; |
my $result=''; |
my @whichopt; |
my @whichopt; |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
my ($count,$max) = &getfoilcounts($parstack,$safeeval); |
my ($count,$max) = &getfoilcounts($parstack,$safeeval); |
if ($count>$max) { $count=$max } |
if ($count>$max) { $count=$max } |
&Apache::lonxml::debug("Count is $count from $max"); |
&Apache::lonxml::debug("Count is $count from $max"); |
@whichopt = &whichfoils($max); |
@whichopt = &whichfoils($max); |
} |
} |
if ($target eq 'web') { |
if ($target eq 'web' || $target eq 'tex') { |
$result=&displayfoils(@whichopt); |
$result=&displayfoils($target,@whichopt); |
} |
} |
if ($target eq 'grade') { |
if ($target eq 'grade') { |
if ( defined $ENV{'form.submitted'}) { |
if ( defined $ENV{'form.submitted'}) { |
Line 181 sub start_conceptgroup {
|
Line 190 sub start_conceptgroup {
|
sub end_conceptgroup { |
sub end_conceptgroup { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
$Apache::imageresponse::conceptgroup=0; |
$Apache::imageresponse::conceptgroup=0; |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
if (defined(@{ $Apache::response::conceptgroup{'names'} })) { |
if (defined(@{ $Apache::response::conceptgroup{'names'} })) { |
my @names = @{ $Apache::response::conceptgroup{'names'} }; |
my @names = @{ $Apache::response::conceptgroup{'names'} }; |
my $pick=int(&Math::Random::random_uniform() * ($#names+1)); |
my $pick=int(&Math::Random::random_uniform() * ($#names+1)); |
Line 203 sub end_conceptgroup {
|
Line 212 sub end_conceptgroup {
|
$Apache::imageresponse::curname=''; |
$Apache::imageresponse::curname=''; |
sub start_foil { |
sub start_foil { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
if ($name eq '') { $name=$Apache::lonxml::curdepth; } |
if ($name eq '') { $name=$Apache::lonxml::curdepth; } |
if ( $Apache::imageresponse::conceptgroup |
if ( $Apache::imageresponse::conceptgroup |
Line 224 sub end_foil {
|
Line 233 sub end_foil {
|
|
|
sub start_text { |
sub start_text { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if ($target eq 'web') { &Apache::lonxml::startredirection; } |
if ($target eq 'web' || $target eq 'tex') { &Apache::lonxml::startredirection; } |
return ''; |
return ''; |
} |
} |
|
|
sub end_text { |
sub end_text { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if ($target eq 'web') { |
if ($target eq 'web' || $target eq 'tex') { |
my $name = $Apache::imageresponse::curname; |
my $name = $Apache::imageresponse::curname; |
if ( $Apache::imageresponse::conceptgroup |
if ( $Apache::imageresponse::conceptgroup |
&& !&Apache::response::showallfoils() ) { |
&& !&Apache::response::showallfoils() ) { |
Line 250 sub start_image {
|
Line 259 sub start_image {
|
|
|
sub end_image { |
sub end_image { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $currentstring = ''; |
my $name = $Apache::imageresponse::curname; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $name = $Apache::imageresponse::curname; |
|
my $image = &Apache::lonxml::endredirection; |
my $image = &Apache::lonxml::endredirection; |
&Apache::lonxml::debug("out is $image"); |
&Apache::lonxml::debug("out is $image"); |
if ( $Apache::imageresponse::conceptgroup |
if ( $Apache::imageresponse::conceptgroup |
Line 324 sub end_image {
|
Line 332 sub end_image {
|
#where can we find the picture? |
#where can we find the picture? |
if (-e $newsrc) { |
if (-e $newsrc) { |
if ($path) { |
if ($path) { |
$currentstring .= '\vskip 0 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
$Apache::response::foilgroup{"$name.image"} ='\vskip 0 mm \noindent\graphicspath{{'.$path.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
} |
} |
} else { |
} else { |
my $temp_file; |
my $temp_file; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat"; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat"; |
$temp_file = Apache::File->new('>>'.$filename); |
$temp_file = Apache::File->new('>>'.$filename); |
print $temp_file "$src\n"; |
print $temp_file "$src\n"; |
$currentstring .= '\vskip 0 mm \graphicspath{{/home/httpd/prtspool/}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
$Apache::response::foilgroup{"$name.image"} ='\vskip 0 mm \graphicspath{{/home/httpd/prtspool/}}\includegraphics[width='.$width_param.' mm]{'.$file.'} '; |
} |
} |
} |
} |
return $currentstring; |
return ''; |
} |
} |
|
|
sub start_rectangle { |
sub start_rectangle { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if ($target eq 'web' || $target eq 'grade') { &Apache::lonxml::startredirection; } |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { &Apache::lonxml::startredirection; } |
return ''; |
return ''; |
} |
} |
|
|
Line 362 sub grade_rectangle {
|
Line 370 sub grade_rectangle {
|
|
|
sub end_rectangle { |
sub end_rectangle { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'tex') { |
my $name = $Apache::imageresponse::curname; |
my $name = $Apache::imageresponse::curname; |
my $area = &Apache::lonxml::endredirection; |
my $area = &Apache::lonxml::endredirection; |
&Apache::lonxml::debug("out is $area for $name"); |
&Apache::lonxml::debug("out is $area for $name"); |