shell bypass 403
<?php namespace Modules\Jobs\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Routing\Controller; use Illuminate\Support\Str; use Modules\Jobs\Entities\CareerLevel; use Modules\Jobs\Entities\Company; use Modules\Jobs\Entities\DegreeLevel; use Modules\Jobs\Entities\FunctionalArea; use Modules\Jobs\Entities\Gender; use Modules\Jobs\Entities\Job; use Modules\Jobs\Entities\JobExperience; use Modules\Jobs\Entities\JobShift; use Modules\Jobs\Entities\JobType; use Modules\Jobs\Entities\SalaryPeriod; use Modules\Location\Entities\City; class EmployerJobsController extends Controller { public function index(Request $request) { $company = $request->user()->company()->firstOrFail(); $data = $company->jobs()->orderBy('created_at', 'DESC'); if ($request->filled('search')) { $data->where('title', 'like', '%' . $request->search . '%'); } $data = $data->paginate(10); return view('jobs::employer_jobs.index', compact('data')); } public function create(Request $request) { $cities = City::active()->get(); $careerLevels = CareerLevel::active()->get(); $salaryPeriods = SalaryPeriod::active()->get(); $functionalAreas = FunctionalArea::active()->get(); $genders = Gender::active()->get(); $jobTypes = JobType::active()->get(); $jobShifts = JobShift::active()->get(); $degreeLevels = DegreeLevel::active()->get(); $jobExperiences = JobExperience::active()->get(); return view('jobs::employer_jobs.create', compact('cities', 'careerLevels', 'salaryPeriods', 'functionalAreas', 'genders', 'jobTypes', 'jobShifts', 'degreeLevels', 'jobExperiences')); } public function store(Request $request) { $request->validate([ 'title' => 'required', 'city_id' => 'required', 'description' => 'required', 'responbilities' => 'required', 'requirements' => 'required' ]); $inputData = $request->all(); $company = $request->user()->company()->firstOrFail(); $inputData['company_id'] = $company->id; !$request->filled('is_active') ? $inputData['is_active'] = false : $inputData['is_active'] = true; !$request->filled('is_featured') ? $inputData['is_featured'] = false : $inputData['is_featured'] = true; !$request->filled('is_freelance') ? $inputData['is_freelance'] = false : $inputData['is_freelance'] = true; !$request->filled('hide_salary') ? $inputData['hide_salary'] = false : $inputData['hide_salary'] = true; $item = Job::create($inputData); $item->slug = Str::slug($item->title, '-') . '-' . $item->id; $item->update(); return redirect() ->route('company.jobs.index') ->with('success', __('Created successfully')); } public function edit(Request $request, $id) { $company = $request->user()->company()->firstOrFail(); $job = $company->jobs()->findOrFail($id); $cities = City::active()->get(); $careerLevels = CareerLevel::active()->get(); $salaryPeriods = SalaryPeriod::active()->get(); $functionalAreas = FunctionalArea::active()->get(); $genders = Gender::active()->get(); $jobTypes = JobType::active()->get(); $jobShifts = JobShift::active()->get(); $degreeLevels = DegreeLevel::active()->get(); $jobExperiences = JobExperience::active()->get(); return view('jobs::employer_jobs.edit', compact('job', 'cities', 'careerLevels', 'salaryPeriods', 'functionalAreas', 'genders', 'jobTypes', 'jobShifts', 'degreeLevels', 'jobExperiences')); } public function update(Request $request, $id) { $request->validate([ 'title' => 'required', 'city_id' => 'required', 'description' => 'required', 'responbilities' => 'required', 'requirements' => 'required' ]); $inputData = $request->all(); $company = $request->user()->company()->firstOrFail(); $item = $company->jobs()->findOrFail($id); $inputData['company_id'] = $company->id; $inputData['slug'] = Str::slug($inputData['title'], '-') . '-' . $item->id; !$request->filled('is_active') ? $inputData['is_active'] = false : $inputData['is_active'] = true; !$request->filled('is_featured') ? $inputData['is_featured'] = false : $inputData['is_featured'] = true; !$request->filled('is_freelance') ? $inputData['is_freelance'] = false : $inputData['is_freelance'] = true; !$request->filled('hide_salary') ? $inputData['hide_salary'] = false : $inputData['hide_salary'] = true; $item->update($inputData); return redirect() ->back() ->with('success', __('Updated successfully')); } public function destroy(Request $request, $id) { $company = $request->user()->company()->firstOrFail(); $item = $company->jobs()->findOrFail($id); $item->delete(); return redirect()->route('company.jobs.index') ->with('success', __('Deleted successfully')); } }