Nicht abgfangene Typenkonvertierung in ca.pl
[kivitendo-erp.git] / bin / mozilla / menuv4.pl
index 0980ff6..3b736bf 100644 (file)
 #
 #######################################################################
 
-$menufile = "menu.ini";
 use SL::Menu;
+use URI;
+
+use strict;
+
+my $menufile = "menu.ini";
+my $locale;
 
 1;
 
 # end of main
 
 sub display {
+  my $form     = $main::form;
+
   $form->header(qq|<link rel="stylesheet" href="css/menuv4.css?id=" type="text/css">|);
 
   $form->{date}     = clock_line();
   $form->{menu}     = acc_menu();
-  $form->{callback} = $form->unescape($form->{callback}) || "login.pl?action=company_logo";
+  my $callback      = $form->unescape($form->{callback});
+  $callback         = URI->new($callback)->rel($callback) if $callback;
+  $callback         = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
+  $form->{callback} = $callback;
 
   print $form->parse_html_template("menu/menuv4");
 
 }
 
 sub clock_line {
+  my $form     = $main::form;
+
   my ($Sekunden, $Minuten,   $Stunden,   $Monatstag, $Monat,
       $Jahr,     $Wochentag, $Jahrestag, $Sommerzeit)
     = localtime(time);
@@ -73,9 +85,12 @@ sub clock_line {
 }
 
 sub acc_menu {
-  $locale = Locale->new($language, "menu");
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
 
-  $mainlevel = $form->{level};
+  $locale = Locale->new($myconfig{countrycode}, "menu");
+
+  my $mainlevel = $form->{level};
   $mainlevel =~ s/\Q$mainlevel\E--//g;
   my $menu = new Menu "$menufile";
 
@@ -86,6 +101,10 @@ sub acc_menu {
 
 sub print_menu {
   my ($menu, $parent, $depth) = @_;
+
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+
   my $html;
 
   die if ($depth * 1 > 5);