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/.trash/app_old/Http/Middleware/ |
<?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
//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('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);
}
}