version 1.280, 2004/08/27 20:34:13
|
version 1.282, 2004/08/29 04:09:27
|
Line 84 my %colormap =
|
Line 84 my %colormap =
|
my $hurryUpColor = "#FF0000"; |
my $hurryUpColor = "#FF0000"; |
|
|
sub launch_win { |
sub launch_win { |
my ($mode,$script)=@_; |
my ($mode,$script,$toplinkitems)=@_; |
my $result; |
my $result; |
if ($script ne 'no') { |
if ($script ne 'no') { |
$result.='<script type="text/javascript">'; |
$result.='<script type="text/javascript">'; |
Line 99 sub launch_win {
|
Line 99 sub launch_win {
|
$result.='</script>'; |
$result.='</script>'; |
} |
} |
if ($mode eq 'link') { |
if ($mode eq 'link') { |
$result.='<a href="javascript:launch_navmapwin();void(0);">' |
&add_linkitem($toplinkitems,'launchnav','launch_navmapwin()', |
.&mt("Launch navigation window")."</a> "; |
"Launch navigation window"); |
} |
} |
return $result; |
return $result; |
} |
} |
Line 178 sub real_handler {
|
Line 178 sub real_handler {
|
&Apache::loncommon::no_cache($r); |
&Apache::loncommon::no_cache($r); |
$r->send_http_header; |
$r->send_http_header; |
|
|
|
my %toplinkitems=(); |
|
|
if ($ENV{QUERY_STRING} eq 'collapseExternal') { |
if ($ENV{QUERY_STRING} eq 'collapseExternal') { |
&Apache::lonnet::put('environment',{'remotenavmap' => 'off'}); |
&Apache::lonnet::put('environment',{'remotenavmap' => 'off'}); |
&Apache::lonnet::appenv('environment.remotenavmap' => 'off'); |
&Apache::lonnet::appenv('environment.remotenavmap' => 'off'); |
Line 308 ENDSUBM
|
Line 310 ENDSUBM
|
} |
} |
|
|
if ($ENV{'environment.remotenavmap'} ne 'on') { |
if ($ENV{'environment.remotenavmap'} ne 'on') { |
$r->print(&launch_win('link','yes')); |
$r->print(&launch_win('link','yes',\%toplinkitems)); |
} |
} |
if ($ENV{'environment.remotenavmap'} eq 'on') { |
if ($ENV{'environment.remotenavmap'} eq 'on') { |
# $r->print("<a href='navmaps?collapseExternal'>" . |
&add_linkitem(\%toplinkitems,'closenav','collapse()', |
$r->print("<a href='javascript:collapse();void(0);'>" . |
"Close navigation window"); |
&mt("Close navigation window"). |
|
"</a> "); |
|
} |
} |
|
|
my $jumpToFirstHomework = 0; |
my $jumpToFirstHomework = 0; |
# Check to see if the student is jumping to next open, do-able problem |
# Check to see if the student is jumping to next open, do-able problem |
if ($ENV{QUERY_STRING} eq 'jumpToFirstHomework') { |
if ($ENV{QUERY_STRING} =~ /^jumpToFirstHomework/) { |
$jumpToFirstHomework = 1; |
$jumpToFirstHomework = 1; |
# Find the next homework problem that they can do. |
# Find the next homework problem that they can do. |
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
Line 352 ENDSUBM
|
Line 352 ENDSUBM
|
$r->print("<font size='+2'>All homework assignments have been completed.</font><br /><br />"); |
$r->print("<font size='+2'>All homework assignments have been completed.</font><br /><br />"); |
} |
} |
} else { |
} else { |
$r->print("<a href='navmaps?jumpToFirstHomework'>" . |
&add_linkitem(\%toplinkitems,'firsthomework', |
&mt("Go To My First Homework Problem")."</a> "); |
'location.href="navmaps?jumpToFirstHomework"', |
|
"Go To My First Homework Problem"); |
} |
} |
|
|
my $suppressEmptySequences = 0; |
my $suppressEmptySequences = 0; |
Line 368 ENDSUBM
|
Line 369 ENDSUBM
|
$filterFunc = sub { my $res = shift; |
$filterFunc = sub { my $res = shift; |
return $res->completable() || $res->is_map(); |
return $res->completable() || $res->is_map(); |
}; |
}; |
$r->print("<a href='navmaps?sort=$ENV{'form.sort'}'>" . |
&add_linkitem(\%toplinkitems,'everything', |
&mt("Show Everything")."</a> "); |
'location.href="locatnavmaps?sort='.$ENV{'form.sort'}.'"', |
|
"Show Everything"); |
$r->print("<p><font size='+2'>".&mt("Uncompleted Homework")."</font></p>"); |
$r->print("<p><font size='+2'>".&mt("Uncompleted Homework")."</font></p>"); |
$ENV{'form.filter'} = ''; |
$ENV{'form.filter'} = ''; |
$ENV{'form.condition'} = 1; |
$ENV{'form.condition'} = 1; |
$resource_no_folder_link = 1; |
$resource_no_folder_link = 1; |
} else { |
} else { |
$r->print("<a href='navmaps?sort=$ENV{'form.sort'}&showOnlyHomework=1'>" . |
&add_linkitem(\%toplinkitems,'uncompleted', |
&mt("Show Only Uncompleted Homework")."</a> "); |
'location.href="navmaps?sort='.$ENV{'form.sort'}. |
|
'&showOnlyHomework=1"', |
|
"Show Only Uncompleted Homework"); |
} |
} |
|
|
my %selected=($ENV{'form.sort'} => 'selected=on'); |
my %selected=($ENV{'form.sort'} => 'selected=on'); |
Line 401 ENDSUBM
|
Line 405 ENDSUBM
|
'filterFunc' => $filterFunc, |
'filterFunc' => $filterFunc, |
'resource_no_folder_link' => $resource_no_folder_link, |
'resource_no_folder_link' => $resource_no_folder_link, |
'sort_html'=> $sort_html, |
'sort_html'=> $sort_html, |
'r' => $r}; |
'r' => $r, |
|
'caller' => 'navmapsdisplay', |
|
'linkitems' => \%toplinkitems}; |
my $render = render($renderArgs); |
my $render = render($renderArgs); |
$navmap->untieHashes(); |
$navmap->untieHashes(); |
|
|
Line 1522 sub render {
|
Line 1528 sub render {
|
} |
} |
|
|
if ($printCloseAll && !$args->{'resource_no_folder_link'}) { |
if ($printCloseAll && !$args->{'resource_no_folder_link'}) { |
|
my ($link,$text); |
if ($condition) { |
if ($condition) { |
$result.="<a href=\"navmaps?condition=0&filter=&$queryString" . |
$link='"navmaps?condition=0&filter=&'.$queryString. |
"&here=" . Apache::lonnet::escape($here) . |
'&here='.&Apache::lonnet::escape($here).'"'; |
"\">".&mt('Close All Folders')."</a>"; |
$text='Close All Folders'; |
} else { |
} else { |
$result.="<a href=\"navmaps?condition=1&filter=&$queryString" . |
$link='"navmaps?condition=1&filter=&'.$queryString. |
"&here=" . Apache::lonnet::escape($here) . |
'&here='.&Apache::lonnet::escape($here).'"'; |
"\">".&mt('Open All Folders')."</a>"; |
$text='Open All Folders'; |
} |
} |
|
if ($args->{'caller'} eq 'navmapsdisplay') { |
|
&add_linkitem($args->{'linkitems'},'changefolder', |
|
'location.href='.$link,$text); |
|
} else { |
|
$result.='<a href='.$link.'>'.&mt($text).'</a>'; |
|
} |
$result .= "\n"; |
$result .= "\n"; |
} |
} |
|
|
# Check for any unread discussions in all resources. |
# Check for any unread discussions in all resources. |
if (!$args->{'resource_no_folder_link'}) { |
if ($args->{'caller'} eq 'navmapsdisplay') { |
my $totdisc = 0; |
my $totdisc = 0; |
my $haveDisc = ''; |
my $haveDisc = ''; |
my @allres=$navmap->retrieveResources(); |
my @allres=$navmap->retrieveResources(); |
Line 1553 sub render {
|
Line 1566 sub render {
|
} |
} |
if ($totdisc > 0) { |
if ($totdisc > 0) { |
$haveDisc =~ s/:$//; |
$haveDisc =~ s/:$//; |
my %lt = &Apache::lonlocal::texthash( |
my $navurl = $ENV{'QUERY_STRING'}; |
'mapr' => 'Mark all posts read', |
&add_linkitem($args->{'linkitems'},'clearbubbles', |
); |
'document.clearbubbles.submit()', |
$result .= (<<END); |
'Mark all posts read'); |
<a href="javascript:document.clearbubbles.submit()">$lt{'mapr'}</a> <a href="javascript:void(open('/adm/help/NavMaps_MarkPosts_Read.hlp', 'Help_for_NavMaps_MarkPosts', 'menubar=0,toolbar=1,scrollbars=1,width=350,height=400,resizable=yes'))" title="Online Help"><image src="/adm/help/gif/smallHelp.gif" border="0" alt="(Help: NavMaps_MarkPostsLink)" /></a> |
$result .= (<<END); |
<form name="clearbubbles" method="post" action="/adm/feedback"> |
<form name="clearbubbles" method="post" action="/adm/feedback"> |
<input type="hidden" name="navurl" value="$ENV{'QUERY_STRING'}" /> |
<input type="hidden" name="navurl" value="$ENV{'QUERY_STRING'}" /> |
<input type="hidden" name="navmaps" value="$haveDisc" /> |
<input type="hidden" name="navmaps" value="$haveDisc" /> |
</form> |
</form> |
END |
END |
} else { |
|
$result .= '<br />'; |
|
} |
} |
} |
} |
|
|
if ($args->{'sort_html'}) { $result.=$args->{'sort_html'}; } |
if ($args->{'caller'} eq 'navmapsdisplay') { |
|
$result.=&show_linkitems($args->{'linkitems'}); |
|
if ($args->{'sort_html'}) { |
|
if ($ENV{'environment.remotenavmap'} ne 'on') { |
|
$result.='<td> </td><td> </td><td> </td>'. |
|
'<td align="right">'.$args->{'sort_html'}.'</td></tr>'; |
|
} else { |
|
$result.='</tr><tr><td align="left"><br />'. |
|
$args->{'sort_html'}.'</td></tr>'; |
|
} |
|
} |
|
$result .= '</table>'; |
|
} elsif ($args->{'sort_html'}) { |
|
$result.=$args->{'sort_html'}; |
|
} |
|
|
$result .= "<br />\n"; |
$result .= "<br />\n"; |
if ($r) { |
if ($r) { |
Line 1879 if (location.href.indexOf('#curloc')==-1
|
Line 1904 if (location.href.indexOf('#curloc')==-1
|
return $result; |
return $result; |
} |
} |
|
|
|
sub add_linkitem { |
|
my ($linkitems,$name,$cmd,$text)=@_; |
|
$$linkitems{$name}{'cmd'}=$cmd; |
|
$$linkitems{$name}{'text'}=&mt($text); |
|
} |
|
|
|
sub show_linkitems { |
|
my ($linkitems)=@_; |
|
my @linkorder = ("launchnav","closenav","firsthomework","everything", |
|
"uncompleted","changefolder","clearbubbles"); |
|
|
|
my $result .= (<<ENDBLOCK); |
|
<script type="text/javascript"> |
|
function changeNavDisplay () { |
|
var navchoice = document.linkitems.toplink[document.linkitems.toplink.selectedIndex].value; |
|
ENDBLOCK |
|
foreach my $link (@linkorder) { |
|
$result.= "if (navchoice == '$link') {". |
|
$linkitems->{$link}{'cmd'}."}\n"; |
|
} |
|
$result.='} |
|
</script> |
|
<table><tr><td align="left"> |
|
<form name="linkitems" method="post"> |
|
<nobr><select name="toplink">'."\n"; |
|
foreach my $link (@linkorder) { |
|
if (defined($linkitems->{$link})) { |
|
if ($linkitems->{$link}{'text'} ne '') { |
|
$result .= ' <option value="'.$link.'">'. |
|
$linkitems->{$link}{'text'}."</option>\n"; |
|
} |
|
} |
|
} |
|
$result .= '</select> <input type="button" name="chgnav" |
|
value="Go" onClick="javascript:changeNavDisplay()" /> |
|
</nobr></form></td>'."\n"; |
|
return $result; |
|
} |
|
|
1; |
1; |
|
|
package Apache::lonnavmaps::navmap; |
package Apache::lonnavmaps::navmap; |