#===================================================================== # LedgerSMB # Small Medium Business Accounting software # http://www.ledgersmb.org/ # # # See COPYRIGHT file for copyright information #====================================================================== # # This file has undergone whitespace cleanup. # #====================================================================== # # two frame layout with refractured menu # ####################################################################### $menufile = "menu.ini"; use LedgerSMB::Menufile; 1; # end of main sub display { if ( $form->{lynx} ) { $menu = new LedgerSMB::Menufile "$menufile"; $menu->add_file("custom_$menufile") if -f "custom_$menufile"; $menu->add_file("$form->{login}_$menufile") if -f "$form->{login}_$menufile"; @menuorder = $menu->access_control( \%myconfig ); $form->{title} = "LedgerSMB $form->{version}"; $form->header(1); $offset = int( 21 - $#menuorder ) / 2; print "
";
        print "\n" x $offset;
        print "
"; print qq|
|; map { print "|; } @menuorder; print qq'
" . $menu->menuitem( \%myconfig, \%$form, $_ ) . $locale->text($_) . qq|
'; } else { $menuwidth = ( $ENV{HTTP_USER_AGENT} =~ /links/i ) ? "240" : "155"; $menuwidth = $myconfig{menuwidth} if $myconfig{menuwidth}; $form->header( !$form->{duplicate} ); print qq| |; } } sub acc_menu { if ( $form->{lynx} ) { §ion_menu; } else { my $menu = new LedgerSMB::Menufile "$menufile"; $menu->add_file("custom_$menufile") if -f "custom_$menufile"; $menu->add_file("$form->{login}_$menufile") if -f "$form->{login}_$menufile"; $form->{title} = $locale->text('Accounting Menu'); my $headeradd = q| |; $form->header( undef, $headeradd ); print q| |; if ( $form->{js} ) { &js_menu($menu); } else { §ion_menu($menu); } print q| |; } } sub section_menu { if ( $form->{lynx} ) { $menu = new LedgerSMB::Menufile "$menufile", $form->{level}; $menu->add_file("custom_$menufile") if -f "custom_$menufile"; $menu->add_file("$form->{login}_$menufile") if -f "$form->{login}_$menufile"; # build tiered menus @menuorder = $menu->access_control( \%myconfig, $form->{level} ); foreach $item (@menuorder) { $a = $item; $item =~ s/^$form->{level}--//; push @neworder, $a unless ( $item =~ /--/ ); } @menuorder = @neworder; $level = $form->{level}; $level =~ s/--/ /g; $form->{title} = $locale->text($level); $form->header; $offset = int( 21 - $#menuorder ) / 2; print "
";
        print "\n" x $offset;
        print "
"; print qq|
|; foreach $item (@menuorder) { $label = $item; $label =~ s/$form->{level}--//g; # remove target $menu->{$item}{target} = ""; print ""; } print qq'
" . $menu->menuitem( \%myconfig, \%$form, $item, $form->{level} ) . $locale->text($label) . "
'; } else { my ( $menu, $level ) = @_; # build tiered menus my @menuorder = $menu->access_control( \%myconfig, $level ); while (@menuorder) { $item = shift @menuorder; $label = $item; $label =~ s/$level--//g; my $spacer = " " x ( ( $item =~ s/--/--/g ) * 2 ); $label =~ s/.*--//g; $label = $locale->text($label); $label =~ s/ / /g if $label !~ /{$item}{target} = "main_window" unless $menu->{$item}{target}; if ( $menu->{$item}{submenu} ) { $menu->{$item}{$item} = !$form->{$item}; if ( $form->{level} && $item =~ $form->{level} ) { # expand menu print qq|
\n$spacer| . $menu->menuitem( \%myconfig, \%$form, $item, $level ) . qq|$label|; # remove same level items map { shift @menuorder } grep /^$item/, @menuorder; §ion_menu( $menu, $item ); print qq|
\n|; } else { print qq|
\n$spacer| . $menu->menuitem( \%myconfig, \%$form, $item, $level ) . qq|$label ...|; # remove same level items map { shift @menuorder } grep /^$item/, @menuorder; } } else { if ( $menu->{$item}{module} ) { print qq|
\n$spacer| . $menu->menuitem( \%myconfig, \%$form, $item, $level ) . qq|$label|; } else { $form->{tag}++; print qq|

$label

|; §ion_menu( $menu, $item ); print qq|
\n|; } } } } } sub js_menu { my ( $menu, $level ) = @_; print qq|
|; # build tiered menus my @menuorder = $menu->access_control( \%myconfig, $level ); while (@menuorder) { $i++; $item = shift @menuorder; $label = $item; $label =~ s/.*--//g; $label = $locale->text($label); $menu->{$item}{target} = "main_window" unless $menu->{$item}{target}; if ( $menu->{$item}{submenu} ) { $display = "display: none;" unless $level eq ' '; print qq| |; } else { if ( $menu->{$item}{module} ) { if ( $level eq "" ) { print qq||; # remove same level items map { shift @menuorder } grep /^$item/, @menuorder; &js_menu( $menu, $item ); } else { print qq||; } } else { $display = "display: none;" unless $item eq ' '; print qq| |; } } } print qq|
|; } sub menubar { if ( $form->{lynx} ) { $menu = new LedgerSMB::Menufile "$menufile", ""; # build menubar @menuorder = $menu->access_control( \%myconfig, "" ); @neworder = (); map { push @neworder, $_ unless ( $_ =~ /--/ ) } @menuorder; @menuorder = @neworder; print "

"; $form->{script} = "menu.pl"; print "| "; foreach $item (@menuorder) { $label = $item; # remove target $menu->{$item}{target} = ""; print $menu->menuitem( \%myconfig, \%$form, $item, "" ) . $locale->text($label) . " | "; } } else { 1; } }