summaryrefslogtreecommitdiff
path: root/bin/menu.pl
diff options
context:
space:
mode:
Diffstat (limited to 'bin/menu.pl')
-rwxr-xr-xbin/menu.pl373
1 files changed, 200 insertions, 173 deletions
diff --git a/bin/menu.pl b/bin/menu.pl
index c5d3a7f7..a64d1e44 100755
--- a/bin/menu.pl
+++ b/bin/menu.pl
@@ -1,9 +1,9 @@
#=====================================================================
-# LedgerSMB
+# LedgerSMB
# Small Medium Business Accounting software
# http://www.ledgersmb.org/
#
-#
+#
# See COPYRIGHT file for copyright information
#======================================================================
#
@@ -19,42 +19,48 @@ $menufile = "menu.ini";
use LedgerSMB::Menu;
1;
-# end of main
+# 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";
+ if ( $form->{lynx} ) {
- @menuorder = $menu->access_control(\%myconfig);
+ $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} = "LedgerSMB $form->{version}";
- $form->header(1);
+ @menuorder = $menu->access_control( \%myconfig );
- $offset = int (21 - $#menuorder)/2;
+ $form->{title} = "LedgerSMB $form->{version}";
+ $form->header(1);
- print "<pre>";
- print "\n" x $offset;
- print "</pre>";
- print qq|<center><table>|;
+ $offset = int( 21 - $#menuorder ) / 2;
- map { print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $_).$locale->text($_).qq|</a></td></tr>|; } @menuorder;
+ print "<pre>";
+ print "\n" x $offset;
+ print "</pre>";
+ print qq|<center><table>|;
- print qq'</table></body></html>';
+ map {
+ print "<tr><td>"
+ . $menu->menuitem( \%myconfig, \%$form, $_ )
+ . $locale->text($_)
+ . qq|</a></td></tr>|;
+ } @menuorder;
+ print qq'</table></body></html>';
- } else {
+ }
+ else {
- $menuwidth = ($ENV{HTTP_USER_AGENT} =~ /links/i) ? "240" : "155";
- $menuwidth = $myconfig{menuwidth} if $myconfig{menuwidth};
+ $menuwidth = ( $ENV{HTTP_USER_AGENT} =~ /links/i ) ? "240" : "155";
+ $menuwidth = $myconfig{menuwidth} if $myconfig{menuwidth};
- $form->header(!$form->{duplicate});
+ $form->header( !$form->{duplicate} );
- print qq|
+ print qq|
<frameset cols="$menuwidth,*" border="1">
<frame name="acc_menu" src="menu.pl?login=$form->{login}&amp;sessionid=$form->{sessionid}&amp;action=acc_menu&amp;path=$form->{path}&amp;js=$form->{js}" />
<frame name="main_window" src="locale/html/splash.html" />
@@ -62,27 +68,27 @@ sub display {
</html>
|;
- }
+ }
}
-
-
sub acc_menu {
- if($form->{lynx}){
+ if ( $form->{lynx} ) {
- &section_menu;
+ &section_menu;
- } else {
+ }
+ 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";
+ 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');
+ $form->{title} = $locale->text('Accounting Menu');
- my $headeradd = q|
+ my $headeradd = q|
<script type="text/javascript">
function SwitchMenu(obj) {
@@ -105,247 +111,268 @@ sub acc_menu {
document.onselectstart = new Function("return false");
</script>|;
- $form->header(undef, $headeradd);
- print q|
+ $form->header( undef, $headeradd );
+ print q|
<body class="menu">
<img class="cornderlogo" src="ledger-smb_small.png" width="100" height="50" border="1" alt="ledger-smb" />
|;
- if ($form->{js}) {
- &js_menu($menu);
- } else {
- &section_menu($menu);
- }
+ if ( $form->{js} ) {
+ &js_menu($menu);
+ }
+ else {
+ &section_menu($menu);
+ }
- print q|
+ print q|
</body>
</html>
|;
- }
+ }
}
-
sub section_menu {
- if($form->{lynx}){
+ if ( $form->{lynx} ) {
- $menu = new Menu "$menufile", $form->{level};
+ $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";
+ $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});
+ # build tiered menus
+ @menuorder = $menu->access_control( \%myconfig, $form->{level} );
- foreach $item (@menuorder) {
- $a = $item;
- $item =~ s/^$form->{level}--//;
- push @neworder, $a unless ($item =~ /--/);
- }
+ foreach $item (@menuorder) {
+ $a = $item;
+ $item =~ s/^$form->{level}--//;
+ push @neworder, $a unless ( $item =~ /--/ );
+ }
- @menuorder = @neworder;
+ @menuorder = @neworder;
- $level = $form->{level};
- $level =~ s/--/ /g;
+ $level = $form->{level};
+ $level =~ s/--/ /g;
- $form->{title} = $locale->text($level);
- $form->header;
+ $form->{title} = $locale->text($level);
+ $form->header;
- $offset = int (21 - $#menuorder)/2;
+ $offset = int( 21 - $#menuorder ) / 2;
- print "<pre>";
- print "\n" x $offset;
- print "</pre>";
- print qq|<center><table>|;
+ print "<pre>";
+ print "\n" x $offset;
+ print "</pre>";
+ print qq|<center><table>|;
- foreach $item (@menuorder) {
- $label = $item;
- $label =~ s/$form->{level}--//g;
+ foreach $item (@menuorder) {
+ $label = $item;
+ $label =~ s/$form->{level}--//g;
- # remove target
- $menu->{$item}{target} = "";
+ # remove target
+ $menu->{$item}{target} = "";
- print "<tr><td>".$menu->menuitem(\%myconfig, \%$form, $item, $form->{level}).$locale->text($label)."</a></td></tr>";
- }
+ print "<tr><td>"
+ . $menu->menuitem( \%myconfig, \%$form, $item, $form->{level} )
+ . $locale->text($label)
+ . "</a></td></tr>";
+ }
- print qq'</table></body></html>';
+ print qq'</table></body></html>';
- } else {
+ }
+ else {
- my ($menu, $level) = @_;
+ my ( $menu, $level ) = @_;
- # build tiered menus
- my @menuorder = $menu->access_control(\%myconfig, $level);
+ # build tiered menus
+ my @menuorder = $menu->access_control( \%myconfig, $level );
- while (@menuorder) {
- $item = shift @menuorder;
- $label = $item;
- $label =~ s/$level--//g;
+ while (@menuorder) {
+ $item = shift @menuorder;
+ $label = $item;
+ $label =~ s/$level--//g;
- my $spacer = "&nbsp;" x (($item =~ s/--/--/g) * 2);
+ my $spacer = "&nbsp;" x ( ( $item =~ s/--/--/g ) * 2 );
- $label =~ s/.*--//g;
- $label = $locale->text($label);
- $label =~ s/ /&nbsp;/g if $label !~ /<img /i;
+ $label =~ s/.*--//g;
+ $label = $locale->text($label);
+ $label =~ s/ /&nbsp;/g if $label !~ /<img /i;
- $menu->{$item}{target} = "main_window" unless $menu->{$item}{target};
+ $menu->{$item}{target} = "main_window"
+ unless $menu->{$item}{target};
- if ($menu->{$item}{submenu}) {
+ if ( $menu->{$item}{submenu} ) {
- $menu->{$item}{$item} = !$form->{$item};
+ $menu->{$item}{$item} = !$form->{$item};
- if ($form->{level} && $item =~ $form->{level}) {
+ if ( $form->{level} && $item =~ $form->{level} ) {
- # expand menu
- print qq|<br />\n$spacer|.$menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label</a>|;
+ # expand menu
+ print qq|<br />\n$spacer|
+ . $menu->menuitem( \%myconfig, \%$form, $item, $level )
+ . qq|$label</a>|;
- # remove same level items
- map { shift @menuorder } grep /^$item/, @menuorder;
+ # remove same level items
+ map { shift @menuorder } grep /^$item/, @menuorder;
- &section_menu($menu, $item);
+ &section_menu( $menu, $item );
- print qq|<br />\n|;
+ print qq|<br />\n|;
- } else {
+ }
+ else {
- print qq|<br />\n$spacer|.$menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label&nbsp;...</a>|;
+ print qq|<br />\n$spacer|
+ . $menu->menuitem( \%myconfig, \%$form, $item, $level )
+ . qq|$label&nbsp;...</a>|;
- # remove same level items
- map { shift @menuorder } grep /^$item/, @menuorder;
+ # remove same level items
+ map { shift @menuorder } grep /^$item/, @menuorder;
- }
+ }
- } else {
+ }
+ else {
- if ($menu->{$item}{module}) {
+ if ( $menu->{$item}{module} ) {
- print qq|<br />\n$spacer|.$menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label</a>|;
+ print qq|<br />\n$spacer|
+ . $menu->menuitem( \%myconfig, \%$form, $item, $level )
+ . qq|$label</a>|;
- } else {
+ }
+ else {
- $form->{tag}++;
- print qq|<a name="id$form->{tag}"></a><p><b>$label</b></p>|;
+ $form->{tag}++;
+ print qq|<a name="id$form->{tag}"></a><p><b>$label</b></p>|;
- &section_menu($menu, $item);
+ &section_menu( $menu, $item );
- print qq|<br />\n|;
+ print qq|<br />\n|;
- }
- }
- }
- }
+ }
+ }
+ }
+ }
}
-
sub js_menu {
- my ($menu, $level) = @_;
+ my ( $menu, $level ) = @_;
- print qq| <div id="div_$menu_$level"> |;
+ print qq| <div id="div_$menu_$level"> |;
- # build tiered menus
- my @menuorder = $menu->access_control(\%myconfig, $level);
+ # 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);
+ while (@menuorder) {
+ $i++;
+ $item = shift @menuorder;
+ $label = $item;
+ $label =~ s/.*--//g;
+ $label = $locale->text($label);
- $menu->{$item}{target} = "main_window" unless $menu->{$item}{target};
+ $menu->{$item}{target} = "main_window" unless $menu->{$item}{target};
- if ($menu->{$item}{submenu}) {
+ if ( $menu->{$item}{submenu} ) {
- $display = "display: none;" unless $level eq ' ';
+ $display = "display: none;" unless $level eq ' ';
- print qq|
+ print qq|
<div id="menu$i" class="menuOut" onclick="SwitchMenu('sub$i')" onmouseover="ChangeClass('menu$i','menuOver')" onmouseout="ChangeClass('menu$i','menuOut')">$label</div>
<div class="submenu" id="sub$i" style="$display">|;
- # remove same level items
- map { shift @menuorder } grep /^$item/, @menuorder;
+ # remove same level items
+ map { shift @menuorder } grep /^$item/, @menuorder;
- &js_menu($menu, $item);
+ &js_menu( $menu, $item );
- print qq|
+ print qq|
</div>
|;
- } else {
+ }
+ else {
- if ($menu->{$item}{module}) {
+ if ( $menu->{$item}{module} ) {
- if ($level eq "") {
- print qq|<div id="menu$i" class="menuOut" onmouseover="ChangeClass('menu$i','menuOver')" onmouseout="ChangeClass('menu$i','menuOut')"> |.
- $menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label</a></div>|;
+ if ( $level eq "" ) {
+ print
+qq|<div id="menu$i" class="menuOut" onmouseover="ChangeClass('menu$i','menuOver')" onmouseout="ChangeClass('menu$i','menuOut')"> |
+ . $menu->menuitem( \%myconfig, \%$form, $item, $level )
+ . qq|$label</a></div>|;
- # remove same level items
- map { shift @menuorder } grep /^$item/, @menuorder;
+ # remove same level items
+ map { shift @menuorder } grep /^$item/, @menuorder;
- &js_menu($menu, $item);
+ &js_menu( $menu, $item );
- } else {
+ }
+ else {
- print qq|<div class="submenu"> |.
- $menu->menuitem(\%myconfig, \%$form, $item, $level).qq|$label</a></div>|;
- }
+ print qq|<div class="submenu"> |
+ . $menu->menuitem( \%myconfig, \%$form, $item, $level )
+ . qq|$label</a></div>|;
+ }
- } else {
+ }
+ else {
- $display = "display: none;" unless $item eq ' ';
+ $display = "display: none;" unless $item eq ' ';
- print qq|
+ print qq|
<div id="menu$i" class="menuOut" onclick="SwitchMenu('sub$i')" onmouseover="ChangeClass('menu$i','menuOver')" onmouseout="ChangeClass('menu$i','menuOut')">$label</div>
<div class="submenu" id="sub$i" style="$display">|;
- &js_menu($menu, $item);
+ &js_menu( $menu, $item );
- print qq| </div> |;
+ print qq| </div> |;
- }
+ }
- }
+ }
- }
+ }
- print qq| </div> |;
+ print qq| </div> |;
}
-
sub menubar {
- if($form->{lynx}){
+ if ( $form->{lynx} ) {
- $menu = new Menu "$menufile", "";
+ $menu = new Menu "$menufile", "";
- # build menubar
- @menuorder = $menu->access_control(\%myconfig, "");
+ # build menubar
+ @menuorder = $menu->access_control( \%myconfig, "" );
- @neworder = ();
- map { push @neworder, $_ unless ($_ =~ /--/) } @menuorder;
- @menuorder = @neworder;
+ @neworder = ();
+ map { push @neworder, $_ unless ( $_ =~ /--/ ) } @menuorder;
+ @menuorder = @neworder;
- print "<p>";
- $form->{script} = "menu.pl";
+ print "<p>";
+ $form->{script} = "menu.pl";
- print "| ";
+ print "| ";
- foreach $item (@menuorder) {
- $label = $item;
+ foreach $item (@menuorder) {
+ $label = $item;
- # remove target
- $menu->{$item}{target} = "";
+ # remove target
+ $menu->{$item}{target} = "";
- print $menu->menuitem(\%myconfig, \%$form, $item, "").$locale->text($label)."</a> | ";
- }
+ print $menu->menuitem( \%myconfig, \%$form, $item, "" )
+ . $locale->text($label)
+ . "</a> | ";
+ }
- } else {
+ }
+ else {
- 1;
- }
+ 1;
+ }
}
-