X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/829f6742c99fdf3b3ef78713c3ce1c1266f67d98..e97c628d0f75459a88926c33e4b370aa98c6b680:/SL/Menu.pm diff --git a/SL/Menu.pm b/SL/Menu.pm index ab35fed1a..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,47 +62,7 @@ sub new { $main::lxdebug->leave_sub(); - return $self; -} - -sub menuitem { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form, $item) = @_; - - my $module = $self->{$item}{module} || $form->{script}; - my $action = $self->{$item}{action} || "section_menu"; - my $target = $self->{$item}{target} || ""; - - my $level = $form->escape($item); - - my $style = 'style="vertical-align:top"'; - my $target_token = ($target) - ? "target='$target'" : ''; - - my $href = ($self->{$item}{href}) - ? $form->escape($self->{$item}{href}) - : "$module?action=$action&level=$level"; - - my @vars = ($self->{$item}{href}) - ? qw(module target href) - : qw(module action target href); - -# map { delete $self->{$item}{$_} } @vars; - - # add other params - foreach my $key (keys %{ $self->{$item} }) { - $href .= "&" . $form->escape($key, 1) . "="; - my ($value, $conf) = split(/=/, $self->{$item}{$key}, 2); - $value = $myconfig->{$value} . "/$conf" if ($conf); - $href .= $form->escape($value, 1); - } - - my $str = ""; - - $main::lxdebug->leave_sub(); - - return $str; + return $instance = $self; } sub menuitem_js {