Ermöglichen, keinen Drucker als Standarddrucker auszuwählen
[kivitendo-erp.git] / bin / mozilla / menuXML.pl
index 449a92b..1eed4ed 100644 (file)
 #  2007-10-14 - XMLified  - Holger Will  <holger@treebuilder.de>
 #######################################################################
 
-$menufile = "menu.ini";
+use utf8;
+
 use SL::Menu;
 
 use CGI::Carp qw(fatalsToBrowser);
 use Encode;
+use URI;
+
+use strict;
+
 1;
 
 # end of main
 
 sub display {
-  $locale     = Locale->new($language, "menu");
-  my $charset = $dbcharset || 'ISO-8859-1';
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+
+  my $charset = $::lx_office_conf{system}->{dbcharset} || 'ISO-8859-1';
+  my $callback            = $form->unescape($form->{callback});
+  $callback               = URI->new($callback)->rel($callback) if $callback;
+  $callback               = "login.pl?action=company_logo"      if $callback =~ /^(\.\/)?$/;
 
   my $text    = $form->create_http_response('content_type' => 'text/xml',
                                             'charset'      => $charset)
     . qq|<?xml version="1.0" encoding="${charset}"?>
 <?xml-stylesheet href="xslt/xulmenu.xsl" type="text/xsl"?>
 <!DOCTYPE doc [
-<!ENTITY szlig "| . $locale->{iconv_iso8859}->convert('ß') . qq|">
-<!ENTITY auml "| . $locale->{iconv_iso8859}->convert('ä') . qq|">
-<!ENTITY ouml "| . $locale->{iconv_iso8859}->convert('ö') . qq|">
-<!ENTITY uuml "| . $locale->{iconv_iso8859}->convert('ü') . qq|">
+<!ENTITY szlig "| . $::locale->{iconv_utf8}->convert('ß') . qq|">
+<!ENTITY auml "|  . $::locale->{iconv_utf8}->convert('ä') . qq|">
+<!ENTITY ouml "|  . $::locale->{iconv_utf8}->convert('ö') . qq|">
+<!ENTITY uuml "|  . $::locale->{iconv_utf8}->convert('ü') . qq|">
 ]>
 
 <doc>
 <name>$myconfig{name}</name>
-
+<version>$form->{version}</version>
+<callback>$callback</callback>
 <db>$myconfig{dbname}</db>
 
 <favorites>|;
@@ -84,9 +95,11 @@ sub display {
 
 
 sub acc_menu {
-  $mainlevel = $form->{level};
+  my $form     = $main::form;
+
+  my $mainlevel = $form->{level};
   $mainlevel =~ s/$mainlevel--//g;
-  my $menu = new Menu "$menufile";
+  my $menu = Menu->new("menu.ini");
 
   $| = 1;
 
@@ -97,6 +110,9 @@ sub print_menu {
   my ($menu, $parent, $depth) = @_;
   my $html;
 
+  my $form     = $main::form;
+  my %myconfig = %main::myconfig;
+
   die if ($depth * 1 > 5);
 
   my @menuorder;
@@ -111,7 +127,7 @@ sub print_menu {
     next if (($item eq "") || ($item =~ /--/));
 
     my $menu_item = $menu->{"${parent}${item}"};
-    my $menu_title = $locale->text($item);
+    my $menu_title = $::locale->text($item);
     my $menu_text = $menu_title;
 
     my $target = "main_window";