%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/share/webmin/authentic-theme/
Upload File :
Create Path :
Current File : //usr/share/webmin/authentic-theme/navigation.pm

#
# Authentic Theme (https://github.com/authentic-theme/authentic-theme)
# Copyright Ilia Rostovtsev <programming@rostovtsev.io>
# Licensed under MIT (https://github.com/authentic-theme/authentic-theme/blob/master/LICENSE)
#
use strict;

our (%in, %gconfig, $base_remote_user, %theme_text, %theme_config, $get_user_level, $theme_requested_url,
     $theme_module_query_id);

if ((!%in) ||
    ($theme_requested_url =~ /virtual-server/ || $theme_requested_url =~ /server-manager/))
{
    $in{$theme_module_query_id} = get_default_target();
}

my @leftitems = list_combined_webmin_menu(undef, \%in);

if (
    ($get_user_level ne '2' || $get_user_level eq '2' && get_webmin_switch_mode() eq '1') && (
        dashboard_switch()
        ||
        (   $in{'xhr-navigation-type'} ne 'virtualmin' &&
            $in{'xhr-navigation-type'} ne 'cloudmin'   &&
            $in{'xhr-navigation-type'} ne 'webmail'    &&
            (   (($theme_config{'settings_right_default_tab_webmin'} eq '/' && get_product_name() eq 'webmin')) ||
                (($theme_config{'settings_right_default_tab_usermin'} eq '/' || !foreign_available("mailbox")) &&
                    get_product_name() eq 'usermin'))
        ) ||
        $in{'xhr-navigation-type'} eq 'webmin' ||
        ($theme_config{'settings_right_default_tab_webmin'} =~ /virtualmin/ &&
            $get_user_level eq '4' &&
            !$in{'xhr-navigation-type'}) ||
        ($theme_config{'settings_right_default_tab_webmin'} =~ /cloudmin/ &&
            ($get_user_level eq '1' || $get_user_level eq '2') &&
            !$in{'xhr-navigation-type'}) ||

        (
         $get_user_level ne '3' && (
                                    (!foreign_available("virtual-server")                &&
                                     !$theme_config{'settings_right_default_tab_webmin'} &&
                                     !$in{'xhr-navigation-type'}                         &&
                                     $get_user_level ne '4'
                                    ) ||
                                    (!foreign_available("virtual-server") &&
                                     $theme_config{'settings_right_default_tab_webmin'} =~ /virtualmin/ &&
                                     !$in{'xhr-navigation-type'}) ||
                                    (!foreign_available("server-manager") &&
                                     $theme_config{'settings_right_default_tab_webmin'} =~ /cloudmin/ &&
                                     !$in{'xhr-navigation-type'})))

    ))
{
    print_search();

    my @cats           = &get_visible_modules_categories();
    my @modules        = map {@{ $_->{'modules'} }} @cats;
    my $show_unused    = $theme_config{'settings_leftmenu_section_hide_unused_modules'} eq 'true' ? 0 : 1;
    my $__custom_print = 0;
    my $__print_hidden = 0;

    foreach my $c (@cats) {
        if ($gconfig{"notabs_${base_remote_user}"} ne '2' && $gconfig{"notabs"} ne '1' && ($c && !$c->{'unused'}) ||
            ($c && $c->{'unused'} && $show_unused))
        {
            &print_category($c->{'code'}, $c->{'desc'});
            print '<li class="sub-wrapper"><ul class="sub" style="display: none;" id="' . $c->{'code'} . '">' . "\n";
            foreach my $minfo (@{ $c->{'modules'} }) {
                if (($minfo->{'dir'} eq 'webmin' && foreign_available("webmin")) &&
                    $__custom_print eq '0')
                {
                    print_category_link($gconfig{'webprefix'} . "/webmin/edit_themes.cgi",
                                        $theme_text{'settings_right_theme_left_configuration_title'}, 1);
                    print_category_link($gconfig{'webprefix'} . "/settings-editor_read.cgi",
                                        $theme_text{'settings_right_theme_left_extensions_title'}, 1);
                    print_category_link($gconfig{'webprefix'} . "/settings-logos.cgi",
                                        $theme_text{'settings_right_theme_left_logo_title'}, 1);
                    print_category_link($gconfig{'webprefix'} . "/settings-backgrounds.cgi",
                                        $theme_text{'settings_right_theme_left_background_title'}, 1);
                    $__custom_print++;

                } elsif (!foreign_available("webmin") &&
                         $__custom_print eq '0' &&
                         $theme_config{'settings_show_theme_configuration_for_admins_only'} ne 'true')
                {
                    print_category_link($gconfig{'webprefix'} . "/settings-user.cgi", $theme_text{'settings_title'}, 1);
                    $__custom_print++;
                }
                if ($__print_hidden eq '0') {
                    if (licenses('vm') eq '1') {
                        &print_category_link($gconfig{'webprefix'} . "/virtual-server/licence.cgi",
                                             $theme_text{'right_vlcheck'}, 1);
                    }
                    if (licenses('cm') eq '1') {
                        &print_category_link($gconfig{'webprefix'} . "/server-manager/licence.cgi",
                                             $theme_text{'right_slcheck'}, 1);
                    }

                    $__print_hidden++;
                }

                if ($minfo->{'dir'} ne 'mailbox') {
                    &print_category_link("$gconfig{'webprefix'}/$minfo->{'dir'}/"
                                           .
                                           ( "/$minfo->{'dir'}/" =~ 'filemin' ? 'index.cgi?path=/' :
                                               ("/$minfo->{'dir'}/" =~ 'csf' ? 'index.cgi' : '')
                                           ),
                                         $minfo->{'desc'},
                                         undef);
                }

            }
            print '</ul></li>' . "\n";
        } elsif ($gconfig{"notabs_${base_remote_user}"} eq '2' || $gconfig{"notabs"} eq '1') {
            foreach my $minfo (@{ $c->{'modules'} }) {
                print '<li data-linked><a href="' . $gconfig{'webprefix'} . '/' . $minfo->{'dir'} .
'" class="navigation_module_trigger link_type_convert_single_link"><i class="fa fa-fw fa-link"></i>  <span>'
                  . $minfo->{'desc'}
                  . '</span></a></li>' . "\n";
            }
        }
    }

    if (&foreign_available("webmin") &&
        $theme_config{'settings_leftmenu_section_hide_refresh_modules'} ne 'true')
    {
        print '<li data-linked><a href="' . $gconfig{'webprefix'} .
          '/webmin/refresh_modules.cgi" class="navigation_module_trigger"><i class="fa fa-fw fa-refresh"></i> <span>' .
          $theme_text{'left_refresh_modules'} . '</span></a></li>' . "\n";
    }
    print_sysinfo_link($get_user_level eq '3' ? 1 : undef);
    print_netdata_link();
    print_left_custom_links();
}

