Falscher EK-Preis in Stammdaten-Berichte-Waren
[kivitendo-erp.git] / bin / mozilla / menunew.pl
index b48abc8..a1f9a8f 100644 (file)
@@ -38,11 +38,15 @@ use URI;
 
 use SL::Menu;
 
+use strict;
+
 1;
 
 # end of main
 
 sub display {
+  my $form     = $main::form;
+
   $form->header();
 
 #   $form->{force_ul_width} = $ENV{HTTP_USER_AGENT} =~ m/MSIE\s+6\./;
@@ -52,13 +56,15 @@ sub display {
   $form->{menu_items}     = acc_menu();
   my $callback            = $form->unescape($form->{callback});
   $callback               = URI->new($callback)->rel($callback) if $callback;
-  $callback               = "login.pl?action=company_logo"      if $callback =~ /^(.\/)?$/;
+  $callback               = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
   $form->{callback}       = $callback;
 
   print $form->parse_html_template("menu/menunew");
 }
 
 sub clock_line {
+  my $form     = $main::form;
+
   my ($Sekunden, $Minuten,   $Stunden,   $Monatstag, $Monat,
       $Jahr,     $Wochentag, $Jahrestag, $Sommerzeit)
     = localtime(time);
@@ -81,13 +87,14 @@ sub clock_line {
 }
 
 sub acc_menu {
-  $locale = Locale->new($language, "menu");
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
 
   my $mainlevel =  $form->{level};
   $mainlevel    =~ s/\Q$mainlevel\E--//g;
   my $menu      = Menu->new('menu.ini');
 
-  $AUTOFLUSH    =  1;
+  $English::AUTOFLUSH    =  1;
 
   my $all_items = [];
   create_menu($menu, $all_items);
@@ -112,6 +119,9 @@ sub create_menu {
   my ($menu, $all_items, $parent, $depth) = @_;
   my $html;
 
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+
   die if ($depth * 1 > 5);
 
   my @menuorder  = $menu->access_control(\%myconfig, $parent);
@@ -122,15 +132,29 @@ sub create_menu {
     next if (($name eq "") || ($name =~ /--/));
 
     my $menu_item = $menu->{"${parent}${name}"};
-    my $item      = { 'title' => $locale->text($name) };
+    my $item      = { 'title' => $::locale->text($name) };
     push @{ $all_items }, $item;
 
     if ($menu_item->{submenu} || !defined($menu_item->{module}) || ($menu_item->{module} eq "menu.pl")) {
       $item->{subitems} = [];
+      $item->{image} = _icon_path("$name.png");
       create_menu($menu, $item->{subitems}, "${parent}${name}", $depth * 1 + 1);
 
     } else {
+      $item->{image} = _icon_path("${parent}${name}.png");
       $menu->menuitem_new("${parent}${name}", $item);
     }
   }
 }
+
+sub _icon_path {
+  my ($label, $size) = @_;
+
+  $size ||= 16;
+
+  my $img = "image/icons/${size}x${size}/$label";
+
+  return unless -f $img;
+  return $img;
+}
+