File:  [LON-CAPA] / loncom / homework / response.pm
Revision 1.5: download - view: text, annotated - select for diffs
Thu Nov 23 17:24:39 2000 UTC (23 years, 5 months ago) by www
Branches: MAIN
CVS tags: HEAD
The responseparam tag now has output for target meta, which will be used
by the RAT and lonparmset to determine which parameters (in addition to the
standard ones) the problem has. The output should be
<parameter_part#_name display="description">type</parameter_part#_name>

# The LearningOnline Network with CAPA
# various response type definitons response definition

# 11/23 Gerd Kortemeyer

package Apache::response;
use strict;

sub BEGIN {
  &Apache::lonxml::register('Apache::response',('responseparam','caparesponse'));
}

sub start_caparesponse {
  require Apache::caparesponse; 
  import Apache::caparesponse; 
  my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
#  print "\n<br>\nsimple caparesponse\n";
  Apache::caparesponse::start_caparesponse($target,$token,$parstack,$parser,$safeeval,$style);;
  return "";
}

sub start_responseparam {
  my ($target,$token,$parstack,$parser,$safeeval)=@_;
 if ($target ne 'meta') {
  my $args='';
  if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
  my $default = &Apache::run::run("{$args;".'return $default}',$safeeval);
  my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
  &Apache::lonxml::debug("looking for resource.$Apache::inputtags::part['-1'].$name");
  my $value = &Apache::lonnet::EXT("resource.$Apache::inputtags::part['-1'].$name");
  &Apache::lonxml::debug("$name has value :$value: and default :$default:");
  if (!$value) {
    $Apache::inputtags::params{$name}=$default;
  } else {
    $Apache::inputtags::params{$name}=$value;
  }
  return '';
} else {
    my $tag='parameter_'.$Apache::inputtags::part['-1'].'_'.
	$token->[2]->{'name'};
    my $display='';
    if ($token->[2]->{'description'}) {
       $display=' display="'.$token->[2]->{'description'}.'"';
    }
    return "\n<".$tag.$display.'>'.$token->[2]->{'type'}.'</'.$tag.'>';
}
}

sub end_responseparam {
}

1;
__END__
 

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