Diff for /loncom/interface/loncoursedata.pm between versions 1.111 and 1.112.2.1

version 1.111, 2003/12/16 16:47:16 version 1.112.2.1, 2004/03/09 21:42:01
Line 1225  sub update_full_student_data { Line 1225  sub update_full_student_data {
                     # However, there is one wrinkle: submissions which end in                      # However, there is one wrinkle: submissions which end in
                     # and odd number of '\' cause insert errors to occur.                        # and odd number of '\' cause insert errors to occur.  
                     # Best trap this somehow...                      # Best trap this somehow...
                     $value =~ s/\'/\\\'/g;                      $value = $dbh->quote($value);
                     my ($offensive_string) = ($value =~ /(\\+)$/);  
                     if (length($offensive_string) % 2) {  
                         $value =~ s/\\$/\\\\/;  
                     }  
                 }                  }
                 if ($field eq 'submissiongrading' ||                   if ($field eq 'submissiongrading' || 
                     $field eq 'molecule') {                      $field eq 'molecule') {
Line 1278  sub update_full_student_data { Line 1274  sub update_full_student_data {
         while (my ($part_id,$hash2) = each (%$hash1)) {          while (my ($part_id,$hash2) = each (%$hash1)) {
             while (my ($resp_id,$hash3) = each (%$hash2)) {              while (my ($resp_id,$hash3) = each (%$hash2)) {
                 while (my ($transaction,$data) = each (%$hash3)) {                  while (my ($transaction,$data) = each (%$hash3)) {
                     $store_command .= "('".join("','",$symb_id,$part_id,                      my $submission = $data->{'submission'};
                                                 $resp_id,$student_id,                      # We have to be careful with user supplied input.
                                                 $transaction,                      # most of the time we are okay because it is escaped.
                                                 $data->{'awarddetail'},                      # However, there is one wrinkle: submissions which end in
                                                 $data->{'response_specific'},                      # and odd number of '\' cause insert errors to occur.  
                                                 $data->{'response_specific_value'},                      # Best trap this somehow...
                                                 $data->{'submission'})."'),";                      $submission = $dbh->quote($submission);
                       $store_command .= "('".
                           join("','",$symb_id,$part_id,
                                $resp_id,$student_id,
                                $transaction,
                                $data->{'awarddetail'},
                                $data->{'response_specific'},
                                $data->{'response_specific_value'}).
                                "',".$submission."),";
                     $store_rows++;                      $store_rows++;
                 }                  }
             }              }
Line 2067  sub get_response_data { Line 2071  sub get_response_data {
     }      }
     my $dataset = $sth->fetchall_arrayref();      my $dataset = $sth->fetchall_arrayref();
     if (ref($dataset) eq 'ARRAY' && scalar(@$dataset)>0) {      if (ref($dataset) eq 'ARRAY' && scalar(@$dataset)>0) {
           # Clear the \'s from around the submission
           for (my $i =0;$i<scalar(@$dataset);$i++) {
               $dataset->[$i]->[3] =~ s/(\'$|^\')//g;
           }
         return $dataset;          return $dataset;
     }      }
 }  }

Removed from v.1.111  
changed lines
  Added in v.1.112.2.1


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