version 1.387, 2007/01/04 16:50:02
|
version 1.395, 2007/04/16 19:00:38
|
Line 117 sub response_type {
|
Line 117 sub response_type {
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $navmap = Apache::lonnavmaps::navmap->new(); |
my $res = $navmap->getBySymb($symb); |
my $res = $navmap->getBySymb($symb); |
my $partlist = $res->parts(); |
my $partlist = $res->parts(); |
|
my %vPart = |
|
map { $_ => 1 } (&Apache::loncommon::get_env_multiple('form.vPart')); |
my (%response_types,%handgrade); |
my (%response_types,%handgrade); |
foreach my $part (@{ $partlist }) { |
foreach my $part (@{ $partlist }) { |
|
next if (%vPart && !exists($vPart{$part})); |
|
|
my @types = $res->responseType($part); |
my @types = $res->responseType($part); |
my @ids = $res->responseIds($part); |
my @ids = $res->responseIds($part); |
for (my $i=0; $i < scalar(@ids); $i++) { |
for (my $i=0; $i < scalar(@ids); $i++) { |
Line 599 sub verifyreceipt {
|
Line 603 sub verifyreceipt {
|
my (undef,undef,$fullname) = &getclasslist('all','0'); |
my (undef,undef,$fullname) = &getclasslist('all','0'); |
|
|
my $receiptparts=0; |
my $receiptparts=0; |
if ($env{"course.$courseid.receiptalg"} eq 'receipt2') { $receiptparts=1; } |
if ($env{"course.$courseid.receiptalg"} eq 'receipt2' || |
|
$env{"course.$courseid.receiptalg"} eq 'receipt3') { $receiptparts=1; } |
my $parts=['0']; |
my $parts=['0']; |
if ($receiptparts) { ($parts)=&response_type($symb); } |
if ($receiptparts) { ($parts)=&response_type($symb); } |
foreach (sort |
foreach (sort |
Line 1622 sub show_problem {
|
Line 1627 sub show_problem {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub download_all_link { |
|
my ($r,$symb) = @_; |
|
my $all_students = |
|
join("\n", &Apache::loncommon::get_env_multiple('form.stuinfo')); |
|
|
|
my $parts = |
|
join("\n",&Apache::loncommon::get_env_multiple('form.vPart')); |
|
|
|
my $identifier = &Apache::loncommon::get_cgi_id(); |
|
&Apache::lonnet::appenv('cgi.'.$identifier.'.students' => $all_students, |
|
'cgi.'.$identifier.'.symb' => $symb, |
|
'cgi.'.$identifier.'.parts' => $parts,); |
|
$r->print('<a href="/cgi-bin/multidownload.pl?'.$identifier.'">'. |
|
&mt('Download All Submitted Documents').'</a>'); |
|
return |
|
} |
|
|
# --------------------------- show submissions of a student, option to grade |
# --------------------------- show submissions of a student, option to grade |
sub submission { |
sub submission { |
my ($request,$counter,$total) = @_; |
my ($request,$counter,$total) = @_; |
Line 1656 sub submission {
|
Line 1678 sub submission {
|
&sub_page_kw_js($request) if ($env{'form.handgrade'} eq 'yes'); |
&sub_page_kw_js($request) if ($env{'form.handgrade'} eq 'yes'); |
$env{'form.probTitle'} = $env{'form.probTitle'} eq '' ? |
$env{'form.probTitle'} = $env{'form.probTitle'} eq '' ? |
&Apache::lonnet::gettitle($symb) : $env{'form.probTitle'}; |
&Apache::lonnet::gettitle($symb) : $env{'form.probTitle'}; |
|
&download_all_link($request,$symb); |
$request->print('<h3> <font color="#339933">Submission Record</font></h3>'."\n". |
$request->print('<h3> <font color="#339933">Submission Record</font></h3>'."\n". |
'<font size=+1> <b>Resource: </b>'.$env{'form.probTitle'}.'</font>'."\n"); |
'<font size=+1> <b>Resource: </b>'.$env{'form.probTitle'}.'</font>'."\n"); |
|
|
Line 1867 KEYWORDS
|
Line 1889 KEYWORDS
|
my %seenparts; |
my %seenparts; |
my @part_response_id = &flatten_responseType($responseType); |
my @part_response_id = &flatten_responseType($responseType); |
foreach my $part (@part_response_id) { |
foreach my $part (@part_response_id) { |
|
next if ($env{'form.lastSub'} eq 'hdgrade' |
|
&& $$handgrade{$$part[0].'_'.$$part[1]} ne 'yes'); |
|
|
my ($partid,$respid) = @{ $part }; |
my ($partid,$respid) = @{ $part }; |
my $display_part=&get_display_part($partid,$symb); |
my $display_part=&get_display_part($partid,$symb); |
if ($env{"form.$uname:$udom:$partid:submitted_by"}) { |
if ($env{"form.$uname:$udom:$partid:submitted_by"}) { |
Line 1913 KEYWORDS
|
Line 1938 KEYWORDS
|
($env{'form.lastSub'} eq 'hdgrade' && |
($env{'form.lastSub'} eq 'hdgrade' && |
$$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) { |
$$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) { |
my $display_part=&get_display_part($partid,$symb); |
my $display_part=&get_display_part($partid,$symb); |
$lastsubonly.='<tr><td bgcolor="#ffffe6"><b>Part:</b> '. |
$lastsubonly.='<tr><td bgcolor="#ffffe6">Debug -'.'<b>Part:</b> '. |
$display_part.' <font color="#999999">( ID '.$respid. |
$display_part.' <font color="#999999">( hhhh ID '.$respid. |
' )</font> '; |
' )</font> '; |
my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); |
my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); |
if (@$files) { |
if (@$files) { |
Line 2007 KEYWORDS
|
Line 2032 KEYWORDS
|
my $part_resp = join('_',@{ $part_response_id }); |
my $part_resp = join('_',@{ $part_response_id }); |
next if ($seen{$partid} > 0); |
next if ($seen{$partid} > 0); |
$seen{$partid}++; |
$seen{$partid}++; |
next if ($$handgrade{$part_resp} =~ /:no$/ && $env{'form.lastSub'} =~ /^(hdgrade)$/); |
next if ($$handgrade{$part_resp} ne 'yes' |
|
&& $env{'form.lastSub'} eq 'hdgrade'); |
push @partlist,$partid; |
push @partlist,$partid; |
push @gradePartRespid,$partid.'.'.$respid; |
push @gradePartRespid,$partid.'.'.$respid; |
$request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record)); |
$request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record)); |
Line 2537 sub handback_files {
|
Line 2563 sub handback_files {
|
$message .= ' The returned file(s) are named: '. $file_msg; |
$message .= ' The returned file(s) are named: '. $file_msg; |
$message .= " and can be found in your portfolio space."; |
$message .= " and can be found in your portfolio space."; |
my $url = (&Apache::lonnet::decode_symb($symb))[2]; |
my $url = (&Apache::lonnet::decode_symb($symb))[2]; |
my $feedurl = &Apache::lonnet::declutter($url); |
my $feedurl = &Apache::lonnet::clutter($url); |
my $encrypturl=&Apache::lonnet::EXT('resource.0.encrypturl', |
my $encrypturl=&Apache::lonnet::EXT('resource.0.encrypturl', |
$symb,$domain,$stuname); |
$symb,$domain,$stuname); |
my ($baseurl,$showsymb); |
my ($baseurl,$showsymb); |
Line 2984 sub viewgrades {
|
Line 3010 sub viewgrades {
|
} |
} |
$result.='</table>'.'</td></tr></table>'.'</td></tr></table>'."\n". |
$result.='</table>'.'</td></tr></table>'.'</td></tr></table>'."\n". |
'<input type="hidden" name="totalparts" value="'.$ctsparts.'" />'; |
'<input type="hidden" name="totalparts" value="'.$ctsparts.'" />'; |
$result.='<input type="button" value="Reset" '. |
$result.='<input type="button" value="Revert to Default" '. |
'onClick="javascript:resetEntry('.$ctsparts.');" TARGET=_self>'; |
'onClick="javascript:resetEntry('.$ctsparts.');" TARGET=_self>'; |
|
|
#table listing all the students in a section/class |
#table listing all the students in a section/class |
Line 4638 sub scantron_fixup_scanline {
|
Line 4664 sub scantron_fixup_scanline {
|
$answer=$alphabet[$args->{'response'}]; |
$answer=$alphabet[$args->{'response'}]; |
} elsif ($on eq 'number') { |
} elsif ($on eq 'number') { |
$answer=$args->{'response'}+1; |
$answer=$args->{'response'}+1; |
|
if ($answer == 10) { $answer = '0'; } |
} else { |
} else { |
substr($answer,$args->{'response'},1)=$on; |
substr($answer,$args->{'response'},1)=$on; |
} |
} |
Line 4708 sub scantron_parse_scanline {
|
Line 4735 sub scantron_parse_scanline {
|
|| $currentquest eq '*') { |
|| $currentquest eq '*') { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
push(@{$record{'scantron.doubleerror'}},$questnum); |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
} elsif (!$currentquest |
} elsif (!defined($currentquest) |
|| $currentquest eq $$scantron_config{'Qoff'} |
|| $currentquest eq $$scantron_config{'Qoff'} |
|| $currentquest !~ /^[A-Z]$/) { |
|| $currentquest !~ /^[A-Z]$/) { |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
Line 4723 sub scantron_parse_scanline {
|
Line 4750 sub scantron_parse_scanline {
|
|| $currentquest eq '*') { |
|| $currentquest eq '*') { |
push(@{$record{'scantron.doubleerror'}},$questnum); |
push(@{$record{'scantron.doubleerror'}},$questnum); |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
} elsif (!$currentquest |
} elsif (!defined($currentquest) |
|| $currentquest eq $$scantron_config{'Qoff'} |
|| $currentquest eq $$scantron_config{'Qoff'} |
|| $currentquest !~ /^\d$/) { |
|| $currentquest !~ /^\d$/) { |
$record{"scantron.$questnum.answer"}=''; |
$record{"scantron.$questnum.answer"}=''; |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) { |
push(@{$record{"scantron.missingerror"}},$questnum); |
push(@{$record{"scantron.missingerror"}},$questnum); |