Sh3ll
OdayForums


Server : Apache
System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64
User : tradze ( 1001)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /home/tradze/public_html/test.tradze.com/app/Http/Middleware/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/public_html/test.tradze.com/app/Http/Middleware/AdminMenuMiddleware.php
<?php



namespace App\Http\Middleware;



use Closure;

use Caffeinated\Menus\Facades\Menu;

use Illuminate\Contracts\Auth\Guard;

use Module;

use Illuminate\Support\Facades\Auth;




class AdminMenuMiddleware

{



    /**

     * @var Authenticatable

     */

    protected $auth;



    /**

     * @param Authenticatable $auth

     */

    public function __construct(Guard $auth)

    {

        $this->auth = $auth;

    }



    /**

     * Run the request filter.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  \Closure                  $next

     * @return mixed

     */

    public function handle($request, Closure $next)

    {

        //create sidebar menu

        Menu::make('left', function($menu) {



                    //            $menu->add('Dashboard','javascript:;')->data(array('permissions'=> ['dashboard','admin.schedules.bo.index','admin.testimonials.index','admin.faq.index','admin.banners.index']))->icon('icon icon-home');



            //Website

            $website = $menu->add('Website', 'javascript:;')->icon('fa fa-globe')->data('permissions', ['admin.schedules.bo.index']);

            $website->add('Pages', route('admin.pages.index'))->data(array('permissions'=> ['admin.pages.index']))->icon('fa fa-files-o');

            $website->add('Commercial', route('admin.events.index'))->data(array('permissions'=> ['admin.events.index']))->icon('fa fa-bullhorn');

            $website->add('Testimonials', route('admin.testimonials.index'))->data(array('permissions'=> ['admin.testimonials.index']))->icon('icon icon-speech');

            $website->add('Faq', route('admin.faq.index'))->data(array('permissions'=> ['admin.faq.index']))->icon('icon icon-question');

            $website->add('Banners', route('admin.banners.index'))->data(array('permissions'=> ['admin.banners.index']))->icon('fa fa-file-image-o');

            $website->add('Contact Forms', route('admin.contactform.index'))->data(array('permissions'=> ['admin.contactform.index']))->icon('icon icon-note');

            $website->add('Website Forms', route('admin.corporateform.index'))->data(array('permissions'=> ['admin.corporateform.index']))->icon('icon icon-note');

            $blog = $website->add('Blog', 'javascript:;')->data(array('permissions'=> ['admin.blog.categories.index','admin.blog.posts.index']))->icon('icon icon-book-open');

            $blog->add('Posts', route('admin.blog.posts.index'))->data(array('permissions'=> ['admin.blog.posts.index']))->icon('icon icon-note');

            $blog->add('Categories', route('admin.blog.categories.index'))->data(array('permissions'=> ['admin.blog.categories.index']))->icon('icon icon-list');



            //Recuitment jobs

            // $jobs = $menu->add('Recuitment Jobs', 'javascript:;')->icon('icon icon-briefcase')->data('permissions', ['admin.zenjobs.index']);

            // $jobs->add('Jobs', route('admin.zenjobs.index'))->data(array('permissions'=> ['admin.zenjobs.index']))->icon('icon icon-briefcase');

            // $jobs->add('Jobs applications', route('admin.zenjobsform.index'))->data(array('permissions'=> ['admin.zenjobsform.index']))->icon('icon icon-user-following');



            //Schedules

            if (Module::isEnabled('schedules'))

            {

                $schedules = $menu->add('Website', 'javascript:;')->icon('icon icon-earphones-alt')->data('permissions', ['admin.schedules.bo.index']);



                $schedules->add('Bookings', array('route' => 'admin.schedules.bookings.index'))->icon('icon icon-basket-loaded')->data('permissions', ['admin.schedules.bo.index']);

                $schedules->add('Website working Time & Days', array('route' => 'admin.schedules.bo.index'))->icon('icon icon-calendar')->data('permissions', ['admin.schedules.bo.index']);

                $schedules->add('Holidays', array('route' => 'admin.schedules.daysoff.index'))->icon('icon icon-cup')->data('permissions', ['admin.schedules.daysoff.index']);

                // $schedules->add('Massage table restriction', array('route' => 'admin.schedules.table.index'))->icon('fa fa-cogs')->data('permissions', ['admin.schedules.table.index']);

            } //end schedules



            //Services

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Rapid Response', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.services.bo.index']);

                $services->add('Services', array('route' => 'admin.services.typeofmassage.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                $services->add('Pricing & Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            } //end services

            // Salon Services

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Members', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.services.bo.index']);

