Файловый менеджер - Редактировать - /home/clickysoft/public_html/somni.clickysoft.net/app/Http/Controllers/Admin/AdController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Controllers\Traits\MediaUploadingTrait; use App\Http\Requests\MassDestroyAdRequest; use App\Http\Requests\StoreAdRequest; use App\Http\Requests\UpdateAdRequest; use App\Models\Ad; use Gate; use Illuminate\Http\Request; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; class AdController extends Controller { use MediaUploadingTrait; public function index(Request $request) { abort_if(Gate::denies('ad_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = Ad::query()->select(sprintf('%s.*', (new Ad)->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'ad_show'; $editGate = 'ad_edit'; $deleteGate = 'ad_delete'; $crudRoutePart = 'ads'; return view('partials.datatablesActionsSlug', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row' )); }); $table->editColumn('id', function ($row) { return $row->id ? $row->id : ''; }); $table->editColumn('title', function ($row) { return $row->title ? $row->title : ''; }); $table->editColumn('slug', function ($row) { return $row->slug ? $row->slug : ''; }); $table->editColumn('role', function ($row) { return $row->role ? $row->role : ''; }); $table->editColumn('heading', function ($row) { return $row->heading ? $row->heading : ''; }); $table->editColumn('description', function ($row) { return $row->description ? $row->description : ''; }); $table->editColumn('image', function ($row) { if ($photo = $row->image) { return sprintf( '<a href="%s" target="_blank"><img src="%s" width="50px" height="50px"></a>', $photo->url, $photo->thumbnail ); } return ''; }); $table->rawColumns(['actions', 'placeholder', 'image']); return $table->make(true); } return view('admin.ads.index'); } public function create() { abort_if(Gate::denies('ad_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return view('admin.ads.create'); } public function store(StoreAdRequest $request) { $ad = Ad::create($request->all()); if ($request->input('image', false)) { $ad->addMedia(storage_path('tmp/uploads/' . basename($request->input('image'))))->toMediaCollection('image'); } if ($media = $request->input('ck-media', false)) { Media::whereIn('id', $media)->update(['model_id' => $ad->id]); } return redirect()->route('admin.ads.index'); } public function edit(Ad $ad) { abort_if(Gate::denies('ad_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return view('admin.ads.edit', compact('ad')); } public function update(UpdateAdRequest $request, Ad $ad) { $ad->update($request->all()); if ($request->input('image', false)) { if (! $ad->image || $request->input('image') !== $ad->image->file_name) { if ($ad->image) { $ad->image->delete(); } $ad->addMedia(storage_path('tmp/uploads/' . basename($request->input('image'))))->toMediaCollection('image'); } } elseif ($ad->image) { $ad->image->delete(); } return redirect()->route('admin.ads.index'); } public function show(Ad $ad) { abort_if(Gate::denies('ad_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return view('admin.ads.show', compact('ad')); } public function destroy(Ad $ad) { abort_if(Gate::denies('ad_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $ad->delete(); return back(); } public function massDestroy(MassDestroyAdRequest $request) { $ads = Ad::find(request('ids')); foreach ($ads as $ad) { $ad->delete(); } return response(null, Response::HTTP_NO_CONTENT); } public function storeCKEditorImages(Request $request) { abort_if(Gate::denies('ad_create') && Gate::denies('ad_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $model = new Ad(); $model->id = $request->input('crud_id', 0); $model->exists = true; $media = $model->addMediaFromRequest('upload')->toMediaCollection('ck-media'); return response()->json(['id' => $media->id, 'url' => $media->getUrl()], Response::HTTP_CREATED); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка