--- loncom/interface/loncoursedata.pm 2003/10/24 13:34:45 1.106 +++ loncom/interface/loncoursedata.pm 2003/10/30 16:20:18 1.108 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.106 2003/10/24 13:34:45 matthew Exp $ +# $Id: loncoursedata.pm,v 1.108 2003/10/30 16:20:18 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2018,7 +2018,15 @@ sub get_student_data { } } -sub get_optionresponse_data { +sub RD_student_id { return 0; } +sub RD_awarddetail { return 1; } +sub RD_response_eval { return 2; } +sub RD_submission { return 3; } +sub RD_timestamp { return 4; } +sub RD_tries { return 5; } +sub RD_sname { return 6; } + +sub get_response_data { my ($students,$symb,$response,$courseid) = @_; return undef if (! defined($symb) || ! defined($response)); @@ -2032,7 +2040,7 @@ sub get_optionresponse_data { return undef if (! defined($dbh)); my $request = 'SELECT '. 'a.student_id, a.awarddetail, a.response_specific_value, '. - 'a.submission, b.timestamp, c.tries '. + 'a.submission, b.timestamp, c.tries, d.student '. '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 '. @@ -2040,6 +2048,8 @@ sub get_optionresponse_data { '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 '. + 'LEFT JOIN '.$student_table.' AS d '. + 'ON a.student_id=d.student_id '. 'WHERE '. 'a.symb_id='.$symb_id.' AND a.response_id='.$response_id; if (defined($students)) { @@ -2064,26 +2074,31 @@ sub get_optionresponse_data { } } +sub RT_student_id { return 0; } +sub RT_awarded { return 1; } +sub RT_tries { return 2; } +sub RT_timestamp { return 3; } + sub get_response_time_data { - my ($students,$symb,$response,$courseid) = @_; + my ($students,$symb,$part,$courseid) = @_; return undef if (! defined($symb) || - ! defined($response)); + ! defined($part)); $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 $part_id = &get_part_id($part); # my $dbh = &Apache::lonmysql::get_dbh(); return undef if (! defined($dbh)); my $request = 'SELECT '. - 'a.student_id, a.awarddetail, b.timestamp '. - 'FROM '.$fulldump_response_table.' AS a '. + 'a.student_id, a.awarded, a.tries, b.timestamp '. + 'FROM '.$fulldump_part_table.' AS a '. 'NATURAL 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 '. 'WHERE '. - 'a.symb_id='.$symb_id.' AND a.response_id='.$response_id; + 'a.symb_id='.$symb_id.' AND a.part_id='.$part_id; if (defined($students)) { $request .= ' AND ('. join(' OR ', map {'a.student_id='.