version 1.568, 2025/01/31 16:07:31
|
version 1.570, 2025/02/03 03:04:24
|
Line 48 described at http://www.lon-capa.org.
|
Line 48 described at http://www.lon-capa.org.
|
|
|
=head1 OVERVIEW |
=head1 OVERVIEW |
|
|
X<lonnavmaps, overview> When a user enters a course, LON-CAPA examines the |
X<lonnavmaps, overview> |
|
When a user enters a course, LON-CAPA examines the |
course structure and caches it in what is often referred to as the |
course structure and caches it in what is often referred to as the |
"big hash" X<big hash>. You can see it if you are logged into |
"big hash" X<big hash>. You can see it if you are logged into |
LON-CAPA, in a course, by going to /adm/test. The content of |
LON-CAPA, in a course, by going to /adm/test. The content of |
Line 1575 sub render {
|
Line 1576 sub render {
|
|
|
while (($curRes = $mapIterator->next()) && !$foundJump) { |
while (($curRes = $mapIterator->next()) && !$foundJump) { |
if (ref($curRes)) { $counter++; } |
if (ref($curRes)) { $counter++; } |
|
# Speed up display after course initialization |
|
# when $jump is empty. Note: we still need |
|
# $counter to be 1 in that case if there is at |
|
# least one resource. |
|
last if (($jump eq '') && ($counter)); |
|
|
if (ref($curRes) && $jump eq $curRes->symb()) { |
if (ref($curRes) && $jump eq $curRes->symb()) { |
|
|
# This is why we have to use the main iterator instead of the |
# This is why we have to use the main iterator instead of the |
Line 1594 sub render {
|
Line 1600 sub render {
|
my $printKey = $args->{'printKey'}; |
my $printKey = $args->{'printKey'}; |
my $printCloseAll = $args->{'printCloseAll'}; |
my $printCloseAll = $args->{'printCloseAll'}; |
if (!defined($printCloseAll)) { $printCloseAll = 1; } |
if (!defined($printCloseAll)) { $printCloseAll = 1; } |
|
|
# Print key? |
# Print key? |
if ($printKey) { |
if ($printKey) { |
$result .= '<table border="0" cellpadding="2" cellspacing="0">'; |
my $location = &Apache::loncommon::lonhttpdurl("/adm/lonMisc"); |
$result.='<tr><td align="right" valign="bottom">Key: </td>'; |
$result .= '<table border="0" cellpadding="2" cellspacing="0">'. |
my $location=&Apache::loncommon::lonhttpdurl("/adm/lonMisc"); |
'<tr><td align="right" valign="bottom">Key: </td>'. |
if ($navmap->{LAST_CHECK}) { |
'<td align="center" valign="bottom"> '. |
$result .= |
'<img src="'.$location.'/chat.gif" alt="" /> '.&mt('Unread Discussion'). |
'<img src="'.$location.'/chat.gif" alt="" /> '.&mt('New discussion since').' '. |
'</td><td align="center" valign="bottom">'. |
strftime("%A, %b %e at %I:%M %P", localtime($navmap->{LAST_CHECK})). |
' <img src="'.$location.'/feedback.gif" alt="" /> '. |
'</td><td align="center" valign="bottom"> '. |
&mt('New message (click to open)'). |
'<img src="'.$location.'/feedback.gif" alt="" /> '.&mt('New message (click to open)').'<p>'. |
'</td></tr></table>'."\n"; |
'</td>'; |
|
} else { |
|
$result .= '<td align="center" valign="bottom"> '. |
|
'<img src="'.$location.'/chat.gif" alt="" /> '.&mt('Discussions').'</td><td align="center" valign="bottom">'. |
|
' <img src="'.$location.'/feedback.gif" alt="" /> '.&mt('New message (click to open)'). |
|
'</td>'; |
|
} |
|
|
|
$result .= '</tr></table>'; |
|
} |
} |
|
|
if ($printCloseAll && !$args->{'resource_no_folder_link'}) { |
if ($printCloseAll && !$args->{'resource_no_folder_link'}) { |
Line 1711 END
|
Line 1708 END
|
$result .= "<br />\n"; |
$result .= "<br />\n"; |
|
|
# Data |
# Data |
$result.=&Apache::loncommon::start_data_table("LC_tableOfContent"); |
if ($counter) { |
|
$result.=&Apache::loncommon::start_data_table("LC_tableOfContent"); |
|
} |
|
|
my $res = "Apache::lonnavmaps::resource"; |
my $res = "Apache::lonnavmaps::resource"; |
my %condenseStatuses = |
my %condenseStatuses = |
Line 2109 END
|
Line 2108 END
|
} |
} |
} |
} |
|
|
$result.=&Apache::loncommon::end_data_table(); |
if ($counter) { |
|
$result.=&Apache::loncommon::end_data_table(); |
|
} |
|
|
# Print out the part that jumps to #curloc if it exists |
# Print out the part that jumps to #curloc if it exists |
# delay needed because the browser is processing the jump before |
# delay needed because the browser is processing the jump before |