Файловый менеджер - Редактировать - /home/clickysoft/public_html/travel-guru.clickysoft.net/app/Repositories/BadgeRepository.php
Назад
<?php namespace App\Repositories; use App\Interfaces\BadgeRepositoryInterface; use App\Models\Badge; use Yajra\DataTables\Facades\DataTables; class BadgeRepository implements BadgeRepositoryInterface { public function getAllBadges() { return Badge::where('id', 1)->get(); } public function getBadge($id) { return Badge::findOrFail($id); } public function create($req) { $category = Badge::create($req->all()); if ($req->hasFile('badge_image')) { $category->addMedia($req->file('badge_image')) ->toMediaCollection('badge_image'); } return $category; } public function update($id, $req) { $category = Badge::where('id', $id)->first(); if (!empty($category)) { $category->update($req->all()); if ($req->hasFile('badge_image')) { $category->clearMediaCollection('badge_image'); $category->addMedia($req->file('badge_image')) ->toMediaCollection('badge_image'); } return redirect()->route('badges')->with('success_msg', 'Badge successfully updated.'); } return redirect()->back()->withInput()->with('error_msg', 'Badge not found.'); } public function getDataTable() { $query = Badge::query(); return Datatables::of($query) ->filter(function ($instance) { $search = request('search')['value']; if (!empty($search)) { $instance->where(function ($w) use ($search) { $w->orWhere('title', 'LIKE', "%$search%"); if (strtolower($search) === "active") { $w->orWhere('status', 1); } elseif (strtolower($search) === "inactive") { $w->orWhere('status', 0); } }); } }) ->editColumn('badge_image', function ($badge) { $imageUrl = $badge->getFirstMediaUrl('badge_image') ?: asset('assets/admin/images/default_badge.png'); return '<img src="' . $imageUrl . '" alt="' . $badge->title . '" class="img-thumbnail" width="50">'; }) ->addColumn('action', function ($obj) { $buttons = '<div class="btn-group"> <a class="btn btn-success btn-sm redirect-btn" href="' . route('badge.update', $obj->id) . '">Edit</a> <button class="btn btn-danger btn-sm redirect-btn" onclick="deleteData(`'. route('badge.delete', $obj->id).'`)">Delete</button> </div>'; return $buttons; })->rawColumns(['badge_image','action'])->make(true); } public function changeStatus($categoryId) { $msg = 'Something went wrong.'; $code = 400; $category = $this->getBadge($categoryId); if (!empty($category)) { $category->update([ 'status' => !$category->status ]); $msg = "Badge status successfully changed."; $code = 200; } return response()->json(['msg' => $msg], $code); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка