![]() 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/ |
<?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 } } }