                $services->add('Services', array('route' => 'admin.services.typeofsalontreatment.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                // $services->add('Salon Treatments Duration', array('route' => 'admin.services.salonduration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.salonduration.index']);

            } //end services



            //Vouchers

            if (Module::isEnabled('services'))

            {

                $vouchers = $menu->add('Vouchers', 'javascript:;')->icon('fa fa-ticket')->data('permissions', ['admin.vouchers.packages.index']);

                $vouchers->add('Generated codes', array('route' => 'admin.vouchers.codes.index'))->icon('fa fa-ticket')->data('permissions', ['admin.vouchers.codes.index']);

                $vouchers->add('Offers', array('route' => 'admin.vouchers.offers.index'))->icon('icon icon-present')->data('permissions', ['admin.vouchers.offers.index']);

                $vouchers->add('Gifts', array('route' => 'admin.vouchers.packages.index'))->icon('icon icon-present')->data('permissions', ['admin.vouchers.packages.index']);

                $vouchers->add('General vouchers', array('route' => 'admin.vouchers.general.index'))->icon('fa fa-barcode')->data('permissions', ['admin.vouchers.general.index']);

            } //end vouchers



            //Corporate Clients&Events

            if (Module::isEnabled('corporate'))

            {

                $corporate = $menu->add('Companies', 'javascript:;')->icon('icon icon-diamond')->data('permissions', ['admin.accounts.companies.index','admin.accounts.seriesdoc.index']);

                $corporate->add('Invoices', array('route' => 'admin.corporate.events.index'))->icon('fa fa-bullhorn')->data('permissions', ['admin.corporate.events.index']);

                $corporate->add('Clients', array('route' => 'admin.corporate.companies.index'))->icon('fa fa-building')->data('permissions', ['admin.corporate.companies.index']);

                // $corporate->add('Website Forms', route('admin.corporateform.index'))->data(array('permissions'=> ['admin.corporateform.index']))->icon('icon icon-note');

            } //end users





            //Invoices

            if (Module::isEnabled('invoices'))

            {

                $invoices = $menu->add('Invoices', 'javascript:')->icon('icon icon-docs')->data('permissions', ['admin.invoices.index','admin.invoices.bookings.index']);

                $invoices->add('Invoices', array('route' => 'admin.invoices.index'))->icon('icon icon-docs')->data('permissions', ['admin.invoices.index']);

                $invoices = $invoices->add('Create Invoice', array('route' => 'admin.invoices.bookings.index'))->icon('icon icon-pencil')->data('permissions', ['admin.invoices.bookings.index']);

            } //end invoices



            //Postcodes

            // if (Module::isEnabled('postcodes'))

            // {

            //     $postcodes = $menu->add('Postcodes', 'javascript:;')->icon('icon icon-directions')->data('permissions', ['admin.areas.transport.index']);

            //     $postcodes->add('London postcodes', array('route' => 'admin.areas.postcode.index'))->icon('icon icon-directions')->data('permissions', ['admin.areas.postcode.index']);

            //     $postcodes->add('Cost transport', array('route' => 'admin.areas.transport.index'))->icon('fa fa-gbp')->data('permissions', ['admin.areas.transport.index']);

            // } //end services



            //Users

            if (Module::isEnabled('users'))

            {

                $users = $menu->add('Users', 'javascript:;')->icon('icon icon-users')->data('permissions', ['admin.services.bo.index']);

                $users->add('Clients', array('route' => 'admin.users.clients.index'))->icon('icon icon-users')->data('permissions', ['admin.users.clients.index']);

                $users->add('Rapid Response', array('route' => 'admin.users.therapists.index'))->icon('icon icon-users')->data('permissions', ['admin.users.therapists.index']);

                $users->add('Members', array('route' => 'admin.users.salon.index'))->icon('icon icon-users')->data('permissions', ['admin.users.salon.index']);

                // $users->add('Online')->icon('icon icon-users');

            } //end users



            //Accounts

            if (Module::isEnabled('accounts'))

            {

                $users = $menu->add('Accounts', 'javascript:;')->icon('icon icon-globe')->data('permissions', ['admin.accounts.companies.index','admin.accounts.seriesdoc.index']);

                $users->add('Companies', array('route' => 'admin.accounts.companies.index'))->icon('fa fa-building')->data('permissions', ['admin.accounts.companies.index']);

                $users->add('New Companies', array('route' => 'admin.accounts.seriesdoc.index'))->icon('icon icon-layers')->data('permissions', ['admin.accounts.seriesdoc.index']);

            } //end users

            //Plan

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Plan', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.index']);

                $services->add('Plans', array('route' => 'admin.plan.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                $services->add('Prices', array('route' => 'admin.plan.prices'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                // $services->add('Massage Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            } //end Plan

            //inquiry

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Subscription Query', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.subscriptionqueryindex']);

                // $services->add('Subscription Query', array('route' => 'admin.plan.subscriptionqueryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                $services->add('Subscription Query', array('route' => 'admin.plan.subscriptionmobilequeryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);
                // $services->add('Massage Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            } //end inquiry

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Venue Query', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.venuequeryindex']);

                // $services->add('Subscription Query', array('route' => 'admin.plan.subscriptionqueryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                $services->add('Venue Query', array('route' => 'admin.plan.venuequeryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);
                // $services->add('Massage Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            } //end inquiry
            

            //inquiry

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Reviews', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.subscriptionqueryindex']);

                $services->add('Reviews', array('route' => 'admin.reviews.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);
                // $services->add('Salon Reviews', array('route' => 'admin.reviews.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);


            } //end inquiry

            //Payment

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Payments', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.subscriptionqueryindex']);

                $services->add('Payments', array('route' => 'admin.schedules.payments.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);


            }
             //end payment



        })->filter(function($item) {

            //return true for developer

            if ($this->auth->check() && $this->auth->user()->is('developer')) return true;

            // return true for salon user

            // if ($this->auth->check() && $this->auth->user()->is('salon')) return true;

            //for others roles, check permission access

            return ($this->auth->check() && $this->auth->user()->canOne($item->data('permissions')));

        });


        // Menu For Salon user


        if($this->auth->check() && $this->auth->user()->is('salon')){

            //create sidebar menu

        Menu::make('left', function($menu) {



                    //            $menu->add('Dashboard','javascript:;')->data(array('permissions'=> ['dashboard','admin.schedules.bo.index','admin.testimonials.index','admin.faq.index','admin.banners.index']))->icon('icon icon-home');



            //Website

            // $website = $menu->add('Website', 'javascript:;')->icon('fa fa-globe')->data('permissions', ['admin.schedules.bo.index']);

            // $website->add('Pages', route('admin.pages.index'))->data(array('permissions'=> ['admin.pages.index']))->icon('fa fa-files-o');

            // $website->add('Events', route('admin.events.index'))->data(array('permissions'=> ['admin.events.index']))->icon('fa fa-bullhorn');

            // $website->add('Testimonials', route('admin.testimonials.index'))->data(array('permissions'=> ['admin.testimonials.index']))->icon('icon icon-speech');

            // $website->add('Faq', route('admin.faq.index'))->data(array('permissions'=> ['admin.faq.index']))->icon('icon icon-question');

            // $website->add('Banners', route('admin.banners.index'))->data(array('permissions'=> ['admin.banners.index']))->icon('fa fa-file-image-o');

            // $website->add('Contact Forms', route('admin.contactform.index'))->data(array('permissions'=> ['admin.contactform.index']))->icon('icon icon-note');

            // $blog = $website->add('Blog', 'javascript:;')->data(array('permissions'=> ['admin.blog.categories.index','admin.blog.posts.index']))->icon('icon icon-book-open');

            // $blog->add('Posts', route('admin.blog.posts.index'))->data(array('permissions'=> ['admin.blog.posts.index']))->icon('icon icon-note');

            // $blog->add('Categories', route('admin.blog.categories.index'))->data(array('permissions'=> ['admin.blog.categories.index']))->icon('icon icon-list');



            //Recuitment jobs

            // $jobs = $menu->add('Recuitment Jobs', 'javascript:;')->icon('icon icon-briefcase')->data('permissions', ['admin.zenjobs.index']);

            // $jobs->add('Jobs', route('admin.zenjobs.index'))->data(array('permissions'=> ['admin.zenjobs.index']))->icon('icon icon-briefcase');

            // $jobs->add('Jobs applications', route('admin.zenjobsform.index'))->data(array('permissions'=> ['admin.zenjobsform.index']))->icon('icon icon-user-following');



            //Schedules

            if (Module::isEnabled('schedules'))

            {

                $schedules = $menu->add('Schedules', 'javascript:;')->icon('icon icon-earphones-alt')->data('permissions', ['admin.schedules.bo.index']);



                $schedules->add('Bookings', array('route' => 'admin.schedules.bookings.index'))->icon('icon icon-basket-loaded')->data('permissions', ['admin.schedules.bo.index']);

                $schedules->add('Working days', array('route' => 'admin.schedules.bo.index'))->icon('icon icon-calendar')->data('permissions', ['admin.schedules.bo.index']);

                $schedules->add('Holidays', array('route' => 'admin.schedules.daysoff.index'))->icon('icon icon-cup')->data('permissions', ['admin.schedules.daysoff.index']);

                // $schedules->add('Massage table restriction', array('route' => 'admin.schedules.table.index'))->icon('fa fa-cogs')->data('permissions', ['admin.schedules.table.index']);

            } 
            //end schedules



            //Services

            // if (Module::isEnabled('services'))

            // {

            //     $services = $menu->add('Services', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.services.bo.index']);

            //     $services->add('Type of Treatment', array('route' => 'admin.services.typeofmassage.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

            //     $services->add('Massage Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            // }
             //end services

            // Salon Services

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Services', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.services.bo.index']);

                $services->add('Type of Services', array('route' => 'admin.services.typeofsalontreatment.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                // $services->add('Salon Treatments', array('route' => 'admin.services.salonduration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.salonduration.index']);

            } //end services

            //Vouchers

            // if (Module::isEnabled('services'))

            // {

            //     $vouchers = $menu->add('Vouchers', 'javascript:;')->icon('fa fa-ticket')->data('permissions', ['admin.vouchers.packages.index']);

            //     $vouchers->add('Generated codes', array('route' => 'admin.vouchers.codes.index'))->icon('fa fa-ticket')->data('permissions', ['admin.vouchers.codes.index']);

            //     $vouchers->add('Offers', array('route' => 'admin.vouchers.offers.index'))->icon('icon icon-present')->data('permissions', ['admin.vouchers.offers.index']);

            //     $vouchers->add('Gifts', array('route' => 'admin.vouchers.packages.index'))->icon('icon icon-present')->data('permissions', ['admin.vouchers.packages.index']);

            //     $vouchers->add('General vouchers', array('route' => 'admin.vouchers.general.index'))->icon('fa fa-barcode')->data('permissions', ['admin.vouchers.general.index']);

            // } 
            //end vouchers



            //Corporate Clients&Events

            if (Module::isEnabled('corporate'))

            {

                $corporate = $menu->add('Companies', 'javascript:;')->icon('icon icon-diamond')->data('permissions', ['admin.accounts.companies.index','admin.accounts.seriesdoc.index']);

                $corporate->add('Invoices', array('route' => 'admin.corporate.events.index'))->icon('fa fa-bullhorn')->data('permissions', ['admin.corporate.events.index']);

                $corporate->add('Clients', array('route' => 'admin.corporate.companies.index'))->icon('fa fa-building')->data('permissions', ['admin.corporate.companies.index']);

                // $corporate->add('Website Forms', route('admin.corporateform.index'))->data(array('permissions'=> ['admin.corporateform.index']))->icon('icon icon-note');

            } 
            //end users





            // Invoices

            if (Module::isEnabled('invoices'))

            {

                $invoices = $menu->add('Invoices', 'javascript:')->icon('icon icon-docs')->data('permissions', ['admin.invoices.index','admin.invoices.bookings.index']);

                $invoices->add('Invoices', array('route' => 'admin.invoices.index'))->icon('icon icon-docs')->data('permissions', ['admin.invoices.index']);

                $invoices = $invoices->add('Create Invoice', array('route' => 'admin.invoices.bookings.index'))->icon('icon icon-pencil')->data('permissions', ['admin.invoices.bookings.index']);

            } 

            // end invoices



            //Postcodes

            // if (Module::isEnabled('postcodes'))

            // {

            //     $postcodes = $menu->add('Postcodes', 'javascript:;')->icon('icon icon-directions')->data('permissions', ['admin.areas.transport.index']);

            //     $postcodes->add('London postcodes', array('route' => 'admin.areas.postcode.index'))->icon('icon icon-directions')->data('permissions', ['admin.areas.postcode.index']);

            //     $postcodes->add('Cost transport', array('route' => 'admin.areas.transport.index'))->icon('fa fa-gbp')->data('permissions', ['admin.areas.transport.index']);

            // } 

            //end services

            //salon Management

            if (Module::isEnabled('users'))

            {

                $users = $menu->add('Management', 'javascript:;')->icon('icon icon-users')->data('permissions', ['admin.services.bo.index']);

                $users->add('Management', array('url' => 'admin/users/salon/edit/'.Auth::user()->id))->icon('icon icon-users')->data('permissions', ['admin.users.salon.index']);

                // $users->add('Therapists', array('route' => 'admin.users.therapists.index'))->icon('icon icon-users')->data('permissions', ['admin.users.therapists.index']);

                // $users->add('Gallery', array('route' => 'admin.users.gallery.index'))->icon('fa fa-files-o');

            } //end salon


            //Users

            if (Module::isEnabled('users'))

            {

                $users = $menu->add('Users', 'javascript:;')->icon('icon icon-users')->data('permissions', ['admin.services.bo.index']);

                // $users->add('Salon Management'.Auth::user()->id, array('url' => 'admin/users/salon/edit/'.Auth::user()->id))->icon('icon icon-users')->data('permissions', ['admin.users.salon.index']);

                $users->add('Service Providers', array('route' => 'admin.users.therapists.index'))->icon('icon icon-users')->data('permissions', ['admin.users.therapists.index']);

                // $users->add('Gallery', array('route' => 'admin.users.gallery.index'))->icon('fa fa-files-o');

            } //end users

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Venue Query', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.venuequeryindex']);

                // $services->add('Subscription Query', array('route' => 'admin.plan.subscriptionqueryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);

                $services->add('Venue Query', array('route' => 'admin.plan.venuequeryindex'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);
                // $services->add('Massage Duration', array('route' => 'admin.services.duration.index'))->icon('icon icon-clock')->data('permissions', ['admin.services.duration.index']);

            } //end inquiry

            if (Module::isEnabled('services'))

            {

                $services = $menu->add('Reviews', 'javascript:;')->icon('icon icon-bag')->data('permissions', ['admin.plan.subscriptionqueryindex']);

                $services->add('Reiews', array('route' => 'admin.reviews.index'))->icon('icon icon-layers')->data('permissions', ['admin.services.typeofmassage.index']);


            } //end inquiry

            //Accounts

            if (Module::isEnabled('accounts'))

            {

                $users = $menu->add('Accounts', 'javascript:;')->icon('icon icon-globe')->data('permissions', ['admin.accounts.companies.index','admin.accounts.seriesdoc.index']);

                $users->add('Companies', array('route' => 'admin.accounts.companies.index'))->icon('fa fa-building')->data('permissions', ['admin.accounts.companies.index']);

                $users->add('New Companies', array('route' => 'admin.accounts.seriesdoc.index'))->icon('icon icon-layers')->data('permissions', ['admin.accounts.seriesdoc.index']);

            } //end users



        })->filter(function($item) {

            //return true for developer

            // if ($this->auth->check() && $this->auth->user()->is('developer')) return true;

            // return true for salon user

            if ($this->auth->check() && $this->auth->user()->is('salon')) return true;

            //for others roles, check permission access

            // return ($this->auth->check() && $this->auth->user()->canOne($item->data('permissions')));

        });


        }



        return $next($request);

    }

}


ZeroDay Forums Mini