summaryrefslogtreecommitdiff
path: root/httemplate/elements/menubar.html
blob: ffe83ec571a404f6e1c469af9f4fe12525da4833 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<%doc>

Example:

  include( '/elements/menubar.html',
           
           #options hashref (optional)
           { 'newstyle' => 1,  #may become the default at some point
             'url_base' => '', #prepended to menubar URLs, for convenience
             'selected' => '', #currently selected label
           },

           #menubar entries (required)
           'label'  => $url,
           'label2' => $url2,
           #etc.

         );

</%doc>
%if ( $opt->{'newstyle'} ) {

   <DIV CLASS="fstabs">
   <% join('', @html ) %>
   </DIV>

%} else {

   <% join(' | ', @html) %>

%}
<%init>

my $opt = ref($_[0]) ? shift : {};

my $url_base = $opt->{'url_base'};

my @html;
while (@_) {

  my ($item, $url) = splice(@_,0,2);
  next if $item =~ /^\s*Main\s+Menu\s*$/i;

  my $style = '';
  if ( $opt->{'newstyle'} ) {

    my $dclass = $item eq $opt->{'selected'}
                   ? 'fstabselected'
                   : 'fstab';

    $style = qq( CLASS="$dclass" );

  }

  if ($item eq 'popup') {
   push @html, $url;
  }
  else {
    push @html, qq!<A HREF="$url_base$url" $style>$item</A>!;
  }

}

</%init>