Diff for /loncom/interface/loncoursedata.pm between versions 1.130 and 1.135

version 1.130, 2004/04/06 15:45:13 version 1.135, 2004/06/15 14:12:56
Line 199  sub get_sequence_assessment_data { Line 199  sub get_sequence_assessment_data {
             my @Ids       = $curRes->responseIds($part);              my @Ids       = $curRes->responseIds($part);
             $partdata{$part}->{'ResponseTypes'}= \@Responses;              $partdata{$part}->{'ResponseTypes'}= \@Responses;
             $partdata{$part}->{'ResponseIds'}  = \@Ids;              $partdata{$part}->{'ResponseIds'}  = \@Ids;
               $partdata{$part}->{'Survey'}       = $curRes->is_survey($part);
             # Count how many responses of each type there are in this part              # Count how many responses of each type there are in this part
             foreach (@Responses) {              foreach (@Responses) {
                 $partdata{$part}->{$_}++;                  $partdata{$part}->{$_}++;
Line 547  store student data. Line 548  store student data.
 ################################################  ################################################
 ################################################  ################################################
 sub init_dbs {  sub init_dbs {
     my $courseid = shift;      my ($courseid,$drop) = @_;
     &setup_table_names($courseid);      &setup_table_names($courseid);
     #      #
     # Drop any of the existing tables      # Drop any of the existing tables
     foreach my $table (@Tables) {      if ($drop) {
         &Apache::lonmysql::drop_table($table);          foreach my $table (@Tables) {
               &Apache::lonmysql::drop_table($table);
           }
     }      }
     #      #
     # Note - changes to this table must be reflected in the code that       # Note - changes to this table must be reflected in the code that 
Line 580  sub init_dbs { Line 583  sub init_dbs {
                       restrictions => 'NOT NULL',                        restrictions => 'NOT NULL',
                       auto_inc     => 'yes', },                        auto_inc     => 'yes', },
                     { name => 'part',                      { name => 'part',
                       type => 'VARCHAR(100)',                        type => 'VARCHAR(100) BINARY',
                       restrictions => 'NOT NULL'},                        restrictions => 'NOT NULL'},
                     ],                      ],
         'PRIMARY KEY' => ['part (100)'],          'PRIMARY KEY' => ['part (100)'],
Line 595  sub init_dbs { Line 598  sub init_dbs {
                       restrictions => 'NOT NULL',                        restrictions => 'NOT NULL',
                       auto_inc     => 'yes', },                        auto_inc     => 'yes', },
                     { name => 'student',                      { name => 'student',
                       type => 'VARCHAR(100)',                        type => 'VARCHAR(100) BINARY',
                       restrictions => 'NOT NULL UNIQUE'},                        restrictions => 'NOT NULL UNIQUE'},
                     { name => 'section',                      { name => 'section',
                       type => 'VARCHAR(100)',                        type => 'VARCHAR(100) BINARY',
                       restrictions => 'NOT NULL'},                        restrictions => 'NOT NULL'},
                     { name => 'status',                      { name => 'status',
                       type => 'VARCHAR(15)',                        type => 'VARCHAR(15) BINARY',
                       restrictions => 'NOT NULL'},                        restrictions => 'NOT NULL'},
                     { name => 'classification',                      { name => 'classification',
                       type => 'varchar(100)', },                        type => 'VARCHAR(100) BINARY', },
                     { name => 'updatetime',                      { name => 'updatetime',
                       type => 'INT UNSIGNED'},                        type => 'INT UNSIGNED'},
                     { name => 'fullupdatetime',                      { name => 'fullupdatetime',
Line 629  sub init_dbs { Line 632  sub init_dbs {
                       type => 'MEDIUMINT UNSIGNED',                        type => 'MEDIUMINT UNSIGNED',
                       restrictions => 'NOT NULL' },                        restrictions => 'NOT NULL' },
                     { name => 'part',                      { name => 'part',
                       type => 'VARCHAR(100)',                        type => 'VARCHAR(100) BINARY',
                       restrictions => 'NOT NULL'},                                            restrictions => 'NOT NULL'},                    
                     { name => 'solved',                      { name => 'solved',
                       type => 'TINYTEXT' },                        type => 'TINYTEXT' },
Line 709  sub init_dbs { Line 712  sub init_dbs {
                     { name => 'awarddetail',                      { name => 'awarddetail',
                       type => 'TINYTEXT' },                        type => 'TINYTEXT' },
 #                    { name => 'message',  #                    { name => 'message',
 #                      type => 'CHAR' },  #                      type => 'CHAR BINARY'},
                     { name => 'response_specific',                      { name => 'response_specific',
                       type => 'TINYTEXT' },                        type => 'TINYTEXT' },
                     { name => 'response_specific_value',                      { name => 'response_specific_value',
Line 1081  sub populate_student_table { Line 1084  sub populate_student_table {
     }      }
     #      #
     &setup_table_names($courseid);      &setup_table_names($courseid);
       &init_dbs($courseid,0);
     my $dbh = &Apache::lonmysql::get_dbh();      my $dbh = &Apache::lonmysql::get_dbh();
     my $request = 'INSERT IGNORE INTO '.$student_table.      my $request = 'INSERT IGNORE INTO '.$student_table.
         "(student,section,status) VALUES ";          "(student,section,status) VALUES ";
Line 1594  sub ensure_tables_are_set_up { Line 1598  sub ensure_tables_are_set_up {
         !$found_performance   || !$found_parameters        ||          !$found_performance   || !$found_parameters        ||
         !$found_fulldump_part || !$found_fulldump_response ||          !$found_fulldump_part || !$found_fulldump_response ||
         !$found_fulldump_timestamp || !$found_weight ) {          !$found_fulldump_timestamp || !$found_weight ) {
         if (&init_dbs($courseid)) {          if (&init_dbs($courseid,1)) {
             return 'error';              return 'error';
         }          }
     }      }
Line 2030  sub get_problem_statistics { Line 2034  sub get_problem_statistics {
     }      }
     my ($solved) = &execute_SQL_request($dbh,$request);      my ($solved) = &execute_SQL_request($dbh,$request);
     #      #
       $Solved -= $solved;
       #
     $num    = 0 if (! defined($num));      $num    = 0 if (! defined($num));
     $tries  = 0 if (! defined($tries));      $tries  = 0 if (! defined($tries));
     $max    = 0 if (! defined($max));      $max    = 0 if (! defined($max));
     $min    = 0 if (! defined($min));      $min    = 0 if (! defined($min));
     $STD    = 0 if (! defined($STD));      $STD    = 0 if (! defined($STD));
     $Solved = 0 if (! defined($Solved));      $Solved = 0 if (! defined($Solved) || $Solved < 0);
     $solved = 0 if (! defined($solved));      $solved = 0 if (! defined($solved));
     #      #
     # Compute the more complicated statistics      # Compute the more complicated statistics
Line 2456  sub count_stats { Line 2462  sub count_stats {
         $request .= ' AND '.$enrollment_limits;          $request .= ' AND '.$enrollment_limits;
     }      }
     $request .= ' GROUP BY a.student_id';      $request .= ' GROUP BY a.student_id';
     &Apache::lonnet::logthis('request = '.$/.$request);  #    &Apache::lonnet::logthis('request = '.$/.$request);
     my $sth = $dbh->prepare($request);      my $sth = $dbh->prepare($request);
     $sth->execute();      $sth->execute();
     $request =       $request = 
         'SELECT AVG(count),STD(count),MAX(count),MIN(count),COUNT(count) '.          'SELECT AVG(count),STD(count),MAX(count),MIN(count),COUNT(count) '.
         'FROM '.$stats_table;          'FROM '.$stats_table;
     my ($ave,$std,$max,$min,$count) = &execute_SQL_request($dbh,$request);      my ($ave,$std,$max,$min,$count) = &execute_SQL_request($dbh,$request);
     &Apache::lonnet::logthis('request = '.$/.$request);  #    &Apache::lonnet::logthis('request = '.$/.$request);
     return($min,$max,$ave,$std,$count);      return($min,$max,$ave,$std,$count);
 }  }
   

Removed from v.1.130  
changed lines
  Added in v.1.135


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