Diff for /loncom/interface/loncoursedata.pm between versions 1.99 and 1.100

version 1.99, 2003/10/02 17:07:41 version 1.100, 2003/10/02 20:48:57
Line 711  sub init_dbs { Line 711  sub init_dbs {
                     { name => 'transaction',                      { name => 'transaction',
                       type => 'MEDIUMINT UNSIGNED',                        type => 'MEDIUMINT UNSIGNED',
                       restrictions => 'NOT NULL' },                        restrictions => 'NOT NULL' },
                     { name => 'tries',  
                       type => 'SMALLINT UNSIGNED',  
                       restrictions => 'NOT NULL' },  
                     { name => 'awarddetail',                      { name => 'awarddetail',
                       type => 'TINYTEXT' },                        type => 'TINYTEXT' },
 #                    { name => 'message',  #                    { name => 'message',
Line 1215  sub update_full_student_data { Line 1212  sub update_full_student_data {
             }              }
             # deal with response specific data              # deal with response specific data
             if (defined($resp_id) &&              if (defined($resp_id) &&
                 $field =~ /^(tries|                  $field =~ /^(awarddetail|
                              awarddetail|  
                              submission|                               submission|
                              submissiongrading|                               submissiongrading|
                              molecule)$/x) {                               molecule)$/x) {
Line 1252  sub update_full_student_data { Line 1248  sub update_full_student_data {
                 $store_command .= "('".join("','",$symb_id,$part_id,                  $store_command .= "('".join("','",$symb_id,$part_id,
                                             $student_id,                                              $student_id,
                                             $transaction,                                              $transaction,
                                             $data->{'tries'},  
                                             $data->{'award'},                                              $data->{'award'},
                                             $data->{'awarded'},                                              $data->{'awarded'},
                                             $data->{'previous'})."'),";                                              $data->{'previous'})."'),";
Line 1884  sub get_problem_statistics { Line 1879  sub get_problem_statistics {
     return if (! defined($symb) || ! defined($part));      return if (! defined($symb) || ! defined($part));
     $courseid = $ENV{'request.course.id'} if (! defined($courseid));      $courseid = $ENV{'request.course.id'} if (! defined($courseid));
     #      #
       &setup_table_names($courseid);
     my $symb_id = &get_symb_id($symb);      my $symb_id = &get_symb_id($symb);
     my $part_id = &get_part_id($part);      my $part_id = &get_part_id($part);
     my $stats_table = $courseid.'_problem_stats';      my $stats_table = $courseid.'_problem_stats';
Line 1990  sub execute_SQL_request { Line 1986  sub execute_SQL_request {
     return ();      return ();
 }  }
   
   sub get_optionresponse_data {
       my ($students,$symb,$response,$courseid) = @_;
       return if (! defined($symb) || 
                  ! defined($response));
       $courseid = $ENV{'request.course.id'} if (! defined($courseid));
       #
       &setup_table_names($courseid);
       my $symb_id = &get_symb_id($symb);
       my $response_id = &get_part_id($response);
       #
       my $dbh = &Apache::lonmysql::get_dbh();
       return undef if (! defined($dbh));
       my $request = 'SELECT '.
           'a.response_specific_value, a.submission, b.timestamp, c.tries '.
           'FROM '.$fulldump_response_table.' AS a '.
           'LEFT JOIN '.$fulldump_timestamp_table.' AS b '.
           'ON a.symb_id=b.symb_id AND a.student_id=b.student_id AND '.
           'a.transaction = b.transaction '.
           'LEFT JOIN '.$fulldump_part_table.' AS c '.
           'ON a.symb_id=c.symb_id AND a.student_id=c.student_id AND '.        
           'a.part_id=c.part_id AND a.transaction = c.transaction '.
           'WHERE '.
           'a.symb_id='.$symb_id.' AND a.response_id='.$response_id;
       if (defined($students)) {
           $request .= ' AND ('.
               join(' OR ', map {'student_id='.
                                     &get_student_id($_->{'username'},
                                                     $_->{'domain'})
                                 } @$students
                    ).')';
       }
       $request .= ' ORDER BY b.timestamp';
       &Apache::lonnet::logthis("request =\n".$request);
       my $sth = $dbh->prepare($request);
       $sth->execute();
       my $dataset = $sth->fetchall_arrayref();
       if (ref($dataset) eq 'ARRAY' && scalar(@$dataset)>0) {
           return @$dataset;
       }
   }
   
 ################################################  ################################################
 ################################################  ################################################

Removed from v.1.99  
changed lines
  Added in v.1.100


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