Вход Регистрация
Файл: upload/core/elements/sidebars/panel.php
Строк: 127
<?php
$currentPath 
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

$sidebarMenu = [

    
// Одиночный пункт
    
[
        
'type'  => 'link',
        
'perm'  => null,
        
'url'   => '/admin',
        
'title' => 'Основное'
    
],

    
// Группа: Арбитраж
    
[
        
'type'  => 'group',
        
'title' => 'Арбитраж',
        
'items' => [
            [
                
'perm'  => 'manage_deal',
                
'url'   => '/admin/arbitrage-disp',
                
'title' => 'Споры'
            
],
            [
                
'perm'  => 'manage_deal',
                
'url'   => '/admin/arbitrage-tickets',
                
'title' => 'Тикеты'
            
],
        ]
    ],

    
// Одиночный пункт
    
[
        
'type'  => 'link',
        
'perm'  => 'us_support',
        
'url'   => '/admin/tickets',
        
'title' => 'Тикеты'
    
],

    [
        
'type'  => 'link',
        
'perm'  => 'confirm_transfers',
        
'url'   => '/admin/payment-requests',
        
'title' => 'Заявки на выплату'
    
],

    
// Группа: Дизайн
    
[
        
'type'  => 'group',
        
'title' => 'Дизайн',
        
'items' => [
            [
                
'perm'  => 'edit_templates',
                
'url'   => '/admin/themes',
                
'title' => 'Стили'
            
]
        ]
    ],

    
// Группа: Модули
    
[
        
'type'  => 'group',
        
'title' => 'Модули',
        
'items' => [
            [
                
'perm'  => 'edit_modules',
                
'url'   => '/admin/plugins/oauth',
                
'title' => 'Соц.Авторизация'
            
],
            [
                
'perm'  => 'edit_modules',
                
'url'   => '/admin/plugins/captcha',
                
'title' => 'Капча'
            
],
            [
                
'perm'  => 'edit_modules',
                
'url'   => '/admin/plugins/payments',
                
'title' => 'Платежи'
            
],
            [
                
'perm'  => 'edit_modules',
                
'url'   => '/admin/plugins/',
                
'title' => 'Другие'
            
],
        ]
    ],

    [
        
'type'  => 'link',
        
'perm'  => 'edit_site_info',
        
'url'   => '/admin/search-info',
        
'title' => 'Представление в поиске'
    
],

    [
        
'type'  => 'link',
        
'perm'  => 'edit_solutions',
        
'url'   => '/admin/solutions',
        
'title' => 'База знаний'
    
],

    [
        
'type'  => 'link',
        
'perm'  => 'manage_nodes',
        
'url'   => '/admin/nodes',
        
'title' => 'Управление узлами'
    
],

    
// Группа: Пользователи
    
[
        
'type'  => 'group',
        
'title' => 'Пользователи',
        
'items' => [
            [
                
'perm'  => 'edit_users',
                
'url'   => '/admin/users',
                
'title' => 'Управление пользователями'
            
],
            [
                
'perm'  => 'edit_group',
                
'url'   => '/admin/groups',
                
'title' => 'Группы пользователей'
            
],
        ]
    ],

    [
        
'type'  => 'link',
        
'perm'  => 'manage_payment',
        
'url'   => '/admin/project-profit',
        
'title' => 'Доход проекта'
    
],

    [
        
'type'  => 'link',
        
'perm'  => 'edit_site_info',
        
'url'   => '/admin/platform-parameters',
        
'title' => 'Параметры платформы'
    
],

    [
        
'type'  => 'link',
        
'perm'  => 'edit_operator_details',
        
'url'   => '/admin/operator-details',
        
'title' => 'Реквизиты оператора'
    
],
    
    [
        
'type'  => 'link',
        
'perm'  => 'edit_operator_details',
        
'url'   => '/admin/license-agreement',
        
'title' => 'Лицензионное соглашение'
    
],

];


echo 
'<div class="sidebar_menu" id="sidebar">
<div class="side_panel">
<div class="side_panel_box">'
;

foreach (
$sidebarMenu as $item) {

    
// Обычная ссылка
    
if ($item['type'] === 'link') {

        
$perm $item['perm'];
        
$allowed = !$perm || (isset($users_perms[$perm]) && $users_perms[$perm] == 1);

        
$active = ($currentPath === $item['url']) ? 'active' '';
        
$off $allowed '' 'off';

        echo 
'
        <a class="panel_link ' 
$active ' ' $off '" href="' homeLink() . $item['url'] . '">' $item['title'] . '</a>';
    }

    
// Группа
    
if ($item['type'] === 'group') {

        
// Проверяем, есть ли хотя бы один доступный пункт
        
$hasVisible false;

        foreach (
$item['items'] as $sub) {
            
$perm $sub['perm'];
            if (!
$perm || (isset($users_perms[$perm]) && $users_perms[$perm] == 1)) {
                
$hasVisible true;
                break;
            }
        }

        
// Если нет доступных пунктов — пропускаем группу
        
if (!$hasVisible) {
            continue;
        }

        echo 
'
        <div class="sidebar-group">
            <div class="sidebar-title">' 
$item['title'] . '<span class="side_sp-icon"><i class="fas fa-chevron-down"></i></span></div>
            <div class="sidebar-content">
        '
;

        foreach (
$item['items'] as $sub) {

            
$perm $sub['perm'];
            
$allowed = !$perm || (isset($users_perms[$perm]) && $users_perms[$perm] == 1);

            if (!
$allowed) continue;

            
$active = ($currentPath === $sub['url']) ? 'active' '';

            echo 
'
            <a class="s-group panel_link ' 
$active '" href="' homeLink() . $sub['url'] . '">' $sub['title'] . '</a>';
        }

        echo 
'</div></div>';
    }
}

echo 
'</div></div></div>';

?>

<script>
document.addEventListener("DOMContentLoaded", () => {

    // Отключаем анимацию на момент загрузки
    document.body.classList.add('no-anim');

    // 1. Авто-раскрытие групп, если внутри есть активная ссылка
    document.querySelectorAll('.sidebar-group').forEach(group => {
        const content = group.querySelector('.sidebar-content');
        const activeLink = group.querySelector('.panel_link.active');

        if (activeLink) {
            group.classList.add('active');
            activeLink.classList.add('link_select');
            content.style.maxHeight = content.scrollHeight + "px";
        }
    });

    // 2. Логика раскрытия/закрытия по клику
    document.querySelectorAll('.sidebar-title').forEach(title => {
        title.addEventListener('click', () => {
            const group = title.parentElement;
            const content = group.querySelector('.sidebar-content');

            if (group.classList.contains('active')) {
                group.classList.remove('active');
                content.style.maxHeight = null;
            } else {
                group.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });

    // Включаем анимацию обратно после загрузки
    setTimeout(() => {
        document.body.classList.remove('no-anim');
    }, 50);

});
</script>
Онлайн: 4
Реклама