X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ed944ca355b3446d4e6c3fc22f748f77b64d58db..f1b0785501f46f6204ae46cdc9b9ef257b5a216b:/SL/Menu.pm diff --git a/SL/Menu.pm b/SL/Menu.pm index 9fcf15374..debceae88 100644 --- a/SL/Menu.pm +++ b/SL/Menu.pm @@ -58,51 +58,43 @@ sub new { return $self; } +sub menuitems { + my ($self) = @_; + + map { + SL::MenuItem->new( + name => $_, + menu => $self, + item => $self->{$_} + ); + } $self->access_control; +} + 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); - } + 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 $target_token = ($target) ? "target='$target'" : ''; - map { delete $self->{$item}{$_} } @vars; + my $href = ($self->{$item}{href}) + ? $form->escape($self->{$item}{href}) + : "$module?action=$action"; # add other params foreach my $key (keys %{ $self->{$item} }) { - $str .= "&" . $form->escape($key, 1) . "="; + next if $key =~ /target|module|action/; + $href .= "&" . $form->escape($key, 1) . "="; my ($value, $conf) = split(/=/, $self->{$item}{$key}, 2); $value = $myconfig->{$value} . "/$conf" if ($conf); - $str .= $form->escape($value, 1); + $href .= $form->escape($value, 1); } - if ($target) { - $str .= qq| target=$target|; - } - - $str .= ">"; + my $str = ""; $main::lxdebug->leave_sub();