HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/ipsremont-demo/app/Http/ViewComposers/TopMenuComposer.php
<?php


namespace App\Http\ViewComposers;


use Illuminate\Support\Facades\Auth;

class TopMenuComposer
{
    public static function render($route, $activeMenu)
    {
        $items = self::items();
        $result = '';
        $prefix = substr($route->getPrefix(), 1);
        $slug = str_replace("/$prefix/", '', $route->getCompiled()->getStaticPrefix());
        if(strpos($slug, '/'))
            $slug = stristr($slug, '/', true);

        if(isset($items[$prefix]))
            foreach ($items[$prefix] as $item) {
                $class = ($item['slug'] == $slug || $item['slug'] == $activeMenu)
                    ? 'menu-item menu-item-submenu menu-item-rel menu-item-active'
                    : 'menu-item menu-item-submenu menu-item-rel';

                $result .=
                    '<li class="' . $class . '" aria-haspopup="true">
                        <a href="' . $item['href'] . '" onclick="goToLink(this)" class="menu-link menu-toggle">
                            <span class="menu-text">' . __($item['name']) . '</span>
                            <i class="menu-arrow"></i>
                        </a>
                    </li>';
            }

        echo $result;
    }

    protected static function items()
    {
        $fields['emails'] = [
            [
                'name' => 'topMenu.emails.users',
                'href' => '/emails/users',
                'slug' => 'users'
            ],
            [
                'name' => 'topMenu.emails.orders',
                'href' => '/emails/orders',
                'slug' => 'orders'
            ],
            [
                'name' => 'topMenu.emails.repairs',
                'href' => '/emails/repairs',
                'slug' => 'repairs'
            ],
            [
                'name' => 'topMenu.emails.acttc',
                'href' => '/emails/acttc',
                'slug' => 'acttc'
            ],
            [
                'name' => 'topMenu.emails.shipment',
                'href' => '/emails/shipment',
                'slug' => 'shipment'
            ],
            [
                'name' => 'topMenu.emails.address',
                'href' => '/emails/address',
                'slug' => 'address'
            ],
            [
                'name' => 'topMenu.emails.columnTitle',
                'href' => '/emails/columntitle',
                'slug' => 'columntitle'
            ],
            [
                'name' => 'topMenu.emails.sent',
                'href' => '/emails/list',
                'slug' => 'list'
            ]
        ];

        if(Auth::user()->isService()) {
            $fields['repairs'] =  [
                [
                    'name' => 'topMenu.repairs.repairs',
                    'href' => '/repairs/index',
                    'slug' => 'index'
                ],
                [
                    'name' => 'topMenu.repairs.reporting',
                    'href' => '/repairs/reporting',
                    'slug' => 'reporting'
                ]
            ];
        }

        return $fields;
    }
}