version 1.22, 2005/03/14 20:28:22
|
version 1.30, 2008/10/30 17:45:25
|
Line 28
|
Line 28
|
package Apache::lonsubmissiontimeanalysis; |
package Apache::lonsubmissiontimeanalysis; |
|
|
use strict; |
use strict; |
use Apache::lonnet(); |
use Apache::lonnet; |
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::loncoursedata(); |
use Apache::loncoursedata(); |
Line 71 sub BuildSubmissionTimePage {
|
Line 71 sub BuildSubmissionTimePage {
|
my @Students = @Apache::lonstatistics::Students; |
my @Students = @Apache::lonstatistics::Students; |
# |
# |
if (@Students < 1) { |
if (@Students < 1) { |
$r->print('<h2>There are no students in the sections selected</h2>'); |
$r->print('<div class="LC_warning">' |
|
.&mt('There are no students in the sections selected.' |
|
.'</div>') |
|
); |
} |
} |
# |
# |
my @CacheButtonHTML = |
my @CacheButtonHTML = |
&Apache::lonstathelpers::manage_caches($r,'Statistics','stats_status'); |
&Apache::lonstathelpers::manage_caches($r,'Statistics','stats_status'); |
$r->rflush(); |
$r->rflush(); |
# |
# |
if (! exists($ENV{'form.problemchoice'}) || |
if (! exists($env{'form.problemchoice'}) || |
exists($ENV{'form.SelectAnother'})) { |
exists($env{'form.SelectAnother'})) { |
$r->print('<input type="submit" name="" value="'. |
my $submit_button = '<input type="submit" name="" value="'. |
&mt('Graph Problem Submission Times').'" />'); |
# &mt('Graph Problem Submission Times').'" />'; |
$r->print(' 'x5); |
&mt('Generate Graph').'" />'; |
|
$r->print($submit_button.' 'x5); |
$r->print('<h3>'.&mt('Please select a problem to analyze').'</h3>'); |
$r->print('<h3>'.&mt('Please select a problem to analyze').'</h3>'); |
$r->print(&Apache::lonstathelpers::problem_selector('.')); |
$r->print(&Apache::lonstathelpers::problem_selector('.', |
|
$submit_button)); |
} else { |
} else { |
foreach my $button (@SubmitButtons) { |
foreach my $button (@SubmitButtons) { |
$r->print('<input type="submit" name="'.$button->{'name'}.'" '. |
$r->print('<input type="submit" name="'.$button->{'name'}.'" '. |
Line 98 sub BuildSubmissionTimePage {
|
Line 103 sub BuildSubmissionTimePage {
|
# |
# |
# Determine which problem we are to analyze |
# Determine which problem we are to analyze |
my $current_problem = &Apache::lonstathelpers::get_target_from_id |
my $current_problem = &Apache::lonstathelpers::get_target_from_id |
($ENV{'form.problemchoice'}); |
($env{'form.problemchoice'}); |
# |
# |
my ($navmap,$prev,$curr,$next) = |
my ($navmap,$prev,$curr,$next) = |
&Apache::lonstathelpers::get_prev_curr_next($current_problem, |
&Apache::lonstathelpers::get_prev_curr_next($current_problem, |
'.', |
'.', |
'part'); |
'part'); |
if (exists($ENV{'form.PrevProblemAnalysis'}) && defined($prev)) { |
if (exists($env{'form.PrevProblemAnalysis'}) && defined($prev)) { |
$current_problem = $prev; |
$current_problem = $prev; |
} elsif (exists($ENV{'form.NextProblemAnalysis'}) && defined($next)) { |
} elsif (exists($env{'form.NextProblemAnalysis'}) && defined($next)) { |
$current_problem = $next; |
$current_problem = $next; |
} else { |
} else { |
$current_problem = $curr; |
$current_problem = $curr; |
} |
} |
# |
# |
# Store the current problem choice and send it out in the form |
# Store the current problem choice and send it out in the form |
$ENV{'form.problemchoice'} = |
$env{'form.problemchoice'} = |
&Apache::lonstathelpers::make_target_id($current_problem); |
&Apache::lonstathelpers::make_target_id($current_problem); |
$r->print('<input type="hidden" name="problemchoice" value="'. |
$r->print('<input type="hidden" name="problemchoice" value="'. |
$ENV{'form.problemchoice'}.'" />'); |
$env{'form.problemchoice'}.'" />'); |
# |
# |
$r->print('<hr />'); |
$r->print('<hr />'); |
$r->rflush(); |
$r->rflush(); |
# |
# |
my $resource = $current_problem->{'resource'}; |
my $resource = $current_problem->{'resource'}; |
if (! defined($resource)) { |
if (! defined($resource)) { |
$r->print('resource is undefined'); |
$r->print('<div class="LC_warning">' |
|
.&mt('Resource is undefined.') |
|
.'</div>' |
|
); |
} else { |
} else { |
$r->print('<h1>'.$resource->compTitle.'</h1>'); |
$r->print('<h1>'.$resource->compTitle.'</h1>'); |
$r->print('<h3>'.$resource->src.'</h3>'); |
$r->print('<h3>'.$resource->src.'</h3>'); |
Line 131 sub BuildSubmissionTimePage {
|
Line 139 sub BuildSubmissionTimePage {
|
&Apache::lonstatistics::section_and_enrollment_description(). |
&Apache::lonstatistics::section_and_enrollment_description(). |
'</h4>'); |
'</h4>'); |
$r->rflush(); |
$r->rflush(); |
|
$r->print('<hr />'); |
$r->print(&Apache::lonstathelpers::render_resource($resource)); |
$r->print(&Apache::lonstathelpers::render_resource($resource)); |
$r->print('<br />'); |
$r->print('<hr /><br />'); |
$r->rflush(); |
$r->rflush(); |
$r->print(&analyze_times($r,$resource->symb,\@Students, |
if (@Students) { |
$current_problem->{'part'})); |
$r->print(&analyze_times($r,$resource->symb,\@Students, |
|
$current_problem->{'part'})); |
|
} |
} |
} |
$r->print('<hr />'); |
$r->print('<hr />'); |
} |
} |
Line 173 sub analyze_times {
|
Line 184 sub analyze_times {
|
# Get the data |
# Get the data |
my $SubData = &Apache::loncoursedata::get_response_time_data |
my $SubData = &Apache::loncoursedata::get_response_time_data |
([&Apache::lonstatistics::get_selected_sections()], |
([&Apache::lonstatistics::get_selected_sections()], |
|
[&Apache::lonstatistics::get_selected_groups()], |
$Apache::lonstatistics::enrollment_status, |
$Apache::lonstatistics::enrollment_status, |
$symb,$part); |
$symb,$part); |
if (! defined($SubData) || ! ref($SubData)) { |
if (! defined($SubData) || ! ref($SubData)) { |
$html.= '<h2>There is no submission data for this problem at all</h2>'; |
$html.= '<div class="LC_warning">' |
|
.&mt('There is no submission data for this problem at all.') |
|
.'</div>'; |
return $html; |
return $html; |
} |
} |
my $NumSub = scalar(@{$SubData}); |
my $NumSub = scalar(@{$SubData}); |
if (! @{$SubData}) { |
if (! @{$SubData}) { |
$html.= '<h2>There is no submission data for this problem</h2>'; |
$html.= '<div class="LC_warning">' |
|
.&mt('There is no submission data for this problem.') |
|
.'</div>'; |
return $html; |
return $html; |
} |
} |
# Process the data |
# Process the data |
Line 388 sub Process_Row {
|
Line 404 sub Process_Row {
|
sub CreateInterface { |
sub CreateInterface { |
## |
## |
## Environment variable initialization |
## Environment variable initialization |
if (! exists$ENV{'form.AnalyzeOver'}) { |
if (! exists$env{'form.AnalyzeOver'}) { |
$ENV{'form.AnalyzeOver'} = 'Tries'; |
$env{'form.AnalyzeOver'} = 'Tries'; |
} |
} |
## |
## |
## Build the menu |
## Build the menu |
my $Str = ''; |
my $Str = ''; |
$Str .= &Apache::lonhtmlcommon::breadcrumbs(undef,'Submission Time Plots'); |
$Str .= &Apache::lonhtmlcommon::breadcrumbs('Submission Time Plots'); |
$Str .= '<p>'; |
$Str .= '<p>'; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= &Apache::loncommon::start_data_table(); |
$Str .= '<tr>'; |
$Str .= &Apache::loncommon::start_data_table_header_row(); |
$Str .= '<th align="center">'.&mt('Sections').'</th>'; |
$Str .= '<th>'.&mt('Sections').'</th>'; |
$Str .= '<th align="center">'.&mt('Enrollment Status').'</th>'; |
$Str .= '<th>'.&mt('Groups').'</th>'; |
$Str .= '</tr>'."\n"; |
$Str .= '<th>'.&mt('Access Status').'</th>'; |
|
$Str .= &Apache::loncommon::end_data_table_header_row(); |
## |
## |
## |
## |
$Str .= '<tr><td align="center">'."\n"; |
$Str .= &Apache::loncommon::start_data_table_row(); |
|
$Str .= '<td align="center">'."\n"; |
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',4); |
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',4); |
$Str .= '</td>'; |
$Str .= '</td>'; |
# |
# |
|
$Str .= '<td align="center">'."\n"; |
|
$Str .= &Apache::lonstatistics::GroupSelect('Group','multiple',4); |
|
$Str .= '</td>'; |
|
# |
$Str .= '<td align="center">'; |
$Str .= '<td align="center">'; |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,4); |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,4); |
$Str .= '</td>'; |
$Str .= '</td>'; |
# |
# |
$Str .= '</tr>'."\n"; |
$Str .= &Apache::loncommon::end_data_table_row(); |
$Str .= '</table>'."\n"; |
$Str .= &Apache::loncommon::end_data_table(); |
# |
# |
$Str .= '<nobr>'.&mt('Status: [_1]', |
$Str .= '<p><span class="LC_nobreak">' |
'<input type="text" '. |
.&mt('Status: [_1]', |
'name="stats_status" size="60" value="" />'). |
'<input type="text" name="stats_status"' |
'</nobr>'.'</p>'; |
.' size="60" value="" readonly="readonly" />') |
|
.'</span></p>'; |
|
$Str .= '</p>'; |
## |
## |
return $Str; |
return $Str; |
} |
} |