HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.shooperm.com/Modules/SidebarManager/Http/Controllers/SidebarManagerController.php
<?php

namespace Modules\SidebarManager\Http\Controllers;

use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Modules\SidebarManager\Entities\Sidebar;

class SidebarManagerController extends Controller
{

    public function __construct()
    {
        $this->middleware('maintenance_mode');
    }

    public function index()
    {
        try {
            if (!Auth::user()->sidebars()->exists())
            {
                $sidebars = Sidebar::where('user_id',1)->orderBy('default_position','asc')->get();
                foreach ($sidebars as $sidebar)
                {
                    $data = $sidebar->toArray();
                    $data['user_id'] = auth()->id();
                    $data['position'] = $sidebar['default_position'];
                    Sidebar::create($data);
                }
            }

            $role_id = auth()->user()->role->type;
            if ($role_id == 'seller') {
                $PermissionList = Sidebar::where('user_id',auth()->id())->orderBy('position','asc')->whereIn('module_id', ['7','13','30','15','21','25','26','27','28','29','32','34','41','42'])->get();
                $subMenuList = $PermissionList->where('type', 2)->whereIn('sidebar_id', ['191','192','193','194','195','30','31','61','62', '135','72','106','124','125','126','127','128','129','130','131','152','153','154','155','156','167','200','201']);
            }else{
                $PermissionList = Sidebar::where('user_id',auth()->id())->whereNotIn('module_id', ['27','28','29','30','32','34'])->orderBy('position','asc')->get();
                $subMenuList = $PermissionList->where('type', 2);
            }

            $data['MainMenuList'] = $PermissionList->where('type', 1);
            $data['PermissionList'] = $PermissionList;
            $data['SubMenuList'] = $subMenuList;
            $data['role'] = auth()->user()->role;
            $data['permissions'] = $data['role']->permissions;
            $data['ActionList'] = $PermissionList->where('type',3);
            return view('sidebarmanager::index')->with($data);
        } catch (\Exception $e) {
            Toastr::error(trans('common.error_message'));
            return back();
        }
    }

    public function store(Request $request)
    {
        try {
            DB::beginTransaction();
            foreach ($request->module_id as $key => $module) {
                $sidebar = Sidebar::where('module_id', $module)->where('user_id', auth()->id())->where('type', 1)->first();
                if ($sidebar)
                {
                    $sidebar->position = $request->menu_positions[$key];
                    $sidebar->status = $request->status[$key];
                    $sidebar->save();
                }

            }

            if($request->has('sub_module_id') && is_array($request->sub_module_id)){
                foreach ($request->sub_module_id as $key => $sub_module) {

                    $sidebar = Sidebar::where('user_id', auth()->id())->where('sidebar_id', $sub_module)->where('type', 2)->first();

                    if ($sidebar)
                    {
                        $sidebar->position = $request->sub_positions[$key];
                        $sidebar->status = $request->sub_status[$key];
                        $sidebar->save();
                    }

                }
            }
            session()->forget('menus');
            DB::commit();
            Toastr::success(__('common.updated_successfully'), __('common.success'));
            return back();

        } catch (\Exception $e) {
            DB::rollBack();
            Toastr::error(__('common.error_message'));
            return back();
        }
    }
}