version 1.369.2.5, 2012/05/23 00:29:22
|
version 1.369.2.7, 2012/05/25 03:23:36
|
Line 115 entries from mydesk.tab
|
Line 115 entries from mydesk.tab
|
|
|
Same as primary_menu() but operates on @secondary_menu. |
Same as primary_menu() but operates on @secondary_menu. |
|
|
|
=item create_submenu() |
|
|
|
Creates XHTML for unordered list of sub-menu items which belong to a |
|
particular top-level menu item. Uses hover pseudo class in css to display |
|
dropdown list when mouse hovers over top-level item. Support for IE6 |
|
(no hover psuedo class) via LC_hoverable class for <li> tag for top- |
|
level item, which employs jQuery to handle behavior on mouseover. |
|
|
|
Inputs: 4 - (a) link and (b) target for anchor href in top level item, |
|
(c) title for text wrapped by anchor tag in top level item. |
|
(d) reference to array of arrays of sub-menu items. |
|
|
=item innerregister() |
=item innerregister() |
|
|
This gets called in order to register a URL in the body of the document |
This gets called in order to register a URL in the body of the document |
Line 137 The javascript is usually similar to "go
|
Line 149 The javascript is usually similar to "go
|
|
|
=item utilityfunctions() |
=item utilityfunctions() |
|
|
|
Output from this routine is a number of javascript functions called by |
|
items in the inline menu, and in some cases items in the Main Menu page. |
|
|
=item serverform() |
=item serverform() |
|
|
=item constspaceform() |
=item constspaceform() |
Line 221 sub primary_menu {
|
Line 236 sub primary_menu {
|
|
|
my $title = $menuitem->[3]; |
my $title = $menuitem->[3]; |
if (defined($primary_submenu{$title})) { |
if (defined($primary_submenu{$title})) { |
my ($link,$target,$numsub); |
my ($link,$target); |
if ($menuitem->[0] ne '') { |
if ($menuitem->[0] ne '') { |
$link = $menuitem->[0]; |
$link = $menuitem->[0]; |
$target = '_top'; |
$target = '_top'; |
} else { |
} else { |
$link = '#'; |
$link = '#'; |
} |
} |
|
my @primsub; |
if (ref($primary_submenu{$title}) eq 'ARRAY') { |
if (ref($primary_submenu{$title}) eq 'ARRAY') { |
$numsub = @{$primary_submenu{$title}}; |
foreach my $item (@{$primary_submenu{$title}}) { |
if ($numsub) { |
next if (($item->[2] eq 'wishlist') && |
$title = |
((!&Apache::lonnet::allowed('bre',"/res/$env{'user.domain'}/")) && |
'<span class="LC_nobreak">'.$title. |
(!&Apache::lonnet::allowed('bro',"/res/$env{'user.domain'}/")))); |
'<span class="LC_fontsize_small">'. |
next if (($item->[2] eq 'reqcrs') && (!&check_for_rcrs())); |
' ▼</span></span>'; |
next if ((($item->[2] eq 'portfolio') || |
|
($item->[2] eq 'blog')) && |
|
(!&Apache::lonnet::usertools_access('','',$item->[2], |
|
undef,'tools'))); |
|
push(@primsub,$item); |
} |
} |
} |
if (@primsub > 0) { |
$menu .= '<li class="LC_hoverable">'. |
$menu .= &create_submenu($link,$target,$title,\@primsub); |
'<a href="'.$link.'" target="'.$target.'">'.$title.'</a>'; |
} elsif ($link) { |
if ($numsub) { |
$menu .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>'; |
$menu .= '<ul>'; |
|
foreach my $item (@{$primary_submenu{$menuitem->[3]}}) { |
|
if (ref($item) eq 'ARRAY') { |
|
if ($item->[2] eq 'wishlist') { |
|
next unless ((&Apache::lonnet::allowed('bre',"/res/$env{'user.domain'}/")) || |
|
(&Apache::lonnet::allowed('bro',"/res/$env{'user.domain'}/"))); |
|
} elsif ($item->[2] eq 'reqcrs') { |
|
next unless(&check_for_rcrs()); |
|
} elsif (($item->[2] eq 'portfolio') || |
|
($item->[2] eq 'blog')) { |
|
if (!&Apache::lonnet::usertools_access( |
|
$env{'user.name'}, |
|
$env{'user.domain'}, |
|
$item->[2],undef,'tools')) { |
|
next; |
|
} |
|
} |
|
$menu .= '<li style="margin:0;padding:0">'. |
|
'<a href="'.$item->[0]. |
|
'" style="padding:0 0 0 10px">'. |
|
$item->[1].'</a></li>'; |
|
} |
|
} |
} |
$menu .= '</ul>'; |
|
} |
} |
$menu .= '</li>'; |
|
} elsif ($$menuitem[3] eq 'Help') { # special treatment for helplink |
} elsif ($$menuitem[3] eq 'Help') { # special treatment for helplink |
if ($public) { |
if ($public) { |
my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'}; |
my $origmail = $Apache::lonnet::perlvar{'lonSupportEMail'}; |
Line 371 sub secondary_menu {
|
Line 367 sub secondary_menu {
|
|
|
my $title = $menuitem->[3]; |
my $title = $menuitem->[3]; |
if (defined($secondary_submenu{$title})) { |
if (defined($secondary_submenu{$title})) { |
my ($link,$target,$numsub); |
my ($link,$target); |
if ($menuitem->[0] ne '') { |
if ($menuitem->[0] ne '') { |
$link = $menuitem->[0]; |
$link = $menuitem->[0]; |
$target = '_top'; |
$target = '_top'; |
} else { |
} else { |
$link = '#'; |
$link = '#'; |
} |
} |
|
|
my @scndsub; |
my @scndsub; |
if (ref($secondary_submenu{$title}) eq 'ARRAY') { |
if (ref($secondary_submenu{$title}) eq 'ARRAY') { |
$numsub = 0; |
|
foreach my $item (@{$secondary_submenu{$title}}) { |
foreach my $item (@{$secondary_submenu{$title}}) { |
if (ref($item) eq 'ARRAY') { |
if (ref($item) eq 'ARRAY') { |
next if ($item->[2] eq 'vgr' && !$canvgr); |
next if ($item->[2] eq 'vgr' && !$canvgr); |
Line 390 sub secondary_menu {
|
Line 384 sub secondary_menu {
|
next if ($item->[2] eq 'mgr' && !$canmgr); |
next if ($item->[2] eq 'mgr' && !$canmgr); |
next if ($item->[2] eq 'vcg' && !$canviewgrps); |
next if ($item->[2] eq 'vcg' && !$canviewgrps); |
push(@scndsub,$item); |
push(@scndsub,$item); |
$numsub ++; |
|
} |
} |
} |
} |
if ($numsub) { |
if (@scndsub > 0) { |
$title = |
$menu .= &create_submenu($link,$target,$title,\@scndsub); |
'<span class="LC_nobreak">'.$title. |
} elsif ($link) { |
'<span class="LC_fontsize_small" style="font-weight:normal">'. |
$menu .= '<li><a href="'.$link.'" target="'.$target.'">'.&mt($title).'</a></li>'; |
' ▼</span></span>'; |
|
} |
|
} |
|
$menu .= '<li class="LC_hoverable">'. |
|
'<a href="'.$link.'" target="'.$target.'">'.$title.'</a>'; |
|
if ($numsub) { |
|
$menu .= '<ul>'; |
|
my $count = 0; |
|
foreach my $item (@scndsub) { |
|
$count ++; |
|
if (ref($item) eq 'ARRAY') { |
|
my $borderbot; |
|
my ($padtop,$padbot) = (0,0); |
|
if ($count == 1) { |
|
$padtop = '5px'; |
|
} |
|
if ($count == $numsub) { |
|
$padbot = '5px'; |
|
$borderbot = 'border-bottom:1px solid black;'; |
|
} |
|
$menu .= '<li style="margin:0;padding-left:0;padding-right:0;'. |
|
'padding-top:'.$padtop.';padding-bottom:'.$padbot.';'. |
|
$borderbot.'"><a href="'.$item->[0]. |
|
'" style="padding: 0 5px 0 10px">'. |
|
$item->[1].'</a></li>'; |
|
} |
|
} |
} |
$menu .= '</ul>'; |
|
} |
} |
$menu .= '</li>'; |
|
} elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) { |
} elsif ($$menuitem[3] eq 'Roles' && $env{'request.course.id'}) { |
# special treatment for role selector |
# special treatment for role selector |
my $roles_selector = &roles_selector( |
my $roles_selector = &roles_selector( |
Line 463 sub secondary_menu {
|
Line 428 sub secondary_menu {
|
return "<ul id=\"LC_secondary_menu\">$menu</ul>"; |
return "<ul id=\"LC_secondary_menu\">$menu</ul>"; |
} |
} |
|
|
|
sub create_submenu { |
|
my ($link,$target,$title,$submenu) = @_; |
|
return unless (ref($submenu) eq 'ARRAY'); |
|
my $menu = '<li class="LC_hoverable">'. |
|
'<a href="'.$link.'" target="'.$target.'">'. |
|
'<span class="LC_nobreak">'.&mt($title). |
|
'<span class="LC_fontsize_small" style="font-weight:normal;">'. |
|
' ▼</span></span></a>'. |
|
'<ul>'; |
|
my $count = 0; |
|
my $numsub = scalar(@{$submenu}); |
|
foreach my $item (@{$submenu}) { |
|
$count ++; |
|
if (ref($item) eq 'ARRAY') { |
|
my $borderbot; |
|
if ($count == $numsub) { |
|
$borderbot = 'border-bottom:1px solid black;'; |
|
} |
|
$menu .= '<li style="margin:0;padding:0;'. |
|
$borderbot.'"><a href="'.$item->[0].'">'. |
|
'" style="padding:0;">'. |
|
&mt($item->[1]).'</a></li>'; |
|
} |
|
} |
|
$menu .= '</ul></li>'; |
|
return $menu; |
|
} |
|
|
sub innerregister { |
sub innerregister { |
my ($forcereg,$bread_crumbs) = @_; |
my ($forcereg,$bread_crumbs) = @_; |
my $const_space = ($env{'request.state'} eq 'construct'); |
my $const_space = ($env{'request.state'} eq 'construct'); |