X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2FmenuXML.pl;h=245afa1376f8817d876327e71f220bb2c82927bb;hb=b1dbc0a2a7a5b363ee05d62acdc86bc8c76bb1be;hp=f36cb4b1ca87fb59b3b989c8da3acca488ea0251;hpb=a034cc76e98af000f3835abef6ce336f58d01eb7;p=kivitendo-erp.git diff --git a/bin/mozilla/menuXML.pl b/bin/mozilla/menuXML.pl index f36cb4b1c..245afa137 100644 --- a/bin/mozilla/menuXML.pl +++ b/bin/mozilla/menuXML.pl @@ -36,56 +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 $form->create_http_response('content_type' => 'text/xml', - 'charset' => 'iso-8859-1'); - print qq|\n|; - print qq|\n|; - print qq| - - - -]>|; - 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 = $main::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($::menufile); $| = 1; @@ -96,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; @@ -110,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";