Diff for /loncom/homework/inputtags.pm between versions 1.101 and 1.103

version 1.101, 2003/05/09 22:24:05 version 1.103, 2003/05/23 16:26:28
Line 52  sub initialize_inputtags { Line 52  sub initialize_inputtags {
   @Apache::inputtags::previous_version=();    @Apache::inputtags::previous_version=();
   # id of current part, 0 means that no part is current (inside <problem> only    # id of current part, 0 means that no part is current (inside <problem> only
   $Apache::inputtags::part='';    $Apache::inputtags::part='';
     # list of all part ids seen
     @Apache::inputtags::partlist=();
   # list of problem date statuses, the first element is for <problem>    # list of problem date statuses, the first element is for <problem>
   # if there is a second element it is for the current <part>    # if there is a second element it is for the current <part>
   @Apache::inputtags::status=();    @Apache::inputtags::status=();
Line 59  sub initialize_inputtags { Line 61  sub initialize_inputtags {
   %Apache::inputtags::params=();    %Apache::inputtags::params=();
   # list of all ids, for <import>, these get join()ed and prepended    # list of all ids, for <import>, these get join()ed and prepended
   @Apache::inputtags::import=();    @Apache::inputtags::import=();
     # list of all import ids seen
     @Apache::inputtags::importlist=();
   }
   
   sub check_for_duplicate_ids {
       my %check;
       foreach my $id (@Apache::inputtags::partlist,
       @Apache::inputtags::responselist,
       @Apache::inputtags::importlist) {
    $check{$id}++;
       }
       my @duplicates;
       foreach my $id (sort(keys(%check))) {
    if ($check{$id} > 1) {
       push(@duplicates,$id);
    }
       }
       if (@duplicates) {
    &Apache::lonxml::error("Duplicated ids found, problem will operate incorrectly. Duplicated ids seen: ",join(', ',@duplicates));
       }
 }  }
   
 sub start_input {  sub start_input {
Line 251  sub finalizeawards { Line 273  sub finalizeawards {
   if ($result eq '' ) {    if ($result eq '' ) {
     foreach $award (@_) { if ($award eq 'NO_RESPONSE') {$result='NO_RESPONSE'; last;} }      foreach $award (@_) { if ($award eq 'NO_RESPONSE') {$result='NO_RESPONSE'; last;} }
   }    }
     if ($result eq '' ) {
       foreach $award (@_) { if ($award eq 'TOO_LONG') {$result='TOO_LONG'; last;}}
     }
   if ($result eq '' ) {    if ($result eq '' ) {
     foreach $award (@_) {       foreach $award (@_) { 
       if ($award eq 'UNIT_FAIL' ||        if ($award eq 'UNIT_FAIL' ||
Line 336  sub decideoutput { Line 360  sub decideoutput {
   } elsif ($award eq 'MISSING_ANSWER') {    } elsif ($award eq 'MISSING_ANSWER') {
       $message = 'Some parts were not submitted';        $message = 'Some parts were not submitted';
       $button = 1;        $button = 1;
     } elsif ($award eq 'ERROR') {
         $message = 'An error occured while trying to grade answer.';
         $button = 1;
     } elsif ($award eq 'TOO_LONG') {
         $message = "The submitted answer was too long.";
         $button=1;
   } elsif ($award eq 'WANTED_NUMERIC') {    } elsif ($award eq 'WANTED_NUMERIC') {
       $message = "This question expects a numeric answer";        $message = "This question expects a numeric answer";
       $button=1;        $button=1;
Line 421  sub setgradedata { Line 451  sub setgradedata {
     $Apache::lonhomework::history{"resource.$id.tries"} + 1;      $Apache::lonhomework::history{"resource.$id.tries"} + 1;
  $Apache::lonhomework::results{"resource.$id.solved"} =   $Apache::lonhomework::results{"resource.$id.solved"} =
     $solvemsg;      $solvemsg;
  my $numawards=scalar(@Apache::inputtags::responselist);   my $numawards=scalar(@Apache::inputtags::response);
  &Apache::lonxml::debug("Whaaa!");  
  $Apache::lonhomework::results{"resource.$id.awarded"} = 0;   $Apache::lonhomework::results{"resource.$id.awarded"} = 0;
  foreach my $res (@Apache::inputtags::responselist) {   foreach my $res (@Apache::inputtags::response) {
     $Apache::lonhomework::results{"resource.$id.awarded"}+=      $Apache::lonhomework::results{"resource.$id.awarded"}+=
        $Apache::lonhomework::results{"resource.$id.$res.awarded"};         $Apache::lonhomework::results{"resource.$id.$res.awarded"};
  }   }
Line 495  sub grade { Line 524  sub grade {
   my $response='';    my $response='';
   if ( defined $ENV{'form.submitted'}) {    if ( defined $ENV{'form.submitted'}) {
     my @awards = ();      my @awards = ();
     foreach $response (@Apache::inputtags::responselist) {      foreach $response (@Apache::inputtags::response) {
       &Apache::lonxml::debug("looking for response.$id.$response.awarddetail");        &Apache::lonxml::debug("looking for response.$id.$response.awarddetail");
       my $value=$Apache::lonhomework::results{"resource.$id.$response.awarddetail"};        my $value=$Apache::lonhomework::results{"resource.$id.$response.awarddetail"};
       &Apache::lonxml::debug("keeping $value from $response for $id");        &Apache::lonxml::debug("keeping $value from $response for $id");

Removed from v.1.101  
changed lines
  Added in v.1.103


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