Diff for /loncom/homework/hint.pm between versions 1.70 and 1.73

version 1.70, 2008/09/12 09:56:09 version 1.73, 2008/11/19 18:34:56
Line 26 Line 26
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
   =head1 NAME
   
   Apache::hinttags
   
   =head1 SYNOPSIS
   
   This handler coordinates the delivery of hints to students working on LON-CAPA problems and assignments.
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 SUBROUTINES
   
   =over
   
   =item start_hintgroup()
   
   =item end_hintgroup()
   
   =item start_numericalhint()
   
   =item end_numericalhint()
   
   =item start_formulahint()
   
   =item end_formulahint()
   
   =item start_mathhint()
   
   =item end_mathhint()
   
   =item start_customhint()
   
   =item end_customhint()
   
   =item start_stringhint()
   
   =item end_stringhint()
   
   =item start_hintpart()
   
   =item end_hintpart()
   
   =item start_optionhint()
   
   =item end_optionhint()
   
   =item start_radiobuttonhint()
   
   =item end_radiobuttonhint()
   
   =back
   
   =cut
   
 package Apache::hinttags;   package Apache::hinttags; 
   
 use strict;  use strict;
Line 68  sub start_hintgroup { Line 123  sub start_hintgroup {
  $result .= '\keephidden{';   $result .= '\keephidden{';
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result.=&Apache::edit::tag_start($target,$token);   $result.=&Apache::edit::tag_start($target,$token);
  $result.=&Apache::edit::select_arg('Show hint even if problem Correct:','showoncorrect',[['no',&mt('No')],['yes',&mt('Yes')]],$token);   $result.=&Apache::edit::select_arg('Show hint even if problem Correct:','showoncorrect',['no','yes'],$token);
  $result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row();   $result.=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'showoncorrect');   my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'showoncorrect');
Line 194  sub end_numericalhint { Line 249  sub end_numericalhint {
  dclone($answer{$ans_name});   dclone($answer{$ans_name});
     &Apache::caparesponse::setup_capa_response($args_ref,$response);      &Apache::caparesponse::setup_capa_response($args_ref,$response);
     my ($result,@msgs) =       my ($result,@msgs) = 
  &Apache::run::run("&caparesponse_check_list($$tagstack[-1])",$safeeval);   &Apache::run::run("&caparesponse_check_list()",$safeeval);
     &Apache::lonxml::debug("checking $ans_name $result with $response");      &Apache::lonxml::debug("checking $ans_name $result with $response");
     &Apache::lonxml::debug('msgs are '.join(':',@msgs));      &Apache::lonxml::debug('msgs are '.join(':',@msgs));
     my ($awards)=split(/:/,$result);      my ($awards)=split(/:/,$result);
Line 422  sub end_stringhint { Line 477  sub end_stringhint {
     my $args_ref =       my $args_ref = 
  &Apache::caparesponse::setup_capa_args($safeeval,$parstack,   &Apache::caparesponse::setup_capa_args($safeeval,$parstack,
        \@args,$response);         \@args,$response);
               if ($$args_ref{'type'} eq '') {
                   $$args_ref{'type'} = 'ci';
               }
     &Apache::caparesponse::add_in_tag_answer($parstack,$safeeval);      &Apache::caparesponse::add_in_tag_answer($parstack,$safeeval);
     my (@final_awards,@final_msgs,@ans_names);      my (@final_awards,@final_msgs,@ans_names);
     my %answer = &Apache::caparesponse::get_answer();      my %answer = &Apache::caparesponse::get_answer();
     foreach my $ans_name (keys(%answer)) {      foreach my $ans_name (keys(%answer)) {
  &Apache::lonxml::debug(" doing $ans_name with ".join(':',@{ $answer{$ans_name}{'answers'} }));   &Apache::lonxml::debug(" doing $ans_name with ".join(':',@{ $answer{$ans_name}{'answers'} }));
  ${$safeeval->varglob('LONCAPA::CAPAresponse_answer')}=dclone($answer{$ans_name});   ${$safeeval->varglob('LONCAPA::CAPAresponse_answer')}=dclone($answer{$ans_name});
  my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list($$tagstack[-1])",$safeeval);   my ($result, @msgs)=&Apache::run::run("&caparesponse_check_list()",$safeeval);
  &Apache::lonxml::debug('msgs are'.join(':',@msgs));   &Apache::lonxml::debug('msgs are'.join(':',@msgs));
  my ($awards) = split(/:/,$result);   my ($awards) = split(/:/,$result);
  my (@awards) = split(/,/,$awards);   my (@awards) = split(/,/,$awards);

Removed from v.1.70  
changed lines
  Added in v.1.73


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