Файловый менеджер - Редактировать - /home/clickysoft/public_html/charliapp-v2.clickysoft.net/app/Http/Controllers/Admin/BrainstormController.php
Назад
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Http\Controllers\Traits\MediaUploadingTrait; use App\Http\Requests\MassDestroyBrainstormRequest; use App\Http\Requests\AdminBrainstormRequest; use App\Models\Book; use App\Models\Brainstorm; use App\Models\Color; use App\Models\Series; 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 BrainstormController extends Controller { use MediaUploadingTrait; public function index(Request $request) { abort_if(Gate::denies('brainstorm_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($request->ajax()) { $query = Brainstorm::with(['user', 'series', 'book', 'color'])->select(sprintf('%s.*', (new Brainstorm())->table)); $table = Datatables::of($query); $table->addColumn('placeholder', ' '); $table->addColumn('actions', ' '); $table->editColumn('actions', function ($row) { $viewGate = 'brainstorm_show'; $editGate = 'brainstorm_edit'; $deleteGate = 'brainstorm_delete'; $crudRoutePart = 'brainstorms'; $tableName = 'brainstorms'; 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->addColumn('series_series_name', function ($row) { return $row->series ? $row->series->series_name : ''; }); $table->addColumn('book_book_name', function ($row) { return $row->book ? $row->book->book_name : ''; }); $table->editColumn('brainstorm_name', function ($row) { return $row->brainstorm_name; }); // $table->editColumn('description', function ($row) { // return $row->description ? $row->description : ''; // }); $table->addColumn('color_color', function ($row) { return $row->color ? '<span class="color-block"><span style="background-color: ' . $row->color->color_code . '"></span>' . $row->color->color . '</span>' : ''; })->escapeColumns('color_color'); $table->editColumn('audio_file', function ($row) { return $row->audio_file ? '<audio style="width:230px" controls><source src="' . asset("storage/audio/" . $row->audio_file) . '" type="audio/mp3">Your browser does not support the audio element.</audio>' : ''; //<br /><a href="' . asset("storage/audio/" . $row->audio_file) . '" target="_blank">' . trans('global.downloadFile') . '</a> }); $table->editColumn('status', function ($row) { return '<span id="recordSts' . $row->id . '"><i class="sts fa fa-' . ($row->status == 1 ? "check" : "times") . '"></i> ' . Brainstorm::STATUS_RADIO[$row->status] . '</span>'; }); $table->rawColumns(['actions', 'placeholder', 'user', 'series', 'book', 'color', 'audio_file']); return $table->make(true); } $users = User::get(); $seriess = []; //Series::get(); $books = []; //Book::get(); $colors = Color::get(); return view('admin.brainstorms.index', compact('users', 'seriess', 'books', 'colors')); } public function create() { abort_if(Gate::denies('brainstorm_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $series = ["" => trans('global.pleaseSelect')]; $books = ["" => trans('global.pleaseSelect')]; $colors = Color::select("id", "color", "color_code", "foreground_color")->get(); return view('admin.brainstorms.create', compact('books', 'colors', 'series', 'users')); } public function store(AdminBrainstormRequest $request) { abort_if(Gate::denies('brainstorm_create'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $brainstorm = Brainstorm::create($request->all()); // if ($request->input('audio_file', false)) { // $brainstorm->addMedia(storage_path('tmp/uploads/' . basename($request->input('audio_file'))))->toMediaCollection('audio_file'); // } if ($request->hasFile('audio_file')) { $audio_file = $request->file('audio_file'); $filename = "brainstorm-" . $brainstorm->id . '-' . time() . '.' . $audio_file->getClientOriginalExtension(); $location = public_path('storage/audio/'); $audio_file->move($location, $filename); $brainstorm->audio_file = $filename; $brainstorm->save(); } if ($media = $request->input('ck-media', false)) { Media::whereIn('id', $media)->update(['model_id' => $brainstorm->id]); } return redirect()->route('admin.brainstorms.index'); } public function edit(Brainstorm $brainstorm) { abort_if(Gate::denies('brainstorm_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $users = User::pluck('name', 'id')->prepend(trans('global.pleaseSelect'), ''); $series = Series::whereUserId($brainstorm->user_id)->pluck('series_name', 'id')->prepend(trans('global.pleaseSelect'), ''); $books = Book::whereSeriesId($brainstorm->series_id)->pluck('book_name', 'id')->prepend(trans('global.pleaseSelect'), ''); $colors = Color::select("id", "color", "color_code", "foreground_color")->get(); return view('admin.brainstorms.edit', compact('books', 'brainstorm', 'colors', 'series', 'users')); } public function update(AdminBrainstormRequest $request, Brainstorm $brainstorm) { abort_if(Gate::denies('brainstorm_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $brainstorm->update($request->all()); if ($request->hasFile('audio_file')) { $audio_file = $request->file('audio_file'); // $mimeType = $audio_file->getClientmimeType(); if (!empty($brainstorm->audio_file) && \Storage::disk('public')->exists('audio/' . $brainstorm->audio_file)) { \Storage::disk('public')->delete('audio/' . $brainstorm->audio_file); } $filename = "brainstorm-" . $brainstorm->id . '-' . time() . '.' . $audio_file->getClientOriginalExtension(); $location = public_path('storage/audio/'); $audio_file->move($location, $filename); $brainstorm->audio_file = $filename; $brainstorm->save(); } // if ($request->input('audio_file', false)) { // if (!$brainstorm->audio_file || $request->input('audio_file') !== $brainstorm->audio_file->file_name) { // if ($brainstorm->audio_file) { // $brainstorm->audio_file->delete(); // } // $brainstorm->addMedia(storage_path('tmp/uploads/' . basename($request->input('audio_file'))))->toMediaCollection('audio_file'); // } // } elseif ($brainstorm->audio_file) { // $brainstorm->audio_file->delete(); // } return redirect()->route('admin.brainstorms.index'); } public function show(Brainstorm $brainstorm) { abort_if(Gate::denies('brainstorm_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $brainstorm->load('user', 'series', 'book', 'color'); return view('admin.brainstorms.show', compact('brainstorm')); } public function destroy(Brainstorm $brainstorm) { abort_if(Gate::denies('brainstorm_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); try { $brainstorm->delete(); } catch (\Illuminate\Database\QueryException $ex) { return redirect()->back()->withErrors("Record could not be deleted because selected resource is being used."); } return back(); } public function massDestroy(MassDestroyBrainstormRequest $request) { try { Brainstorm::whereIn('id', request('ids'))->delete(); } catch (\Illuminate\Database\QueryException $ex) { return redirect()->back()->withErrors("Record could not be deleted because selected resource is being used."); } return response(null, Response::HTTP_NO_CONTENT); } public function storeCKEditorImages(Request $request) { abort_if(Gate::denies('brainstorm_create') && Gate::denies('brainstorm_edit'), Response::HTTP_FORBIDDEN, '403 Forbidden'); $model = new Brainstorm(); $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
|
Настройка