X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ed944ca355b3446d4e6c3fc22f748f77b64d58db..e97c628d0f75459a88926c33e4b370aa98c6b680:/SL/Menu.pm diff --git a/SL/Menu.pm b/SL/Menu.pm index 9fcf15374..eac4e2fe6 100644 --- a/SL/Menu.pm +++ b/SL/Menu.pm @@ -39,11 +39,18 @@ use SL::Inifile; use strict; +my $instance; + sub new { $main::lxdebug->enter_sub(); my ($type, $menufile) = @_; + if ($instance) { + $::lxdebug->leave_sub; + return $instance; + } + my $self = {}; my $inifile = Inifile->new($menufile); @@ -55,58 +62,7 @@ sub new { $main::lxdebug->leave_sub(); - return $self; -} - -sub menuitem { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form, $item) = @_; - - my $module = $form->{script}; - my $action = "section_menu"; - my $target = ""; - - if ($self->{$item}{module}) { - $module = $self->{$item}{module}; - } - if ($self->{$item}{action}) { - $action = $self->{$item}{action}; - } - if ($self->{$item}{target}) { - $target = $self->{$item}{target}; - } - - my $level = $form->escape($item); - - my $str = qq|{$item}{href}) { - $str = qq|{$item}{href}|; - @vars = qw(module target href); - } - - map { delete $self->{$item}{$_} } @vars; - - # add other params - foreach my $key (keys %{ $self->{$item} }) { - $str .= "&" . $form->escape($key, 1) . "="; - my ($value, $conf) = split(/=/, $self->{$item}{$key}, 2); - $value = $myconfig->{$value} . "/$conf" if ($conf); - $str .= $form->escape($value, 1); - } - - if ($target) { - $str .= qq| target=$target|; - } - - $str .= ">"; - - $main::lxdebug->leave_sub(); - - return $str; + return $instance = $self; } sub menuitem_js {