version 1.205, 2003/06/16 15:08:22
|
version 1.209, 2003/06/23 15:53:35
|
Line 92 my %colormap =
|
Line 92 my %colormap =
|
$resObj->TRIES_LEFT => '', |
$resObj->TRIES_LEFT => '', |
$resObj->INCORRECT => '', |
$resObj->INCORRECT => '', |
$resObj->OPEN => '', |
$resObj->OPEN => '', |
$resObj->NOTHING_SET => '' ); |
$resObj->NOTHING_SET => '', |
|
$resObj->ATTEMPTED => '', |
|
$resObj->ANSWER_SUBMITTED => '' |
|
); |
# And a special case in the nav map; what to do when the assignment |
# And a special case in the nav map; what to do when the assignment |
# is not yet done and due in less then 24 hours |
# is not yet done and due in less then 24 hours |
my $hurryUpColor = "#FF0000"; |
my $hurryUpColor = "#FF0000"; |
Line 161 sub real_handler {
|
Line 164 sub real_handler {
|
# Now that we've displayed some stuff to the user, init the navmap |
# Now that we've displayed some stuff to the user, init the navmap |
$navmap->init(); |
$navmap->init(); |
|
|
$r->print('<br>'); |
|
$r->rflush(); |
$r->rflush(); |
|
|
# Check that it's defined |
# Check that it's defined |
Line 244 sub real_handler {
|
Line 246 sub real_handler {
|
} |
} |
} else { |
} else { |
$r->print("<a href='navmaps?jumpToFirstHomework'>" . |
$r->print("<a href='navmaps?jumpToFirstHomework'>" . |
"Go To My First Homework Problem</a><br />"); |
"Go To My First Homework Problem</a> "); |
} |
} |
|
|
my $suppressEmptySequences = 0; |
my $suppressEmptySequences = 0; |
Line 265 sub real_handler {
|
Line 267 sub real_handler {
|
$resource_no_folder_link = 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> "); |
} |
} |
|
|
# renderer call |
# renderer call |
Line 414 sub dueInLessThen24Hours {
|
Line 416 sub dueInLessThen24Hours {
|
my $part = shift; |
my $part = shift; |
my $status = $res->status($part); |
my $status = $res->status($part); |
|
|
return ($status == $res->OPEN() || $status == $res->ATTEMPTED() || |
return ($status == $res->OPEN() || |
$status == $res->TRIES_LEFT()) && |
$status == $res->TRIES_LEFT()) && |
$res->duedate() && $res->duedate() < time()+(24*60*60) && |
$res->duedate() && $res->duedate() < time()+(24*60*60) && |
$res->duedate() > time(); |
$res->duedate() > time(); |
Line 1019 sub render_long_status {
|
Line 1021 sub render_long_status {
|
$params->{'multipart'} && $part eq "0"; |
$params->{'multipart'} && $part eq "0"; |
|
|
my $color; |
my $color; |
if ($resource->is_problem() && ($resource->countParts() <= 1 || $part ne '') ) { |
if ($resource->is_problem() && ($resource->countParts() <= 1) ) { |
$color = $colormap{$resource->status}; |
$color = $colormap{$resource->status}; |
|
|
if (dueInLessThen24Hours($resource, $part) || |
if (dueInLessThen24Hours($resource, $part) || |
Line 1497 sub render {
|
Line 1499 sub render {
|
} |
} |
} continue { |
} continue { |
$curRes = $it->next(); |
$curRes = $it->next(); |
|
|
|
if ($r) { |
|
# If we have the connection, make sure the user is still connected |
|
my $c = $r->connection; |
|
if ($c->aborted()) { |
|
Apache::lonnet::logthis("navmaps aborted"); |
|
# Who cares what we do, nobody will see it anyhow. |
|
return ''; |
|
} |
|
} |
} |
} |
|
|
# Print out the part that jumps to #curloc if it exists |
# Print out the part that jumps to #curloc if it exists |
Line 2214 sub min {
|
Line 2226 sub min {
|
if ($a < $b) { return $a; } else { return $b; } |
if ($a < $b) { return $a; } else { return $b; } |
} |
} |
|
|
# In the CVS repository, documentation of this algorithm is included |
|
# in /doc/lonnavdocs, as a PDF and .tex source. Markers like **1** |
|
# will reference the same location in the text as the part of the |
|
# algorithm is running through. |
|
|
|
sub new { |
sub new { |
# magic invocation to create a class instance |
# magic invocation to create a class instance |
my $proto = shift; |
my $proto = shift; |
Line 2274 sub new {
|
Line 2281 sub new {
|
# that isn't just a redirector. |
# that isn't just a redirector. |
my $resource; my $resourceCount = 0; |
my $resource; my $resourceCount = 0; |
|
|
|
# Documentation on this algorithm can be found in the CVS repository at |
|
# /docs/lonnavdocs; these "**#**" markers correspond to documentation |
|
# in that file. |
# **1** |
# **1** |
|
|
foreach my $pass (@iterations) { |
foreach my $pass (@iterations) { |