Файловый менеджер - Редактировать - /home/c7lekhnath/silverray.com.au/oldsite/Modules/Career/app/Http/Controllers/CareerController.php
Назад
<?php namespace Modules\Career\app\Http\Controllers; use App\Enums\RedirectType; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Traits\RedirectHelperTrait; use App\Http\Controllers\Controller; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\File; use Illuminate\Http\RedirectResponse; use Modules\Career\app\Models\Career; use Modules\Language\app\Models\Language; use Modules\Career\app\Http\Requests\CareerRequest; use Modules\Career\app\Models\CareerRequest as CareerRequestTable; use Modules\Language\app\Enums\TranslationModels; use Modules\Language\app\Traits\GenerateTranslationTrait; class CareerController extends Controller { use GenerateTranslationTrait, RedirectHelperTrait; public function index(Request $request) { checkAdminHasPermissionAndThrowException('career.view'); Paginator::useBootstrap(); $query = Career::query(); $query->when($request->filled('keyword'), function ($qa) use ($request) { $qa->whereHas('translations', function ($q) use ($request) { $q->where('title', 'like', '%'.$request->keyword.'%'); }); }); $query->when($request->filled('status'), function ($q) use ($request) { $q->where('status', $request->status); }); $orderBy = $request->filled( 'order_by' ) && $request->order_by == 1 ? 'asc' : 'desc'; if ($request->filled('par-page')) { $careers = $request->get('par-page') == 'all' ? $query->orderBy( 'id', $orderBy )->get() : $query->orderBy( 'id', $orderBy )->paginate($request->get('par-page'))->withQueryString(); } else { $careers = $query->orderBy( 'id', $orderBy )->paginate()->withQueryString(); } return view('career::index', compact('careers')); } public function create() { checkAdminHasPermissionAndThrowException('career.create'); return view('career::create'); } public function store(CareerRequest $request) { checkAdminHasPermissionAndThrowException('career.store'); $career = Career::create($request->validated()); if ($career && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $oldPath = null); $career->image = $file_name; $career->save(); } $languages = allLanguages(); $this->generateTranslations( TranslationModels::Career, $career, 'career_id', $request, ); return $this->redirectWithMessage(RedirectType::CREATE->value, 'admin.career.edit', ['career' => $career->id, 'code' => $languages->first()->code]); } public function show($id) { checkAdminHasPermissionAndThrowException('career.view'); return view('career::show'); } public function edit($id) { checkAdminHasPermissionAndThrowException('career.edit'); $code = request('code') ?? getSessionLanguage(); abort_unless(Language::where('code', $code)->exists(), 404); $career = career::with('translation')->findOrFail($id); $languages = allLanguages(); return view('career::edit', compact('career', 'code', 'languages')); } public function update(CareerRequest $request, $id) { checkAdminHasPermissionAndThrowException('career.update'); $career = career::findOrFail($id); $validatedData = $request->validated(); if ($career && $request->hasFile('image')) { $file_name = file_upload($request->image, 'uploads/custom-images/', $oldFile = $career->image); $validatedData['image'] = $file_name; } $career->update($validatedData); $this->updateTranslations( $career, $request, $validatedData, ); return $this->redirectWithMessage(RedirectType::UPDATE->value, 'admin.career.edit', ['career' => $career->id, 'code' => $request->code]); } public function destroy($id) { checkAdminHasPermissionAndThrowException('career.delete'); $career = Career::findOrFail($id); if ($career->image) { if (File::exists(public_path($career->image))) { unlink(public_path($career->image)); } } $career->translations()->each(function ($translation) { $translation->delete(); }); $career_requests = CareerRequestTable::where('career_id', $career->id)->get(); foreach($career_requests as $career_request){ if ($career_request->cv) { if (File::exists(public_path($career_request->cv))) { unlink(public_path($career_request->cv)); } } $career_request->delete(); } $career->delete(); return $this->redirectWithMessage(RedirectType::DELETE->value, 'admin.career.index'); } public function statusUpdate($id) { checkAdminHasPermissionAndThrowException('career.update'); $career = Career::find($id); $status = $career->status == 1 ? 0 : 1; $career->update(['status' => $status]); $notification = __('Updated Successfully'); return response()->json([ 'success' => true, 'message' => $notification, ]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.20 | Генерация страницы: 2.29 |
proxy
|
phpinfo
|
Настройка