version 1.194, 2003/05/29 17:39:41
|
version 1.203, 2003/06/13 13:58:06
|
Line 72 my %statusIconMap =
|
Line 72 my %statusIconMap =
|
$resObj->TRIES_LEFT => 'navmap.open.gif', |
$resObj->TRIES_LEFT => 'navmap.open.gif', |
$resObj->INCORRECT => 'navmap.wrong.gif', |
$resObj->INCORRECT => 'navmap.wrong.gif', |
$resObj->OPEN => 'navmap.open.gif', |
$resObj->OPEN => 'navmap.open.gif', |
$resObj->ATTEMPTED => 'navmap.open.gif', |
$resObj->ATTEMPTED => 'navmap.ellipsis.gif', |
$resObj->ANSWER_SUBMITTED => '' ); |
$resObj->ANSWER_SUBMITTED => '' ); |
|
|
my %iconAltTags = |
my %iconAltTags = |
Line 249 sub real_handler {
|
Line 249 sub real_handler {
|
|
|
my $suppressEmptySequences = 0; |
my $suppressEmptySequences = 0; |
my $filterFunc = undef; |
my $filterFunc = undef; |
|
my $resource_no_folder_link = 0; |
|
|
# Display only due homework. |
# Display only due homework. |
my $showOnlyHomework = 0; |
my $showOnlyHomework = 0; |
if ($ENV{QUERY_STRING} eq 'showOnlyHomework') { |
if ($ENV{QUERY_STRING} eq 'showOnlyHomework') { |
$showOnlyHomework = 1; |
$showOnlyHomework = 1; |
$suppressEmptySequences = 1; |
$suppressEmptySequences = 1; |
$filterFunc = sub { my $res = shift; |
$filterFunc = sub { my $res = shift; |
return $res->completable() || $res->is_sequence(); |
return $res->completable() || $res->is_map(); |
}; |
}; |
$r->print("<p><font size='+2'>Uncompleted Homework</font></p>"); |
$r->print("<p><font size='+2'>Uncompleted Homework</font></p>"); |
$ENV{'form.filter'} = ''; |
$ENV{'form.filter'} = ''; |
$ENV{'form.condition'} = 1; |
$ENV{'form.condition'} = 1; |
|
$resource_no_folder_link = 1; |
} else { |
} else { |
$r->print("<a href='navmaps?showOnlyHomework'>" . |
$r->print("<a href='navmaps?showOnlyHomework'>" . |
"Show Only Uncompleted Homework</a><br />"); |
"Show Only Uncompleted Homework</a><br />"); |
Line 272 sub real_handler {
|
Line 275 sub real_handler {
|
'suppressNavmap' => 1, |
'suppressNavmap' => 1, |
'suppressEmptySequences' => $suppressEmptySequences, |
'suppressEmptySequences' => $suppressEmptySequences, |
'filterFunc' => $filterFunc, |
'filterFunc' => $filterFunc, |
|
'resource_no_folder_link' => $resource_no_folder_link, |
'r' => $r}; |
'r' => $r}; |
my $render = render($renderArgs); |
my $render = render($renderArgs); |
$navmap->untieHashes(); |
$navmap->untieHashes(); |
Line 378 sub getDescription {
|
Line 382 sub getDescription {
|
return "Excused by instructor"; |
return "Excused by instructor"; |
} |
} |
if ($status == $res->ATTEMPTED) { |
if ($status == $res->ATTEMPTED) { |
return "Not yet graded."; |
return "Answer submitted, not yet graded."; |
} |
} |
if ($status == $res->TRIES_LEFT) { |
if ($status == $res->TRIES_LEFT) { |
my $tries = $res->tries($part); |
my $tries = $res->tries($part); |
Line 919 sub render_resource {
|
Line 923 sub render_resource {
|
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
$nonLinkedText .= ' (' . $resource->countParts() . ' parts)'; |
} |
} |
|
|
if (!$params->{'resource_nolink'}) { |
if (!$params->{'resource_nolink'} && $src !~ /^\/uploaded\// && |
|
!$resource->is_map()) { |
$result .= " $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>"; |
$result .= " $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>"; |
} else { |
} else { |
$result .= " $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>"; |
$result .= " $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>"; |
Line 966 sub render_communication_status {
|
Line 971 sub render_communication_status {
|
} |
} |
} |
} |
|
|
|
if ($params->{'multipart'} && $part != '0') { |
|
$discussionHTML = $feedbackHTML = $errorHTML = ''; |
|
} |
|
|
return "<td width=\"75\" align=\"left\" valign=\"center\">$discussionHTML$feedbackHTML$errorHTML </td>"; |
return "<td width=\"75\" align=\"left\" valign=\"center\">$discussionHTML$feedbackHTML$errorHTML </td>"; |
|
|
} |
} |
Line 1021 sub render_long_status {
|
Line 1030 sub render_long_status {
|
$result .= '(randomly select ' . $resource->randompick() .')'; |
$result .= '(randomly select ' . $resource->randompick() .')'; |
} |
} |
|
|
$result .= " </td>\n"; |
|
|
|
return $result; |
return $result; |
} |
} |
|
|
Line 1291 sub render {
|
Line 1298 sub render {
|
|
|
if (ref($curRes)) { |
if (ref($curRes)) { |
# Parallel pre-processing: Do sequences have non-filtered-out children? |
# Parallel pre-processing: Do sequences have non-filtered-out children? |
if ($curRes->is_sequence()) { |
if ($curRes->is_map()) { |
$curRes->{DATA}->{HAS_VISIBLE_CHILDREN} = 0; |
$curRes->{DATA}->{HAS_VISIBLE_CHILDREN} = 0; |
# Sequences themselves do not count as visible children, |
# Sequences themselves do not count as visible children, |
# unless those sequences also have visible children. |
# unless those sequences also have visible children. |
Line 1354 sub render {
|
Line 1361 sub render {
|
} |
} |
|
|
# If this is an empty sequence and we're filtering them, continue on |
# If this is an empty sequence and we're filtering them, continue on |
if ($curRes->is_sequence() && $args->{'suppressEmptySequences'} && |
if ($curRes->is_map() && $args->{'suppressEmptySequences'} && |
!$curRes->{DATA}->{HAS_VISIBLE_CHILDREN}) { |
!$curRes->{DATA}->{HAS_VISIBLE_CHILDREN}) { |
next; |
next; |
} |
} |
Line 1413 sub render {
|
Line 1420 sub render {
|
@parts = ($parts[0]); |
@parts = ($parts[0]); |
$args->{'condensed'} = 1; |
$args->{'condensed'} = 1; |
} |
} |
|
|
} |
} |
|
# Multipart problem with one part: always "condense" (happens |
|
# to match the desirable behavior) |
|
if ($curRes->countParts() == 1) { |
|
@parts = ($parts[0]); |
|
$args->{'condensed'} = 1; |
|
} |
} |
} |
} |
} |
|
|