use English qw(-no_match_vars);
use List::Util qw(max);
+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\./;
$form->{force_ul_width} = 1;
$form->{date} = clock_line();
$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 =~ /^(\.\/)?$/;
+ $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);
}
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);
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);
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;
+}
+