elsif ($get_user_level eq '2' && dashboard_switch()
       ||
       (
        ((!$theme_config{'settings_right_default_tab_webmin'} && $in{'xhr-navigation-type'} ne 'cloudmin') ||
         (foreign_available("virtual-server") &&
             $theme_config{'settings_right_default_tab_webmin'} =~ /virtualmin/ &&
             $in{'xhr-navigation-type'} ne 'cloudmin') ||
         $in{'xhr-navigation-type'} eq 'virtualmin'
        ) &&
        get_product_name() ne 'usermin' &&
        $get_user_level ne '4'))
{
    print_left_menu('virtual-server', \@leftitems, 0, 0, $in{'dom'}, $in{'xhr-navigation-type'});
    print_sysinfo_link();
    print_sysstat_link();
}

elsif (
       (!$theme_config{'settings_right_default_tab_webmin'} ||
        (foreign_available("server-manager") &&
         $theme_config{'settings_right_default_tab_webmin'} =~ /cloudmin/ &&
         $in{'xhr-navigation-type'} ne 'virtualmin') ||
        $in{'xhr-navigation-type'} eq 'cloudmin'
       ) &&
       get_product_name() ne 'usermin')
{

    print_left_menu('server-manager', \@leftitems, 0, 0, $in{'sid'}, $in{'xhr-navigation-type'});
    print_sysinfo_link();
}

elsif (foreign_available("mailbox") &&
       (
        (!$theme_config{'settings_right_default_tab_usermin'} ||
         $theme_config{'settings_right_default_tab_usermin'} =~ /mail/) ||
        $in{'xhr-navigation-type'} eq 'webmail'))
{

    print_left_menu('mailbox', \@leftitems, 0, 0, 0, $in{'xhr-navigation-type'});

    print '<li data-linked><a href="' . $gconfig{'webprefix'} .
      '/uconfig.cgi?mailbox" class="navigation_module_trigger"><i class="fa fa-fw fa-cog"></i> <span>' .
      $theme_text{'theme_left_mail_prefs'} . '</span></a></li>' . "\n";

    print '<li data-linked><a href="' .
      $gconfig{'webprefix'} . '/changepass/" class="navigation_module_trigger"><i class="fa fa-fw fa-key"></i> <span>' .
      $theme_text{'theme_left_mail_change_password'} . '</span></a></li>' . "\n";

    print_sysinfo_link(1);
}

require(dirname(__FILE__) . "/buttons.pm");

1;

Zerion Mini Shell 1.0