Файловый менеджер - Редактировать - /home/clickysoft/public_html/charliapp-v2.clickysoft.net/app/Http/Controllers/Admin/GroupController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Controllers\Traits\MediaUploadingTrait; use App\Http\Requests\MassDestroyGroupRequest; use App\Http\Requests\StoreGroupRequest; use App\Http\Requests\UpdateGroupRequest; use App\Models\Group; use App\Models\User; use Gate; use Illuminate\Http\Request; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Symfony\Component\HttpFoundation\Response; use Yajra\DataTables\Facades\DataTables; class GroupController extends Controller { use MediaUploadingTrait; public function index(Request $request) { abort_if(Gate::denies('group_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = Group::with(['user', 'members'])->select(sprintf('%s.*', (new Group())->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'group_show'; $editGate = 'group_edit'; $deleteGate = 'group_delete'; $crudRoutePart = 'groups'; return view('partials.datatablesActions', compact( 'viewGate', 'editGate', 'deleteGate', 'crudRoutePart', 'row' )); }); $table->editColumn('id', function ($row) { return $row->id ? $row->id : ''; }); $table->addColumn('user_name', function ($row) { return $row->user ? $row->user->name : ''; }); $table->editColumn('group_name', function ($row) { return $row->group_name ? $row->group_name : ''; }); $table->editColumn('group_icon', function ($row) { if ($photo = $row->group_icon) { return sprintf( '<a href="%s" target="_blank"><img src="%s" width="50px" height="50px"></a>', $photo->url, $photo->thumbnail ); } return ''; }); $table->editColumn('members', function ($row) { $labels = []; foreach ($row->members as $member) { $labels[] = sprintf('<span class="label label-info label-many">%s</span>', $member->name); } return implode(' ', $labels); }); $table->rawColumns(['actions', 'placeholder', 'user', 'group_icon', 'members']); return $table->make(true); } $users = User::get(); return view('admin.groups.index', compact('users')); } public function create() { abort_if(Gate::denies('group_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $members = User::pluck('name', 'id'); return view('admin.groups.create', compact('members', 'users')); } public function store(StoreGroupRequest $request) { $group = Group::create($request->all()); $group->members()->sync($request->input('members', [])); if ($request->input('group_icon', false)) { $group->addMedia(storage_path('tmp/uploads/' . basename($request->input('group_icon'))))->toMediaCollection('group_icon'); } if ($media = $request->input('ck-media', false)) { Media::whereIn('id', $media)->update(['model_id' => $group->id]); } return redirect()->route('admin.groups.index'); } public function edit(Group $group) { abort_if(Gate::denies('group_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $members = User::pluck('name', 'id'); $group->load('user', 'members'); return view('admin.groups.edit', compact('group', 'members', 'users')); } public function update(UpdateGroupRequest $request, Group $group) { $group->update($request->all()); $group->members()->sync($request->input('members', [])); if ($request->input('group_icon', false)) { if (!$group->group_icon || $request->input('group_icon') !== $group->group_icon->file_name) { if ($group->group_icon) { $group->group_icon->delete(); } $group->addMedia(storage_path('tmp/uploads/' . basename($request->input('group_icon'))))->toMediaCollection('group_icon'); } } elseif ($group->group_icon) { $group->group_icon->delete(); } return redirect()->route('admin.groups.index'); } public function show(Group $group) { abort_if(Gate::denies('group_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $group->load('user', 'members'); return view('admin.groups.show', compact('group')); } public function destroy(Group $group) { abort_if(Gate::denies('group_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $group->delete(); return back(); } public function massDestroy(MassDestroyGroupRequest $request) { Group::whereIn('id', request('ids'))->delete(); return response(null, Response::HTTP_NO_CONTENT); } public function storeCKEditorImages(Request $request) { abort_if(Gate::denies('group_create') && Gate::denies('group_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $model = new Group(); $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
|
Настройка