Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/mcoil.corals.io/app/Http/Controllers/Admin/MenuBars/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/mcoil.corals.io/app/Http/Controllers/Admin/MenuBars/MenuBarController.php
<?php

namespace App\Http\Controllers\Admin\MenuBars;

use App\Shop\MenuBars\Repositories\Interfaces\MenuBarRepositoryInterface;
use App\Shop\MenuBars\Repositories\MenuBarRepository;
use App\Shop\MenuBars\MenuBar;
use App\Shop\MenuBars\OtherWebsiteLink;
use App\Shop\TypeMenus\TypeMenu;
use App\Shop\MenuBars\Requests\CreateMenuBarRequest;
use App\Shop\MenuBars\Requests\UpdateMenuBarRequest;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Validator;
use App\Shop\Pages\Creator;

class MenuBarController extends Controller {

    /**
     * @var MenuBarRepositoryInterface
     */
    private $menuBarRepo;
    private $menuSelection;

    /**
     * MenuBarController constructor.
     *
     * @param MenuBarRepositoryInterface $menuBarRepository
     * @param MenuBar $menuBar
     */
    public function __construct(
        MenuBarRepositoryInterface $menuBarRepository,
        MenuBar $menuBar
    ) {
        $this->menuBarRepo = $menuBarRepository;
        // $this->menuLinks = \App\Helper\Helper::getRouteList('',['book-a-tee-time','course','clubhouse','green','contact','dining','locker-room','proshop','conference-room','green-fees','practice-facilities','open-competetion','rental-club','dress-code','group-events'])->pluck('value','id');
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index() {
        $list = $this->menuBarRepo->listMenuBars('id', 'asc');
        return view('admin.menu-bar.list', [
            'menus' => $this->menuBarRepo->paginateArrayResults($list->all(),10),
            'typemenus' => TypeMenu::get()
        ]);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function create() {
        $typemenus = TypeMenu::pluck('label', 'label')->all();
        $links['Same-Website'] = Creator::pluck('title','slug')->all();
        $links['Other-Website'] = OtherWebsiteLink::pluck('label','link')->all();
        // Fetch all the categories list
        $links['Categories'] = DB::table('categories')
        	->where(['status' => '1'])
        	->where('name', '!=', 'Oil')
        	->orderBy('id', 'asc')
        	->pluck('name', 'slug')
        	->all();
        return view(
            'admin.menu-bar.create', [
                'links' => $links,
                'typemenus' => $typemenus
            ]
        );

    }

    /**
     * Update the specified resource in storage.
     *
     * @param  CreateMenuBarRequest $request
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function store(CreateMenuBarRequest $request) {
        for ($i=0; $i < sizeof($request->label); $i++) { 
            $menu = new MenuBar;
            $menu->type_menu    = $request->type_menu;
            $menu->menu_name    = $request->menu_name;
            $menu->label        = $request->label[$i];
            $menu->link         = $request->link[$i];
            $menu->parent       = $request->parent[$i];
            $menu->target       = $request->target[$i];
            $menu->position     = $request->position[$i];
            $menu->status       = $request->status[$i];
            $menu->save();
        }
        return redirect()->route('admin.menu.bar.list')->with('message', 'Menu added successfully.');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function edit(int $id) {
		
		$typemenus = TypeMenu::pluck('label', 'label')->all();
        $menu = TypeMenu::find($id);
        $links['Same-Website'] = Creator::pluck('title','slug')->all();
        $links['Other-Website'] = OtherWebsiteLink::pluck('label','link')->all();
        // Fetch all the categories list
        $links['Categories'] = DB::table('categories')
        	->where(['status' => '1'])
        	->where('name', '!=', 'Oil')
        	->orderBy('id', 'asc')
        	->pluck('name', 'slug')
        	->all();
        return view(
            'admin.menu-bar.edit', [
                'menu' => $menu,
                'links' => $links,
			    'typemenus' => $typemenus
            ]
        );
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  UpdateMenuBarRequest $request
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function update(UpdateMenuBarRequest $request, int $id) {
        $currentData = $this->menuBarRepo->findMenuBarById($id);
        $currentDataRepo = new MenuBarRepository($currentData);
        $data = $request->all();     
        $newData = $currentDataRepo->updateMenuBar($data);
        return redirect()->route('admin.menu.bar.list')->with('message', 'Menu updated successfully.');
    }


    public function updateMenu(UpdateMenuBarRequest $request, int $id) {
        $data = $request->all();
		$type_menu = TypeMenu::where('id',$id)->first();
        if($type_menu){
            for ($i=0; $i < sizeof($request->label); $i++) { 
                if (!empty($request->menu_id[$i])) {
                    $menu = $this->menuBarRepo->findMenuBarById($request->menu_id[$i]);
                } else {
                    $menu = new MenuBar;
                    $menu->type_menu = $type_menu->label;
                }
                $menu->label        = $request->label[$i];
                $menu->link         = $request->link[$i];
                $menu->parent       = $request->parent[$i];
                $menu->target       = $request->target[$i];
                $menu->position     = $request->position[$i];
                $menu->status       = $request->status[$i];
                $menu->type_menu    = $type_menu->label;
                $menu->save();
            }    
        }
        return redirect()->route('admin.menu.bar.list')->with('message', 'Menu updated successfully.');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int $id
     *
     * @return \Illuminate\Http\Response
     */
    public function destroy(Request $request, int $id) {
        $id = $request->id;
        $currentData = $this->menuBarRepo->findMenuBarById($id);
        $currentDataRepo = new MenuBarRepository($currentData);
        $currentDataRepo->deleteMenuBar();
        return redirect()->back();
    }

    public function destroyMenu(Request $request) {
        $currentData = $this->menuBarRepo->findMenuBarById($request->id);
        $currentDataRepo = new MenuBarRepository($currentData);
        $currentDataRepo->deleteMenuBar();
        echo "Menu deleted.";
    }

    public function parentMenu(Request $request) {
		
        $parentmenus = MenuBar::where('type_menu', $request->type_menu)
            ->where('label', 'like', '%' . $request->keyword . '%')
            ->where('status','active')
            ->where('parent', 'Yes')
            ->get();
        if($parentmenus) {
          ?>
          <ul>
           <?php
           foreach($parentmenus as $parentmenu) {
             ?>
             <li onClick="selectMenuType('<?php echo $parentmenu->label; ?>');"><?php echo $parentmenu->label; ?></li>
           <?php } ?>
         </ul>
         <?php 
       }
    }
}

Spamworldpro Mini