#===================================================================== # 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::Menu; 1; # end of main sub display { if($form->{lynx}){ $menu = new Menu "$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 Menu "$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 Menu "$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 Menu "$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; } }