Файловый менеджер - Редактировать - /home/clickysoft/public_html/charliapp-v2.clickysoft.net/app/Http/Controllers/Admin/UserGalleryController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Controllers\Traits\MediaUploadingTrait; use App\Http\Requests\MassDestroyUserGalleryRequest; use App\Http\Requests\AdminStoreUserGalleryRequest; use App\Http\Requests\AdminUpdateUserGalleryRequest; use App\Models\User; use App\Models\UserGallery; use Gate; use Illuminate\Http\Request; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; class UserGalleryController extends Controller { use MediaUploadingTrait; public function index(Request $request) { abort_if(Gate::denies('user_gallery_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = UserGallery::with(['user'])->select(sprintf('%s.*', (new UserGallery())->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'user_gallery_show'; $editGate = 'user_gallery_edit'; $deleteGate = 'user_gallery_delete'; $crudRoutePart = 'user-galleries'; $tableName = 'user_galleries'; return view('partials.datatablesActions', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row', 'tableName', )); }); $table->editColumn('id', function ($row) { return $row->id; }); $table->addColumn('user_name', function ($row) { return $row->user->name; }); $table->editColumn('image', function ($row) { return !empty($row->image) ? '<a href="' . $row->image_url . '" target="_blank">' . $row->image . '</a>' : ''; }); $table->editColumn('status', function ($row) { return '<span id="recordSts' . $row->id . '"><i class="sts fa fa-' . ($row->status == 1 ? "check" : "times") . '"></i> ' . UserGallery::STATUS_RADIO[$row->status] . '</span>'; }); $table->rawColumns(['actions', 'placeholder', 'user', 'image', 'status']); return $table->make(true); } $users = User::get(); return view('admin.userGalleries.index', compact('users')); } public function create() { abort_if(Gate::denies('user_gallery_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); return view('admin.userGalleries.create', compact('users')); } public function store(AdminStoreUserGalleryRequest $request) { $userGallery = UserGallery::create(["user_id" => $request->input("user_id")]); $image = $request->file('image'); $fname = explode(".", $image->getClientOriginalName()); $ext = end($fname); array_pop($fname); $filename = implode(".", $fname); $filename = $filename . '-' . $userGallery->id . "." . $ext; $dir_path = public_path('storage/gallery/' . $request->input("user_id")); if (!file_exists($dir_path)) { mkdir($dir_path, 0755, true); } $image->move($dir_path, $filename); $userGallery->image = $filename; $userGallery->save(); return redirect()->route('admin.user-galleries.index'); } public function edit(UserGallery $userGallery) { abort_if(Gate::denies('user_gallery_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $userGallery->load('user'); return view('admin.userGalleries.edit', compact('userGallery', 'users')); } public function update(AdminUpdateUserGalleryRequest $request, UserGallery $userGallery) { $galleryData = ["user_id" => $request->input("user_id")]; if ($request->hasFile("image")) { $image = $request->file('image'); $fname = explode(".", $image->getClientOriginalName()); $ext = end($fname); array_pop($fname); $filename = implode(".", $fname); $filename = $filename . '-' . $userGallery->id . "." . $ext; $dir_path = public_path('storage/gallery/' . $request->input("user_id")); if (!file_exists($dir_path)) { mkdir($dir_path, 0755, true); } if (!empty($userGallery->image) && is_file($dir_path . '/' . $userGallery->image)) { unlink($dir_path . '/' . $userGallery->image); } $image->move($dir_path, $filename); $galleryData["image"] = $filename; } $userGallery->update($galleryData); return redirect()->route('admin.user-galleries.index'); } public function show(UserGallery $userGallery) { abort_if(Gate::denies('user_gallery_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $userGallery->load('user'); return view('admin.userGalleries.show', compact('userGallery')); } public function destroy(UserGallery $userGallery) { abort_if(Gate::denies('user_gallery_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $dir_path = public_path('storage/gallery/' . $userGallery->user_id); if (!empty($userGallery->image) && is_file($dir_path . '/' . $userGallery->image)) { unlink($dir_path . '/' . $userGallery->image); } $userGallery->delete(); return back(); } public function massDestroy(MassDestroyUserGalleryRequest $request) { $galleries = UserGallery::whereIn('id', request('ids'))->get(); foreach ($galleries as $userGallery) { $dir_path = public_path('storage/gallery/' . $userGallery->user_id); if (!empty($userGallery->image) && is_file($dir_path . '/' . $userGallery->image)) { unlink($dir_path . '/' . $userGallery->image); } } UserGallery::whereIn('id', request('ids'))->delete(); return response(null, Response::HTTP_NO_CONTENT); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка