X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2FmenuXML.pl;h=1eed4edeb9e716a3e16b44042445aec0da26139f;hb=d4a434e1deba2695ef4d4a3fc0d51ac1b2044fb0;hp=84fabbb05182dc83ca5e03021706dbdddf39dda4;hpb=f559ec45ea2fc09c361ef7e4a40a59b1f2133737;p=kivitendo-erp.git diff --git a/bin/mozilla/menuXML.pl b/bin/mozilla/menuXML.pl index 84fabbb05..1eed4edeb 100644 --- a/bin/mozilla/menuXML.pl +++ b/bin/mozilla/menuXML.pl @@ -36,58 +36,70 @@ # 2007-10-14 - XMLified - Holger Will ####################################################################### -$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 { - print "Content-type: text/xml; charset=iso-8859-1\n\n"; - print qq|\n|; - print qq|\n|; - print qq| -]>|; - print qq||; - print qq||; - print $form->{login}; - print qq||; - print qq||; - print $form->{password}; - print qq||; - print qq||; - print %myconfig->{name}; - print qq||; - print qq||; - print %myconfig->{dbname}; - print qq||; - print qq||; - my $fav=%myconfig->{favorites}; - my @favorites = split(/;/, $fav); + 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| + +{iconv_utf8}->convert('ß') . qq|"> +{iconv_utf8}->convert('ä') . qq|"> +{iconv_utf8}->convert('ö') . qq|"> +{iconv_utf8}->convert('ü') . qq|"> +]> + + +$myconfig{name} +$form->{version} +$callback +$myconfig{dbname} + +|; + + my $fav = $myconfig{favorites}; + my @favorites = split m/;/, $fav; foreach (@favorites) { - print qq||; + $text .= qq||; } - print qq||; - print qq||; -my $isoencodedmenu=&acc_menu($menu); - print encode("iso-8859-1",$isoencodedmenu ); - - print qq||; - print qq||; - + + $text .= qq|\n| + . qq|\n| + . acc_menu() + . qq|\n| + . qq|\n|; + + print $text; } sub acc_menu { - $locale = Locale->new($language, "menu"); + my $form = $main::form; - $mainlevel = $form->{level}; + my $mainlevel = $form->{level}; $mainlevel =~ s/$mainlevel--//g; - my $menu = new Menu "$menufile"; + my $menu = Menu->new("menu.ini"); $| = 1; @@ -98,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; @@ -112,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";