Файловый менеджер - Редактировать - /home/clickysoft/public_html/rgr.clickysoft.net/app/Http/Controllers/PracticeController.php
Назад
<?php namespace App\Http\Controllers; use App\Models\InvitationForm; use App\Models\OpeningHour; use App\Models\Practice; use App\Models\PracticeSpeciality; use App\Models\JobTitle; use App\Models\ReferralPatient; use App\Models\Speciality; use App\Models\User; use App\Models\UserDetail; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; use Yajra\DataTables\Facades\DataTables; class PracticeController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } public function index(Request $request) { if (Auth::user()->is_admin == 0) { return redirect('/admin'); } if ($request->ajax()) { $data = Practice::latest()->get(); return Datatables::of($data) ->addIndexColumn() ->addColumn('name', function ($row) { $view = '<div class="table-img-content">'; // $view .= '<img src="' . config('global.practices_upload') . $row['profile_name'] . '" alt="image" class="img-fluid" />'; $view .= '<div class="table-logo-img-cont">'; $view .= '<h6 class="tb-devonshire">'; $view .= '<span>' . $row['name'] . '</span>'; $view .= '</h6>'; $view .= '</div>'; $view .= '</div>'; return $view; }) ->addColumn('location', function ($row) { return $row['address'] . ' <br>' . $row['address_2']; }) ->addColumn('status', function ($row) { return $row['status'] == 1 ? '<span class="badge badge-success">Active</span>' : '<span class="badge badge-danger">Deactive</span>'; }) ->addColumn('is_featured', function ($row) { return $row['is_featured'] == 1 ? '<span class="badge badge-success">Featured</span>' : '<span class="badge badge-danger">Not Featured</span>'; }) ->addColumn('is_hide', function ($row) { return $row['hide'] == 1 ? '<span class="badge badge-danger">Hidden</span>' : '<span class="badge badge-success">Shown</span>'; }) ->addColumn('opening', function ($row) { $openingHours = OpeningHour::getByPracticeId($row['id']); $view = ''; foreach ($openingHours as $openHour) { if ($openHour->opening_hour != null) { $view .= $openHour->day . " : " . $openHour->opening_hour . " to " . $openHour->closing_hour . " <br>"; } } return $view; }) ->addColumn('action', function ($row) { $view = '<div class="table-icon-btns">'; $view .= '<a href="/practice/' . $row['id'] . '" target="_blank"><img src="/public/assets/images/tb1.png" alt="image" class="img-fluid" /></a>'; $view .= '<a href="javascript::void;" id="' . $row['id'] . '" class="status' . $row['status'] . '"><img src="/public/assets/images/tb2.png" alt="image" class="img-fluid" /></a>'; $view .= '<a href="/admin/practices/' . $row['id'] . '/edit"><img src="/public/assets/images/tb3.png" alt="image" class="img-fluid" /></a>'; $view .= '<a href="javascript::void;" id="' . $row['id'] . '" class="delete"><img src="/public/assets/images/tb4.png" alt="image" class="img-fluid" /></a>'; $view .= '</div>'; return $view; }) ->rawColumns(['opening', 'action', 'name', 'location', 'status', 'is_featured','is_hide']) ->make(true); } $practices = Practice::latest()->paginate(5); $specialities = Speciality::where('status', 'Active')->get(); return view('practices.index', compact('practices', 'specialities')) ->with('i', (request()->input('page', 1) - 1) * 5); } public function create() { $specialities = Speciality::where('status', 'Active')->get(); return view('practices.create', compact('specialities')); } public function store(Request $request) { // dd($request->all()); $validate_data = [ 'name' => 'required', 'email' => 'required|email:rfc,dns,filter,spoof|unique:practices', 'address' => 'required', 'city' => 'required', 'country' => 'required', 'profile_name' => 'required', 'latitude' => 'required', 'longitude' => 'required', ]; $validator = Validator::make($request->all(),$validate_data); if($validator->fails()) { return response()->json([ 'status' => false, 'error' => $validator->errors() ], 422); }else { $data = $request->all(); $imageName = time() . '.' . $request->profile_name->extension(); $request->profile_name->move(public_path('profiles/practices'), $imageName); $practice = new Practice; $practice->name = $request->name; $practice->email = $request->email; $practice->phone = $request->phone; $practice->address = $request->address; $practice->address_2 = $request->address_2; $practice->city = $request->city; $practice->country = $request->country; $practice->zip_code = $request->zip_code; $practice->description = $request->description; $practice->latitude = $request->latitude; $practice->longitude = $request->longitude; $practice->profile_name = $imageName; $practice->status = 1; $practice->is_featured = $request->gold_status == 'on' ? 1 : 0; $practice->other_info = $request->other_info; $practice->hide = $request->hide_show == 'on' ? 1 : 0; $practice->other_emails = $request->other_emails; $practice->save(); $days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; for ($i = 0; $i < 7; $i++) { OpeningHour::create([ 'day' => $days[$i], 'opening_hour' => $data['opening_hour_' . $i], 'closing_hour' => $data['closing_hour_' . $i], 'practice_id' => $practice->id, ]); } if (!empty($request->speciality)) { foreach ($request->speciality as $value) { $speciality = $value; PracticeSpeciality::create([ 'speciality_id' => $speciality, 'practice_id' => $practice->id, ]); } } // return redirect()->route('practices.index')->with('success', 'Practice has been created successfully.'); return response()->json([ 'redirect' => route('practices.index'), 'message' => "Practice has been created successfully." ], 200); } } public function show(Practice $practice) { return view('practices.show', compact('practice')); } public function edit(Practice $practice) { $specialities = Speciality::where('status', 'Active')->get(); return view('practices.edit', compact('practice', 'specialities')); } public function update(Request $request, $id) { $request->validate([ 'name' => 'required', 'address' => 'required', 'city' => 'required', 'country' => 'required', ]); $data = $request->all(); $practice = Practice::find($id); if (!empty($request->profile_name)) { $imageName = time() . '.' . $request->profile_name->extension(); $request->profile_name->move(public_path('profiles/practices'), $imageName); } else { $imageName = $practice->profile_name; } $practice->name = $request->name; $practice->email = $request->email; $practice->phone = $request->phone; $practice->address = $request->address; $practice->address_2 = $request->address_2; $practice->city = $request->city; $practice->country = $request->country; $practice->zip_code = $request->zip_code; $practice->description = $request->description; $practice->profile_name = $imageName; $practice->is_featured = $request->gold_status == 'on' ? 1 : 0; $practice->other_info = $request->other_info; $practice->hide = $request->hide_show == 'on' ? 1 : 0; $practice->other_emails = $request->other_emails; $practice->update(); $days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; for ($i = 0; $i < 7; $i++) { $hours = OpeningHour::getByPracticeIdWithDay($practice->id, $days[$i]); OpeningHour::find($hours->id)->update([ 'opening_hour' => $data['opening_hour_' . $i], 'closing_hour' => $data['closing_hour_' . $i], ]); } $practiceSpeciality = PracticeSpeciality::getByPracticeId($practice->id); foreach ($practiceSpeciality as $speciality) { PracticeSpeciality::where('practice_id', $practice->id)->where('speciality_id', $speciality->speciality_id)->delete(); } if (!empty($request->speciality)) { foreach ($request->speciality as $value) { $speciality = $value; PracticeSpeciality::create([ 'speciality_id' => $speciality, 'practice_id' => $practice->id, ]); } } return redirect()->route('practices.index')->with('success', 'Practice Has Been updated successfully'); } public function destroy(Practice $practice) { $practice->delete(); return redirect()->route('practices.index')->with('success', 'Practice has been deleted successfully'); } public function status($id) { $practice = Practice::find($id); if ($practice->status == 1) { $practice->status = 0; } else { $practice->status = 1; } $practice->update(); return redirect()->route('practices.index')->with('success', 'Practice has been deleted successfully'); } public function delete($id) { $practice = Practice::find($id); $users = User::where('practice_id', $practice->id)->get(); foreach ($users as $user) { UserDetail::where('user_id', $user->id)->delete(); User::find($user->id)->delete(); } // $fromPractice = ReferralPatient::where('from_practice_id', $practice->id)->get(); // foreach ($fromPractice as $report) { // ReferralPatient::find($report->id)->delete(); // } // $toPractice = ReferralPatient::where('to_practice_id', $practice->id)->get(); // foreach ($toPractice as $report) { // ReferralPatient::find($report->id)->delete(); // } // $practiceSpeciality = PracticeSpeciality::getByPracticeId($practice->id); // foreach ($practiceSpeciality as $speciality) { // PracticeSpeciality::where('practice_id', $practice->id)->where('speciality_id', $speciality->speciality_id)->delete(); // } // $practiceOpeningHour = OpeningHour::getByPracticeId($practice->id); // foreach ($practiceOpeningHour as $openingHour) { // OpeningHour::find($openingHour->id)->delete(); // } $practice->delete(); return redirect()->route('practices.index')->with('success', 'Practice has been deleted successfully'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка