shell bypass 403
<?php
namespace Modules\FooterSetting\Http\Controllers;
use App\Http\Controllers\Controller;
use Brian2694\Toastr\Facades\Toastr;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Storage;
use Modules\FooterSetting\Http\Requests\FooterWidgetRequest;
use Modules\FooterSetting\Services\FooterSettingService;
use Modules\FooterSetting\Services\FooterWidgetService;
use Modules\FrontendManage\Entities\FrontPage;
use Modules\Setting\Model\GeneralSetting;
class FooterSettingController extends Controller
{
protected $footerService;
// protected $staticPageService;
protected $widgetService;
public function __construct(FooterSettingService $footerService, FooterWidgetService $widgetService)
{
$this->footerService = $footerService;
// $this->staticPageService = $staticPageService;
$this->widgetService = $widgetService;
}
public function index()
{
try {
$staticPageList = FrontPage::where('status', 1)->get();
$SectionOnePages = $this->widgetService->getAllCompany();
$SectionTwoPages = $this->widgetService->getAllAccount();
$SectionThreePages = $this->widgetService->getAllService();
$SectionFourPages = $this->widgetService->getAllAbout();
$setting = $this->footerService->getAll();
return view('footersetting::footer.index', compact('staticPageList', 'SectionOnePages', 'SectionTwoPages', 'SectionThreePages', 'SectionFourPages', 'setting'));
} catch (Exception $e) {
return $e->getMessage();
}
}
public function widgetStore(Request $request)
{
if (demoCheck()) {
return redirect()->back();
}
$code = auth()->user()->language_code;
$rules = [
'name.' . $code => 'required|max:255',
'category' => 'required',
'page' => 'nullable',
];
$this->validate($request, $rules, validationMessage($rules));
try {
if ($request->page) {
$page = FrontPage::where('slug', $request->page)->first();
} else {
$page = null;
}
if ($page) {
$request->merge(['slug' => $page->slug ?? '#']);
$request->merge(['page_id' => $page->id] ?? 0);
$request->merge(['is_static' => $page->is_static ?? 0]);
$request->merge(['description' => $page->details ?? '']);
} else {
$request->merge(['slug' => '#']);
$request->merge(['page_id' => 0]);
$request->merge(['is_static' => 0]);
$request->merge(['description' => '']);
}
$this->widgetService->save($request->except('_token'));
$notification = array(
'messege' => 'Page Created Successfully.',
'alert-type' => 'success'
);
return redirect()->back()->with($notification);
} catch (Exception $e) {
return $e->getMessage();
}
}
public function widgetStatus(Request $request)
{
if (demoCheck()) {
return redirect()->back();
}
try {
$data = [
'status' => $request->status == 1 ? 0 : 1
];
return $this->widgetService->statusUpdate($data, $request->id);
} catch (Exception $e) {
return $e->getMessage();
}
}
public function widgetUpdate(Request $request)
{
if (demoCheck()) {
return redirect()->back();
}
$code = auth()->user()->language_code;
$rules = [
'name.' . $code => 'required|max:255',
'category' => 'required',
'page' => 'nullable',
];
$this->validate($request, $rules, validationMessage($rules));
try {
if ($request->page) {
$page = FrontPage::where('slug', $request->page)->first();
} else {
$page = null;
}
if ($page) {
$request->merge(['slug' => $page->slug ?? '#']);
$request->merge(['page_id' => $page->id] ?? 0);
$request->merge(['is_static' => $page->is_static ?? 0]);
$request->merge(['description' => $page->details ?? '']);
} else {
$request->merge(['slug' => '#']);
$request->merge(['page_id' => 0]);
$request->merge(['is_static' => 0]);
$request->merge(['description' => '']);
}
$request->merge(['user_id' => Auth::user()->id]);
$this->widgetService->update($request->except('_token'), $request->id ?? 0);
$notification = array(
'messege' => 'Page Updated Successfully.',
'alert-type' => 'success'
);
Toastr::success('Saved Successfully');
return redirect()->back()->with($notification);
} catch (Exception $e) {
return $e->getMessage();
}
}
public function contentUpdate(Request $request)
{
if (demoCheck()) {
return redirect()->back();
}
try {
$result = $this->footerService->update($request->except('_token'), $request->id);
GenerateGeneralSetting(SaasDomain());
return $result;
} catch (Exception $e) {
return $e->getMessage();
}
}
public function destroy($id)
{
if (demoCheck()) {
return redirect()->back();
}
try {
$this->widgetService->delete($id);
$notification = array(
'messege' => 'Page Deleted Successfully.',
'alert-type' => 'success'
);
return redirect()->back()->with($notification);
} catch (Exception $e) {
return $e->getMessage();
}
}
public function tabSelect($id)
{
Session::put('footer_tab', $id);
return 'done';
}
}