shell bypass 403
<?php namespace Modules\FrontendManage\Http\Controllers; use Brian2694\Toastr\Facades\Toastr; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Modules\CourseSetting\Entities\Category; use Modules\CourseSetting\Entities\Course; use Modules\CourseSetting\Entities\SubCategory; use Modules\FrontendManage\Entities\FrontPage; use Modules\FrontendManage\Entities\HeaderMenu; class HeaderMenuController extends Controller { public function index() { try { $allPages = FrontPage::all(); $pages = $allPages->where('is_static', 0); $static_pages = $allPages->where('is_static', 1); $topics = Course::whereStatus('1')->get(); $courses = $topics->where('type', 1); $quizzes = $topics->where('type', 2); $classes = $topics->where('type', 3); $categories = Category::whereStatus('1')->get(); $subCategories = SubCategory::whereStatus('1')->get(); $menus = HeaderMenu::where('parent_id', NULL)->with('childs')->orderBy('position')->get(); return view('frontendmanage::headermenu.index', compact('pages', 'static_pages', 'courses', 'quizzes', 'classes', 'categories', 'subCategories', 'menus')); } catch (\Exception $e) { GettingError($e->getMessage(), url()->current(), request()->ip(), request()->userAgent()); } } public function addElement(Request $request) { try { $position = HeaderMenu::count() + 1; if ($request->type == "Dynamic Page") { foreach ($request->element_id as $data) { $dpage = FrontPage::findOrFail($data); HeaderMenu::create([ 'title' => $dpage->title, 'type' => $request->type, 'element_id' => $data, 'link' => \route('frontPage', [$dpage->slug]), 'position' => $position ]); } } elseif ($request->type == "Static Page") { foreach ($request->element_id as $data) { $spage = FrontPage::findOrFail($data); HeaderMenu::create([ 'title' => $spage->title, 'type' => $request->type, 'link' => url($spage->slug), 'element_id' => $data, 'position' => $position ]); } } elseif ($request->type == "Category") { foreach ($request->element_id as $data) { $item = Category::findOrFail($data); HeaderMenu::create([ 'title' => $item->name, 'type' => $request->type, 'element_id' => $data, 'link' => route('courses') . "?category=" . $data, 'position' => $position ]); } } elseif ($request->type == "Sub Category") { foreach ($request->element_id as $data) { $item = SubCategory::findOrFail($data); HeaderMenu::create([ 'title' => $item->name, 'type' => $request->type, 'element_id' => $data, 'link' => route('courses') . "?category=" . $item->category_id, 'position' => $position ]); } } elseif ($request->type == "Course") { foreach ($request->element_id as $data) { $item = Course::findOrFail($data); HeaderMenu::create([ 'title' => $item->title, 'type' => $request->type, 'element_id' => $data, 'link' => route('courseDetailsView', [$item->slug]), 'position' => $position ]); } } elseif ($request->type == "Quiz") { // $data = $request->element_id; foreach ($request->element_id as $data) { $item = Course::findOrFail($data); HeaderMenu::create([ 'title' => $item->title, 'type' => $request->type, 'element_id' => $data, 'link' => route('quizDetailsView', [$item->slug]), 'position' => $position ]); } } elseif ($request->type == "Class") { foreach ($request->element_id as $data) { $item = Course::findOrFail($data); HeaderMenu::create([ 'title' => $item->title, 'type' => $request->type, 'element_id' => $data, 'link' => route('classDetails', [$item->slug]), 'position' => $position ]); } } elseif ($request->type == "Custom Link") { HeaderMenu::create([ 'title' => $request->title, 'link' => $request->link, 'type' => $request->type, 'position' => $position ]); } return $this->reloadWithData(); } catch (\Exception $e) { Toastr::error('Operation Failed', 'Failed'); return $this->reloadWithData(); } } public function reordering(Request $request) { $menuItemOrder = json_decode($request->get('order')); $this->orderMenu($menuItemOrder, null); return true; } private function orderMenu(array $menuItems, $parentId) { foreach ($menuItems as $index => $item) { $menuItem = HeaderMenu::findOrFail($item->id); $menuItem->update([ 'position' => $index + 1, 'parent_id' => $parentId ]); if (isset($item->children)) { $this->orderMenu($item->children, $menuItem->id); } } } public function deleteElement(Request $request) { try { $element = HeaderMenu::find($request->id); if (count($element->childs) > 0) { foreach ($element->childs as $child) { $child->update(['parent_id' => $element->parent_id]); } } $element->delete(); return $this->reloadWithData(); } catch (\Exception $e) { return response('error'); } } private function reloadWithData() { $pages = FrontPage::where('is_static', 0)->get(); $static_pages = FrontPage::where('is_static', 1)->get(); $courses = Course::whereType(1)->whereStatus('1')->get(); $quizzes = Course::whereType(2)->whereStatus('1')->get(); $classes = Course::whereType(3)->whereStatus('1')->get(); $categories = Category::whereStatus('1')->get(); $subCategories = SubCategory::whereStatus('1')->get(); $menus = HeaderMenu::where('parent_id', NULL)->with('childs')->orderBy('position')->get(); return view('frontendmanage::headermenu.submenu_list', compact('pages', 'static_pages', 'courses', 'quizzes', 'classes', 'categories', 'subCategories', 'menus')); } public function editElement(Request $request) { $menu = HeaderMenu::find($request->get('id')); if ($menu) { if (!empty($request->title)) { foreach ($request->title as $key => $title) { $menu->setTranslation('title', $key, $title); } } $menu->link = $request->link; $menu->show = $request->from_bank_name; $menu->mega_menu = $request->mega_menu; $menu->mega_menu_column = $request->mega_menu_column; if (!isset($request->is_newtab)) { $menu->is_newtab = 0; } else { $menu->is_newtab = $request->is_newtab; } if (!empty($menu->parent_id)) { $menu->mega_menu = 0; } $menu->save(); } return $this->reloadWithData(); } }