--- loncom/interface/lonmenu.pm 2010/03/11 16:35:12 1.317
+++ loncom/interface/lonmenu.pm 2010/03/29 00:53:52 1.323
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.317 2010/03/11 16:35:12 droeschl Exp $
+# $Id: lonmenu.pm,v 1.323 2010/03/29 00:53:52 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -109,20 +109,9 @@ Same as primary_menu() but operates on @
=item show_return_link()
-=item registerurl()
-
-This gets called in the header section
-
=item innerregister()
-This gets called in order to register a URL, both with the Remote
-and in the body of the document
-
-=item loadevents()
-
-=item unloadevents()
-
-=item get_menu_name()
+This gets called in order to register a URL in the body of the document
=item clear()
@@ -200,6 +189,11 @@ sub primary_menu {
my $menu;
# each element of @primary contains following array:
# (link url, icon path, alt text, link text, condition)
+ my $public;
+ if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))
+ || (($env{'user.name'} eq '') && ($env{'user.domain'} eq ''))) {
+ $public = 1;
+ }
foreach my $menuitem (@primary_menu) {
# evaluate conditions
next if ref($menuitem) ne 'ARRAY'; #
@@ -207,12 +201,12 @@ sub primary_menu {
&& &Apache::lonmsg::mynewmail(); # whether a new msg
next if $$menuitem[4] eq 'newmsg' # arrived or not
&& !&Apache::lonmsg::mynewmail(); #
- next if $$menuitem[4] !~ /public/ ##we've a public user,
- && $env{'user.name'} eq 'public' ##who should not see all
- && $env{'user.domain'} eq 'public'; ##links
+ next if $$menuitem[4] !~ /public/ ##we've a public user,
+ && $public; ##who should not see all
+ ##links
next if $$menuitem[4] eq 'onlypublic'# hide links which are
- && $env{'user.name'} ne 'public' # only visible to public
- && $env{'user.domain'} ne 'public'; # users
+ && !$public; # only visible to public
+ # users
next if $$menuitem[4] eq 'roles' ##show links depending on
&& &Apache::loncommon::show_course(); ##term 'Courses' or
next if $$menuitem[4] eq 'courses' ##'Roles' wanted
@@ -259,13 +253,9 @@ sub secondary_menu {
&& $crstype eq 'Community';
next if $$menuitem[4] eq 'mdcCommunity'
&& $crstype ne 'Community';
- next if $$menuitem[4] =~ /^remotenav/
- && $env{'environment.remotenavmap'} ne 'on';
- next if $$menuitem[4] =~ /noremotenav/
- && $env{'environment.remotenavmap'} eq 'on';
- next if $$menuitem[4] =~ /^(no|)remotenav$/
+ next if $$menuitem[4] =~ /^Course$/
&& $crstype eq 'Community';
- next if $$menuitem[4] =~ /^(no|)remotenavCommunity$/
+ next if $$menuitem[4] =~ /^Community$/
&& $crstype ne 'Community';
next if $$menuitem[4] =~ /showgroups$/
&& !$canviewgrps
@@ -279,15 +269,6 @@ sub secondary_menu {
$menu .= $roles_selector ? "
$roles_selector"
: '';
- } elsif ($env{'environment.remotenavmap'} eq 'on') {
- # open link using javascript when remote navmap is activated
- my @items = @{$menuitem};
- if ($menuitem->[4] eq 'remotenav') {
- $items[0] = "javascript:gonav('$menuitem->[0]');";
- } else {
- $items[0] = "javascript:go('$menuitem->[0]');";
- }
- $menu .= &prep_menuitem(\@items);
} else {
$menu .= &prep_menuitem(\@$menuitem);
}
@@ -316,6 +297,11 @@ sub secondary_menu {
}
sub show_return_link {
+ if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)})
+ || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) {
+
+ return if ($env{'form.register'});
+ }
return (($env{'request.noversionuri'}=~m{^/(res|public)/} &&
$env{'request.symb'} eq '')
||
@@ -324,32 +310,12 @@ sub show_return_link {
(($env{'request.noversionuri'}=~/^\/adm\//) &&
($env{'request.noversionuri'}!~/^\/adm\/wrapper\//) &&
($env{'request.noversionuri'}!~
- m[^/adm/.*/(smppg|bulletinboard|aboutme)($|\?)])
- ));
-}
-
-
-sub registerurl {
- my ($forcereg) = @_;
- my $result = '';
- if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { return ''; }
- my $force_title='';
- if ($env{'request.state'} eq 'construct') {
- $force_title=&Apache::lonxml::display_title();
- }
- return
- $result
- .''
- .$force_title;
+ m{^/adm/.*/(smppg|bulletinboard)($|\?)})
+ ));
}
sub innerregister {
- my ($forcereg,$titletable,$bread_crumbs) = @_;
- my ($uname,$thisdisfn);
+ my ($forcereg,$bread_crumbs) = @_;
my $const_space = ($env{'request.state'} eq 'construct');
my $is_const_dir = 0;
@@ -366,14 +332,13 @@ sub innerregister {
my $maptitle = &Apache::lonnet::gettitle($mapurl);
my $restitle = &Apache::lonnet::gettitle(&Apache::lonnet::symbread());
- my $contentstext;
- if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Community') {
- $contentstext = &mt('Community Contents');
- } else {
- $contentstext = &mt('Course Contents');
- }
- my @crumbs = ({text => $contentstext,
- href => "Javascript:gonav('/adm/navmaps')"});
+
+#SD
+#course_type only Course and Community?
+#
+ my @crumbs = ({text => Apache::loncommon::course_type()
+ . ' Contents',
+ href => "Javascript:gopost('/adm/navmaps','')"});
if ($mapurl ne $env{'course.'.$env{'request.course.id'}.'.url'}) {
push(@crumbs, {text => '...',
@@ -598,7 +563,7 @@ if(length($annotation) > 0){
$menuitems.="&anno-[_1]&tations[_1]&annotate()&";
$menuitems.="Make notes and annotations about this resource&&1\n";
- unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme)(\?|$)/) {
+ unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) {
if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/})) {
$menuitems.=(<'.$pic.'';
- } else {
$inlineremote[$idx]=
'';
- }
}
return '';
}
@@ -1045,25 +987,6 @@ sub check_for_rcrs {
return $showreqcrs;
}
-# ====================================================================== Footer
-
-sub nav_control_js {
- my $nav=($env{'environment.remotenavmap'} eq 'on');
- return (< '(More ...)',
@@ -1098,7 +1021,6 @@ sub utilityfunctions {
$currenturl=&Apache::lonenc::check_encrypt(&unescape($currenturl));
my $currentsymb=&Apache::lonenc::check_encrypt($env{'request.symb'});
- my $nav_control=&nav_control_js();
my $dc_popup_cid;
if ($env{'user.adv'} && exists($env{'user.role.dc./'.
@@ -1133,7 +1055,6 @@ return (<