Diff for /loncom/homework/chemresponse.pm between versions 1.44 and 1.46

version 1.44, 2005/01/21 22:10:59 version 1.46, 2005/02/17 21:42:37
Line 32  use Apache::lonxml; Line 32  use Apache::lonxml;
 use Apache::lonnet;  use Apache::lonnet;
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::chemresponse',('organicresponse','organicstructure','reactionresponse'));      &Apache::lonxml::register('Apache::chemresponse',('organicresponse','organicstructure','reactionresponse','chem'));
 }  }
   
 sub chem_standard_order {  sub chem_standard_order {
Line 211  sub start_organicresponse { Line 211  sub start_organicresponse {
 sub end_organicresponse {  sub end_organicresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;      my $result;
     if ($target eq 'grade' && defined($ENV{'form.submitted'})) {      if ($target eq 'grade' && &Apache::response::submitted()) {
  &Apache::response::setup_params($$tagstack[-1],$safeeval);   &Apache::response::setup_params($$tagstack[-1],$safeeval);
  my $response = &Apache::response::getresponse();   my $response = &Apache::response::getresponse();
  if ( $response =~ /[^\s]/) {   if ( $response =~ /[^\s]/) {
Line 390  sub start_reactionresponse { Line 390  sub start_reactionresponse {
 sub end_reactionresponse {  sub end_reactionresponse {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
     my $result;      my $result;
     if ($target eq 'grade' && defined($ENV{'form.submitted'})) {      if ($target eq 'grade' && &Apache::response::submitted()) {
  &Apache::response::setup_params($$tagstack[-1],$safeeval);   &Apache::response::setup_params($$tagstack[-1],$safeeval);
  my $response = &Apache::response::getresponse();   my $response = &Apache::response::getresponse();
  if ( $response =~ /[^\s]/) {   if ( $response =~ /[^\s]/) {
Line 431  sub end_reactionresponse { Line 431  sub end_reactionresponse {
     return $result;      return $result;
 }  }
   
   sub start_chem {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       if ($target eq 'tex' || $target eq 'web') {
    &Apache::lonxml::startredirection();
       }    
       return $result;
   }
   
   sub end_chem {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style) = @_;
       my $result = '';
       if ($target eq 'tex' || $target eq 'web') {
    @Apache::scripttag::parser_env = @_;
    if (!$Apache::lonxml::default_homework_loaded) {
       &Apache::lonxml::default_homework_load($safeeval);
    }
    my $innards=&Apache::lonxml::endredirection();
    $result=&Apache::run::run("return &chemparse(q\0$innards\0);",$safeeval);
       }
       return $result;
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.44  
changed lines
  Added in v.1.46


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>