version 1.452, 2007/10/11 20:25:34
|
version 1.460, 2007/10/17 09:40:49
|
Line 35 use Apache::loncommon;
|
Line 35 use Apache::loncommon;
|
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
use Apache::lonhomework; |
use Apache::lonhomework; |
|
use Apache::lonpickcode; |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonmsg(); |
use Apache::lonmsg(); |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
Line 56 my %first_bubble_line = (); # First bubb
|
Line 57 my %first_bubble_line = (); # First bubb
|
|
|
|
|
sub save_bubble_lines { |
sub save_bubble_lines { |
&Apache::lonnet::logthis("Saving bubble_lines..."); |
|
foreach my $line (keys(%bubble_lines_per_response)) { |
foreach my $line (keys(%bubble_lines_per_response)) { |
&Apache::lonnet::logthis("Saving form.scantron.bubblelines.$line value: $bubble_lines_per_response{$line}"); |
|
$env{"form.scantron.bubblelines.$line"} = $bubble_lines_per_response{$line}; |
$env{"form.scantron.bubblelines.$line"} = $bubble_lines_per_response{$line}; |
$env{"form.scantron.first_bubble_line.$line"} = |
$env{"form.scantron.first_bubble_line.$line"} = |
$first_bubble_line{$line}; |
$first_bubble_line{$line}; |
Line 71 sub restore_bubble_lines {
|
Line 70 sub restore_bubble_lines {
|
%bubble_lines_per_response = (); |
%bubble_lines_per_response = (); |
while ($env{"form.scantron.bubblelines.$line"}) { |
while ($env{"form.scantron.bubblelines.$line"}) { |
my $value = $env{"form.scantron.bubblelines.$line"}; |
my $value = $env{"form.scantron.bubblelines.$line"}; |
&Apache::lonnet::logthis("Restoring form.scantron.bubblelines.$line value: $value"); |
|
$bubble_lines_per_response{$line} = $value; |
$bubble_lines_per_response{$line} = $value; |
$first_bubble_line{$line} = |
$first_bubble_line{$line} = |
$env{"form.scantron.first_bubble_line.$line"}; |
$env{"form.scantron.first_bubble_line.$line"}; |
Line 86 sub restore_bubble_lines {
|
Line 84 sub restore_bubble_lines {
|
sub get_response_bubbles { |
sub get_response_bubbles { |
my ($parsed_line, $response) = @_; |
my ($parsed_line, $response) = @_; |
|
|
my $bubble_line = $first_bubble_line{$response}; |
|
my $bubble_lines= $bubble_lines_per_response{$response}; |
my $bubble_line = $first_bubble_line{$response-1} +1; |
|
my $bubble_lines= $bubble_lines_per_response{$response-1}; |
|
|
my $selected = ""; |
my $selected = ""; |
|
|
for (my $bline = 0; $bline < $bubble_lines; $bline++) { |
for (my $bline = 0; $bline < $bubble_lines; $bline++) { |
Line 526 sub getclasslist {
|
Line 526 sub getclasslist {
|
} |
} |
} |
} |
# filter students according to groups selected |
# filter students according to groups selected |
|
my @stu_groups = split(/,/,$group); |
if (@getgroup) { |
if (@getgroup) { |
my $exclude = 1; |
my $exclude = 1; |
foreach my $grp(@getgroup) { |
foreach my $grp (@getgroup) { |
if ($group eq $grp) { |
foreach my $stu_group (@stu_groups) { |
$exclude = 0; |
if ($stu_group eq $grp) { |
} elsif (($grp eq 'none') && !$group) { |
$exclude = 0; |
$exclude = 0; |
} |
} |
} |
|
if (($grp eq 'none') && !$group) { |
|
$exclude = 0; |
|
} |
} |
} |
if ($exclude) { |
if ($exclude) { |
delete($classlist->{$student}); |
delete($classlist->{$student}); |
Line 4889 SCANTRONFORM
|
Line 4893 SCANTRONFORM
|
</tr> |
</tr> |
SCANTRONFORM |
SCANTRONFORM |
|
|
$r->print(<<SCANTRONFORM); |
$r->print('<tr><td bgcolor="#777777">'); |
</table> |
&Apache::lonpickcode::code_list($r,2); |
$grading_menu_button |
$r->print('</td></tr></table>'); |
SCANTRONFORM |
$r->print($grading_menu_button); |
|
|
return |
return |
} |
} |
|
|
Line 5265 sub scantron_parse_scanline {
|
Line 5268 sub scantron_parse_scanline {
|
|| (&occurence_count($currentquest, "[A-Z]") > 1)) { |
|| (&occurence_count($currentquest, "[A-Z]") > 1)) { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
push(@{$record{'scantron.doubleerror'}},$questnum); |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
$record{"scantron.$ansnum.answer"}=''; |
my $bubble = substr($currentquest, $ans, 1); |
|
if ($bubble =~ /[A-Z]/ ) { |
|
$record{"scantron.$ansnum.answer"} = $bubble; |
|
} else { |
|
$record{"scantron.$ansnum.answer"}=''; |
|
} |
$ansnum++; |
$ansnum++; |
} |
} |
|
|
Line 5300 sub scantron_parse_scanline {
|
Line 5308 sub scantron_parse_scanline {
|
|| (&occurence_count($currentquest, '\d') > 1)) { |
|| (&occurence_count($currentquest, '\d') > 1)) { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
push(@{$record{'scantron.doubleerror'}},$questnum); |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
for (my $ans = 0; $ans < $answers_needed; $ans++) { |
$record{"scantron.$ansnum.answer"}=''; |
my $bubble = substr($currentquest, $ans, 1); |
|
if ($bubble =~ /\d/) { |
|
$record{"scantron.$ansnum.answer"} = $alphabet[$bubble]; |
|
} else { |
|
$record{"scantron.$ansnum.answer"}=''; |
|
} |
$ansnum++; |
$ansnum++; |
} |
} |
|
|
Line 5347 sub scantron_parse_scanline {
|
Line 5360 sub scantron_parse_scanline {
|
} |
} |
} elsif (scalar(@array) lt 2) { |
} elsif (scalar(@array) lt 2) { |
|
|
my $location = [length($array[0])]; |
my $location = length($array[0]); |
my $line_num = $location / $$scantron_config{'Qlength'}; |
my $line_num = $location / $$scantron_config{'Qlength'}; |
my $bubble = $alphabet[$location % $$scantron_config{'Qlength'}]; |
my $bubble = $alphabet[$location % $$scantron_config{'Qlength'}]; |
|
|
Line 5743 SCANTRONFORM
|
Line 5756 SCANTRONFORM
|
|
|
my $line = 0; |
my $line = 0; |
while (defined($env{"form.scantron.bubblelines.$line"})) { |
while (defined($env{"form.scantron.bubblelines.$line"})) { |
&Apache::lonnet::logthis("Saving chunk for $line"); |
|
my $chunk = |
my $chunk = |
'<input type="hidden" name="scantron.bubblelines.'.$line.'" value="'.$env{"form.scantron.bubblelines.$line"}.'" />'."\n"; |
'<input type="hidden" name="scantron.bubblelines.'.$line.'" value="'.$env{"form.scantron.bubblelines.$line"}.'" />'."\n"; |
$chunk .= |
$chunk .= |
Line 5809 sub scantron_validate_file {
|
Line 5821 sub scantron_validate_file {
|
} |
} |
my $currentphase=$env{'form.validatepass'}; |
my $currentphase=$env{'form.validatepass'}; |
|
|
&Apache::lonnet::logthis("Phase: $currentphase"); |
|
|
|
my $stop=0; |
my $stop=0; |
while (!$stop && $currentphase < scalar(@validate_phases)) { |
while (!$stop && $currentphase < scalar(@validate_phases)) { |
Line 6321 sub scantron_validate_ID {
|
Line 6332 sub scantron_validate_ID {
|
sub scantron_get_correction { |
sub scantron_get_correction { |
my ($r,$i,$scan_record,$scan_config,$line,$error,$arg)=@_; |
my ($r,$i,$scan_record,$scan_config,$line,$error,$arg)=@_; |
|
|
#FIXME in the case of a duplicated ID the previous line, probaly need |
#FIXME in the case of a duplicated ID the previous line, probably need |
#to show both the current line and the previous one and allow skipping |
#to show both the current line and the previous one and allow skipping |
#the previous one or the current one |
#the previous one or the current one |
|
|
Line 6420 ENDSCRIPT
|
Line 6431 ENDSCRIPT
|
$r->print($message); |
$r->print($message); |
$r->print("<p>Please indicate which bubble should be used for grading</p>"); |
$r->print("<p>Please indicate which bubble should be used for grading</p>"); |
foreach my $question (@{$arg}) { |
foreach my $question (@{$arg}) { |
|
|
my $selected = &get_response_bubbles($scan_record, $question); |
my $selected = &get_response_bubbles($scan_record, $question); |
|
my @select_array = split('',$selected); |
&scantron_bubble_selector($r,$scan_config,$question, |
&scantron_bubble_selector($r,$scan_config,$question, |
split('',$selected)); |
@select_array); |
} |
} |
} elsif ($error eq 'missingbubble') { |
} elsif ($error eq 'missingbubble') { |
$r->print("<p>There have been <b>no</b> bubbles scanned for some question(s)</p>\n"); |
$r->print("<p>There have been <b>no</b> bubbles scanned for some question(s)</p>\n"); |
Line 6464 sub scantron_bubble_selector {
|
Line 6475 sub scantron_bubble_selector {
|
|
|
my $scmode=$$scan_config{'Qon'}; |
my $scmode=$$scan_config{'Qon'}; |
|
|
|
my $bubble_length = scalar(@selected); |
|
|
|
|
if ($scmode eq 'number' || $scmode eq 'letter') { $max=10; } |
if ($scmode eq 'number' || $scmode eq 'letter') { $max=10; } |
|
|
my $response = $quest-1; |
my $response = $quest-1; |
my $lines = $bubble_lines_per_response{$response}; |
my $lines = $bubble_lines_per_response{$response}; |
&Apache::lonnet::logthis("Question $quest, lines: $lines"); |
|
|
|
my $total_lines = $lines*2; |
my $total_lines = $lines*2; |
my @alphabet=('A'..'Z'); |
my @alphabet=('A'..'Z'); |
Line 6480 sub scantron_bubble_selector {
|
Line 6492 sub scantron_bubble_selector {
|
$r->print('<tr>'); |
$r->print('<tr>'); |
} |
} |
|
|
# FIXME: This loop probably has to be considerably more clever for |
|
# multiline bubbles: User can multibubble by having bubbles in |
|
# several lines. User can skip lines legitimately etc. etc. |
|
|
|
for (my $i=0;$i<$max;$i++) { |
for (my $i=0;$i<$max;$i++) { |
$r->print("\n".'<td align="center">'); |
$r->print("\n".'<td align="center">'); |
if ($selected[0] eq $alphabet[$i]) { |
if ($selected[0] eq $alphabet[$i]) { |
Line 6733 sub scantron_validate_doublebubble {
|
Line 6741 sub scantron_validate_doublebubble {
|
=cut |
=cut |
|
|
sub scantron_get_maxbubble { |
sub scantron_get_maxbubble { |
&Apache::lonnet::logthis("get_max_bubble"); |
|
if (defined($env{'form.scantron_maxbubble'}) && |
if (defined($env{'form.scantron_maxbubble'}) && |
$env{'form.scantron_maxbubble'}) { |
$env{'form.scantron_maxbubble'}) { |
&Apache::lonnet::logthis("cached"); |
|
&restore_bubble_lines(); |
&restore_bubble_lines(); |
return $env{'form.scantron_maxbubble'}; |
return $env{'form.scantron_maxbubble'}; |
} |
} |
&Apache::lonnet::logthis("computing"); |
|
|
|
my (undef, undef, $sequence) = |
my (undef, undef, $sequence) = |
&Apache::lonnet::decode_symb($env{'form.selectpage'}); |
&Apache::lonnet::decode_symb($env{'form.selectpage'}); |
Line 6778 sub scantron_get_maxbubble {
|
Line 6783 sub scantron_get_maxbubble {
|
|
|
|
|
foreach my $part_id (@{$analysis{'parts'}}) { |
foreach my $part_id (@{$analysis{'parts'}}) { |
my ($trash, $part) = split(/\./, $part_id); |
|
|
|
my $lines = $analysis{"$part_id.bubble_lines"}[0]; |
|
|
my $lines = $analysis{"$part_id.bubble_lines"};; |
|
|
# TODO - make this a persistent hash not an array. |
# TODO - make this a persistent hash not an array. |
|
|
Line 7219 sub grading_menu {
|
Line 7224 sub grading_menu {
|
$fields{'command'} = 'scantron_selectphase'; |
$fields{'command'} = 'scantron_selectphase'; |
$url = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
$url = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
push (@menu, { url => $url, |
push (@menu, { url => $url, |
name => &mt('Grade Scantron Forms'), |
name => &mt('Grade/Manage Scantron Forms'), |
short_description => |
short_description => |
&mt('')}); |
&mt('')}); |
$fields{'command'} = 'verify'; |
$fields{'command'} = 'verify'; |
$url = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
$url = &Apache::lonhtmlcommon::build_url('grades/',\%fields); |
push (@menu, { url => "", |
push (@menu, { url => "", |
jscript => ' onClick="javascript:checkChoice2(document.forms.gradingMenu,\'5\',\'verify\')" ', |
|
name => &mt('Verify Receipt'), |
name => &mt('Verify Receipt'), |
short_description => |
short_description => |
&mt('')}); |
&mt('')}); |
$fields{'command'} = 'manage'; |
|
$url = &Apache::lonhtmlcommon::build_url('/adm/helper/resettimes.helper',\%fields); |
|
push (@menu, { url => $url, |
|
name => &mt('Manage Access Times'), |
|
short_description => |
|
&mt('')}); |
|
$fields{'command'} = 'view'; |
|
$url = &Apache::lonhtmlcommon::build_url('/adm/pickcode',\%fields); |
|
push (@menu, { url => $url, |
|
name => &mt('View Saved CODEs'), |
|
short_description => |
|
&mt('')}); |
|
|
|
# |
# |
# Create the menu |
# Create the menu |
my $Str; |
my $Str; |
Line 7263 sub grading_menu {
|
Line 7254 sub grading_menu {
|
$menudata->{'url'}.'" >'. |
$menudata->{'url'}.'" >'. |
$menudata->{'name'}."</a></h3>\n"; |
$menudata->{'name'}."</a></h3>\n"; |
} else { |
} else { |
$Str .=' <h3><a '. |
$Str .=' <h3><input type="button" value="Verify Receipt" '. |
$menudata->{'jscript'}. |
$menudata->{'jscript'}. |
' href="javascript:checkChoice2(document.forms.gradingMenu,\'5\',\'verify\')" >'. |
' onClick="javascript:checkChoice(document.forms.gradingMenu,\'5\',\'verify\')" '. |
$menudata->{'name'}."</a></h3>\n"; |
' /></h3>'; |
$Str .= (' 'x8). |
$Str .= (' 'x8). |
' receipt: '.&Apache::lonnet::recprefix($env{'request.course.id'}). |
' receipt: '.&Apache::lonnet::recprefix($env{'request.course.id'}). |
'-<input type="text" name="receipt" size="4" onChange="javascript:checkReceiptNo(this.form,\'OK\')" />'; |
'-<input type="text" name="receipt" size="4" onChange="javascript:checkReceiptNo(this.form,\'OK\')" />'; |
Line 7287 sub grading_menu {
|
Line 7278 sub grading_menu {
|
cmdsave = 'submission'; |
cmdsave = 'submission'; |
} |
} |
formname.command.value = cmd; |
formname.command.value = cmd; |
formname.saveState.value = "saveCmd="+cmdsave+":saveSec="+pullDownSelection(formname.section)+ |
|
":saveSub="+pullDownSelection(formname.submitonly)+":saveStatus="+pullDownSelection(formname.Status); |
|
if (val < 5) formname.submit(); |
if (val < 5) formname.submit(); |
if (val == 5) { |
if (val == 5) { |
if (!checkReceiptNo(formname,'notOK')) { return false;} |
if (!checkReceiptNo(formname,'notOK')) { |
formname.submit(); |
return false; |
} |
} else { |
if (val < 7) formname.submit(); |
formname.submit(); |
} |
} |
function checkChoice2(formname,val,cmdx) { |
|
if (val <= 2) { |
|
var cmd = radioSelection(formname.radioChoice); |
|
var cmdsave = cmd; |
|
} else { |
|
cmd = cmdx; |
|
cmdsave = 'submission'; |
|
} |
|
formname.command.value = cmd; |
|
if (val < 5) formname.submit(); |
|
if (val == 5) { |
|
if (!checkReceiptNo(formname,'notOK')) { return false;} |
|
formname.submit(); |
|
} |
} |
if (val < 7) formname.submit(); |
|
} |
} |
|
|
function checkReceiptNo(formname,nospace) { |
function checkReceiptNo(formname,nospace) { |
Line 7329 sub grading_menu {
|
Line 7304 sub grading_menu {
|
</script> |
</script> |
GRADINGMENUJS |
GRADINGMENUJS |
&commonJSfunctions($request); |
&commonJSfunctions($request); |
my $result='<h3> <span class="LC_info">Manual Grading/View Submission</span></h3>'; |
|
$result.=$table; |
|
my (undef,$sections) = &getclasslist('all','0'); |
|
my $savedState = &savedState(); |
|
my $saveCmd = ($$savedState{'saveCmd'} eq '' ? 'submission' : $$savedState{'saveCmd'}); |
|
my $saveSec = ($$savedState{'saveSec'} eq '' ? 'all' : $$savedState{'saveSec'}); |
|
my $saveSub = ($$savedState{'saveSub'} eq '' ? 'all' : $$savedState{'saveSub'}); |
|
my $saveStatus = ($$savedState{'saveStatus'} eq '' ? 'Active' : $$savedState{'saveStatus'}); |
|
|
|
$result.='<form action="/adm/grades" method="post" name="gradingMenu">'."\n". |
|
'<input type="hidden" name="symb" value="'.&Apache::lonenc::check_encrypt($symb).'" />'."\n". |
|
'<input type="hidden" name="handgrade" value="'.$hdgrade.'" />'."\n". |
|
'<input type="hidden" name="probTitle" value="'.$probTitle.'" ue="" />'."\n". |
|
'<input type="hidden" name="saveState" value="" />'."\n". |
|
'<input type="hidden" name="gradingMenu" value="1" />'."\n". |
|
'<input type="hidden" name="showgrading" value="yes" />'."\n"; |
|
|
|
$result.='<table width="100%" border="0"><tr><td bgcolor=#777777>'."\n". |
|
'<table width="100%" border="0"><tr bgcolor="#e6ffff"><td colspan="2">'."\n". |
|
' <b>Select a Grading/Viewing Option</b></td></tr>'."\n". |
|
'<tr bgcolor="#ffffe6" valign="top"><td>'."\n"; |
|
|
|
$result.='<table width="100%" border="0">'; |
|
$result.='<tr bgcolor="#ffffe6" valign="top">'."\n"; |
|
$result.='<td><b>'.&mt('Sections').'</b></td>'; |
|
# $result.='<td>Groups</td>'; |
|
$result.='<td><b>'.&mt('Access Status').'</td>'."\n"; |
|
$result.='</tr>'; |
|
$result.='<tr bgcolor="#ffffe6" valign="top"><td>'."\n". |
|
' <select name="section" multiple="multiple" size="3">'."\n"; |
|
if (ref($sections)) { |
|
foreach (sort (@$sections)) { |
|
$result.='<option value="'.$_.'" '. |
|
($saveSec eq $_ ? 'selected="selected"':'').'>'.$_.'</option>'."\n"; |
|
} |
|
} |
|
$result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="selected"' : ''). '>all</option></select> '; |
|
return $Str; |
return $Str; |
} |
} |
|
|
Line 7443 GRADINGMENUJS
|
Line 7381 GRADINGMENUJS
|
$result.='<td><b>'.&mt('Sections').'</b></td>'; |
$result.='<td><b>'.&mt('Sections').'</b></td>'; |
$result.='<td><b>'.&mt('Groups').'</b></td>'; |
$result.='<td><b>'.&mt('Groups').'</b></td>'; |
$result.='<td><b>'.&mt('Access Status').'</td>'."\n"; |
$result.='<td><b>'.&mt('Access Status').'</td>'."\n"; |
|
$result.='<td><b>'.&mt('Submission Status').'</td>'."\n"; |
$result.='</tr>'; |
$result.='</tr>'; |
$result.='<tr bgcolor="#ffffe6" valign="top"><td>'."\n". |
$result.='<tr bgcolor="#ffffe6" valign="top"><td>'."\n". |
' <select name="section" multiple="multiple" size="3">'."\n"; |
' <select name="section" multiple="multiple" size="3">'."\n"; |
Line 7458 GRADINGMENUJS
|
Line 7397 GRADINGMENUJS
|
$result.='</td><td>'."\n"; |
$result.='</td><td>'."\n"; |
$result.=&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,3,undef,'mult'); |
$result.=&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,3,undef,'mult'); |
|
|
$result.='</td></tr>'; |
$result.='</td>'; |
|
$result.='<td><select name="submitonly" size="3">'. |
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="3"><label>'. |
|
'<input type="radio" name="radioChoice" value="submission" '. |
|
($saveCmd eq 'submission' ? 'checked="checked"' : '').' /> '.'<b>'.&mt('Current Resource').':</b> '.&mt('For one or more students'). |
|
'</label> <select name="submitonly">'. |
|
'<option value="yes" '. |
'<option value="yes" '. |
($saveSub eq 'yes' ? 'selected="selected"' : '').'>'.&mt('with submissions').'</option>'. |
($saveSub eq 'yes' ? 'selected="selected"' : '').'>'.&mt('with submissions').'</option>'. |
'<option value="queued" '. |
'<option value="queued" '. |
Line 7473 GRADINGMENUJS
|
Line 7408 GRADINGMENUJS
|
'<option value="incorrect" '. |
'<option value="incorrect" '. |
($saveSub eq 'incorrect' ? 'selected="selected"' : '').'>'.&mt('with incorrect submissions').'</option>'. |
($saveSub eq 'incorrect' ? 'selected="selected"' : '').'>'.&mt('with incorrect submissions').'</option>'. |
'<option value="all" '. |
'<option value="all" '. |
($saveSub eq 'all' ? 'selected="selected"' : '').'>'.&mt('with any status').'</option></select></td></tr>'."\n"; |
($saveSub eq 'all' ? 'selected="selected"' : '').'>'.&mt('with any status').'</option></select></td></tr>'; |
|
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'. |
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="3"><label>'. |
|
'<input type="radio" name="radioChoice" value="submission" '. |
|
($saveCmd eq 'submission' ? 'checked="checked"' : '').' /> '.'<b>'.&mt('Current Resource').':</b> '.&mt('For one or more students'). |
|
'</label> </td></tr>'."\n"; |
|
|
|
$result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="3">'. |
'<label><input type="radio" name="radioChoice" value="viewgrades" '. |
'<label><input type="radio" name="radioChoice" value="viewgrades" '. |
($saveCmd eq 'viewgrades' ? 'checked="checked"' : '').' /> '. |
($saveCmd eq 'viewgrades' ? 'checked="checked"' : '').' /> '. |
'<b>Current Resource:</b> For all students in selected section or course</label></td></tr>'."\n"; |
'<b>Current Resource:</b> For all students in selected section or course</label></td></tr>'."\n"; |
|
|
$result.='<tr bgcolor="#ffffe6" valign="top"><td colspan="2">'. |
$result.='<tr bgcolor="#ffffe6"><td colspan="3"><br />'. |
'<label><input type="radio" name="radioChoice" value="pickStudentPage" '. |
'<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="Next->" />'. |
|
'</td></tr>'."\n"; |
|
|
|
|
|
$result.='<tr bgcolor="#ffffe6" valign="top"><td colspan="3">'. |
|
'<br /><label><input type="radio" name="radioChoice" value="pickStudentPage" '. |
($saveCmd eq 'pickStudentPage' ? 'checked="checked"' : '').' /> '. |
($saveCmd eq 'pickStudentPage' ? 'checked="checked"' : '').' /> '. |
'The <b>complete</b> set/page/sequence: For one student</label></td></tr>'."\n"; |
'The <b>complete</b> set/page/sequence/folder: For one student</label></td></tr>'."\n"; |
|
|
$result.='<tr bgcolor="#ffffe6"><td colspan="2"><br />'. |
$result.='<tr bgcolor="#ffffe6"><td colspan="3"><br />'. |
'<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="Next->" />'. |
'<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="Next->" />'. |
'</td></tr></table>'."\n"; |
'</td></tr></table>'."\n"; |
|
|
Line 8032 ENDHEADER
|
Line 7977 ENDHEADER
|
|
|
sub handler { |
sub handler { |
my $request=$_[0]; |
my $request=$_[0]; |
|
|
&reset_caches(); |
&reset_caches(); |
if ($env{'browser.mathml'}) { |
if ($env{'browser.mathml'}) { |
&Apache::loncommon::content_type($request,'text/xml'); |
&Apache::loncommon::content_type($request,'text/xml'); |
Line 8128 sub handler {
|
Line 8072 sub handler {
|
} elsif ($command eq 'csvuploadassign' && $perm{'mgr'} ) { |
} elsif ($command eq 'csvuploadassign' && $perm{'mgr'} ) { |
$request->print(&csvuploadassign($request)); |
$request->print(&csvuploadassign($request)); |
} elsif ($command eq 'scantron_selectphase' && $perm{'mgr'}) { |
} elsif ($command eq 'scantron_selectphase' && $perm{'mgr'}) { |
&Apache::lonnet::logthis("Selecting pyhase"); |
|
$request->print(&scantron_selectphase($request)); |
$request->print(&scantron_selectphase($request)); |
} elsif ($command eq 'scantron_warning' && $perm{'mgr'}) { |
} elsif ($command eq 'scantron_warning' && $perm{'mgr'}) { |
$request->print(&scantron_do_warning($request)); |
$request->print(&scantron_do_warning($request)); |