Файловый менеджер - Редактировать - /home/c7lekhnath/silverray.com.au/Modules/CustomPage/app/Http/Controllers/CustomPageController.php
Назад
<?php namespace Modules\CustomPage\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\Http\RedirectResponse; use Modules\Language\app\Models\Language; use Modules\CustomPage\app\Models\CustomPage; use Modules\Language\app\Enums\TranslationModels; use Modules\Language\app\Traits\GenerateTranslationTrait; use Modules\CustomPage\app\Http\Requests\CustomPageRequest; class CustomPageController extends Controller { use RedirectHelperTrait, GenerateTranslationTrait; /** * Display a listing of the resource. */ public function index(Request $request) { checkAdminHasPermissionAndThrowException('custom.page.view'); $query = CustomPage::query(); $query->when($request->filled('keyword'), function ($qa) use ($request) { $qa->whereHas('translations', function ($q) use ($request) { $q->where('page_name', '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')) { $custom_pages = $request->get('par-page') == 'all' ? $query->orderBy( 'id', $orderBy )->get() : $query->orderBy( 'id', $orderBy )->paginate($request->get('par-page'))->withQueryString(); } else { $custom_pages = $query->orderBy( 'id', $orderBy )->paginate()->withQueryString(); } return view('custompage::index', compact('custom_pages')); } /** * Show the form for creating a new resource. */ public function create() { checkAdminHasPermissionAndThrowException('custom.page.create'); return view('custompage::create'); } /** * Store a newly created resource in storage. */ public function store(CustomPageRequest $request): RedirectResponse { checkAdminHasPermissionAndThrowException('custom.page.store'); $validated_date = $request->validated(); $custom_page = CustomPage::create($validated_date); $this->generateTranslations( TranslationModels::CustomPage, $custom_page, 'page_id', $request, ); return $this->redirectWithMessage( RedirectType::CREATE->value, 'admin.custom-page.edit', [ 'custom_page' => $custom_page->id, 'code' => allLanguages()->first()->code ] ); } /** * Show the specified resource. */ public function show($id) { return view('custompage::show'); } /** * Show the form for editing the specified resource. */ public function edit($id) { checkAdminHasPermissionAndThrowException('custom.page.edit'); $code = request('code') ?? getSessionLanguage(); if (!Language::where('code', $code)->exists()) { abort(404); } $custom_page = CustomPage::findOrFail($id); $languages = allLanguages(); return view('custompage::edit', compact('custom_page','languages','code')); } /** * Update the specified resource in storage. */ public function update(CustomPageRequest $request, $id): RedirectResponse { checkAdminHasPermissionAndThrowException('custom.page.update'); $languages = allLanguages(); $validated_date = $request->validated(); $custom_page = CustomPage::findOrFail($id); $custom_page->update($validated_date); $this->updateTranslations( $custom_page, $request, $validated_date, ); return $this->redirectWithMessage( RedirectType::UPDATE->value, 'admin.custom-page.edit', [ 'custom_page' => $custom_page->id, 'code' => $request->code, ] ); } public function statusUpdate($id) { checkAdminHasPermissionAndThrowException('custom.page.status'); $custom_page = CustomPage::find($id); $status = $custom_page->status == 'enable' ? 'disable' : 'enable'; $custom_page->status = $status; $custom_page->save(); $notification = trans('Updated Successfully'); return response()->json([ 'success' => true, 'message' => $notification, ]); } /** * Remove the specified resource from storage. */ public function destroy($id) { checkAdminHasPermissionAndThrowException('custom.page.delete'); $custom_page = CustomPage::findOrFail($id); $custom_page->translations()->each(function ($translation) { $translation->delete(); }); $custom_page->delete(); return $this->redirectWithMessage(RedirectType::DELETE->value, 'admin.custom-page.index'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.20 | Генерация страницы: 0.4 |
proxy
|
phpinfo
|
Настройка