Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/clinic.corals.io/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/clinic.corals.io/app/Http/Controllers/VisitController.php
<?php

namespace App\Http\Controllers;

use App\DataTables\VisitDataTable;
use App\Http\Requests\CreateVisitPrescriptionRequest;
use App\Models\Visit;
use App\Models\VisitNote;
use App\Models\VisitObservation;
use App\Models\VisitPrescription;
use App\Models\VisitProblem;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use App\Http\Requests\CreateVisitRequest;
use App\Http\Requests\UpdateVisitRequest;
use App\Repositories\VisitRepository;
use Flash;
use Illuminate\Routing\Redirector;
use Response;
use Datatables;

class VisitController extends AppBaseController
{
    /** @var  VisitRepository */
    private $visitRepository;

    public function __construct(VisitRepository $visitRepo)
    {
        $this->visitRepository = $visitRepo;
    }

    /**
     * @param  Request  $request
     *
     * @return Application|Factory|View
     */
    public function index(Request $request)
    {
        if ($request->ajax()) {
            return Datatables::of((new VisitDataTable())->get())->make(true);
        }

        return view('visits.index');
    }

    /**
     * @return Application|Factory|View
     */
    public function create()
    {
        $data = $this->visitRepository->getData();

        return view('visits.create', compact('data'));
    }

    /**
     * @param  CreateVisitRequest  $request
     *
     * @return Application|RedirectResponse|Redirector
     */
    public function store(CreateVisitRequest $request)
    {
        $input = $request->all();
        $this->visitRepository->create($input);

        Flash::success('Visit created successfully.');

        if (getLoginUser()->hasRole('doctor')) {
            return redirect(route('doctors.visits.index'));
        }

        return redirect(route('visits.index'));
    }

    /**
     * @param $id
     *
     * @return Application|Factory|View|RedirectResponse
     */
    public function show($id)
    {
        if (getLogInUser()->hasRole('doctor')) {
            $doctor = Visit::whereId($id)->whereDoctorId(getLogInUser()->doctor->id);
            if (! $doctor->exists()) {
                return redirect()->back();
            }
        }

        $visit = $this->visitRepository->getShowData($id);

        return view('visits.show', compact('visit'));
    }

    /**
     * @param  Visit  $visit
     *
     * @return Application|Factory|View
     */
    public function edit(Visit $visit)
    {
        if (getLogInUser()->hasRole('doctor')) {
            $doctor = Visit::whereId($visit->id)->whereDoctorId(getLogInUser()->doctor->id);
            if (! $doctor->exists()) {
                return redirect(route('doctors.visits.index'));
            }
        }

        $data = $this->visitRepository->getData();

        return view('visits.edit', compact('data', 'visit'));
    }

    /**
     * @param  Visit  $visit
     * @param  UpdateVisitRequest  $request
     *
     * @return Application|RedirectResponse|Redirector
     */
    public function update(Visit $visit, UpdateVisitRequest $request)
    {
        $input = $request->all();
        $visit->update($input);

        Flash::success('Visit updated successfully.');

        if (getLoginUser()->hasRole('doctor')) {
            return redirect(route('doctors.visits.index'));
        }

        return redirect(route('visits.index'));
    }

    /**
     * @param  Visit  $visit
     *
     * @return mixed
     */
    public function destroy(Visit $visit)
    {
        $visit->delete();

        return $this->sendSuccess('Visit deleted successfully.');
    }

    /**
     * @param  Request  $request
     *
     * @return mixed
     */
    public function addProblem(Request $request)
    {
        $input = $request->all();
        $problem = VisitProblem::create(['problem_name' => $input['problem_name'], 'visit_id' => $input['visit_id']]);
        $problemData = VisitProblem::whereVisitId($input['visit_id'])->get();

        return $this->sendResponse($problemData, 'Problem added successfully.');
    }

    /**
     * @param $id
     * @return mixed
     */
    public function deleteProblem($id)
    {
        $problem = VisitProblem::findOrFail($id);
        $visitId = $problem->visit_id;
        $problem->delete();
        $problemData = VisitProblem::whereVisitId($visitId)->get();

        return $this->sendResponse($problemData, 'Problem deleted successfully.');
    }

    /**
     * @param  Request  $request
     *
     * @return mixed
     */
    public function addObservation(Request $request)
    {
        $input = $request->all();
        $observation = VisitObservation::create([
            'observation_name' => $input['observation_name'], 'visit_id' => $input['visit_id'],
        ]);
        $observationData = VisitObservation::whereVisitId($input['visit_id'])->get();

        return $this->sendResponse($observationData, 'Observation added successfully.');
    }

    /**
     * @param $id
     *
     * @return mixed
     */
    public function deleteObservation($id)
    {
        $observation = VisitObservation::findOrFail($id);
        $visitId = $observation->visit_id;
        $observation->delete();
        $observationData = VisitObservation::whereVisitId($visitId)->get();

        return $this->sendResponse($observationData, 'Observation deleted successfully.');
    }

    /**
     * @param  Request  $request
     *
     * @return mixed
     */
    public function addNote(Request $request)
    {
        $input = $request->all();
        $note = VisitNote::create(['note_name' => $input['note_name'], 'visit_id' => $input['visit_id']]);
        $noteData = VisitNote::whereVisitId($input['visit_id'])->get();

        return $this->sendResponse($noteData, 'Note added successfully.');
    }

    /**
     * @param $id
     *
     * @return mixed
     */
    public function deleteNote($id)
    {
        $note = VisitNote::findOrFail($id);
        $visitId = $note->visit_id;
        $note->delete();
        $noteData = VisitNote::whereVisitId($visitId)->get();

        return $this->sendResponse($noteData, 'Note deleted successfully.');
    }

    /**
     * @param  CreateVisitPrescriptionRequest  $request
     *
     * @return mixed
     */
    public function addPrescription(CreateVisitPrescriptionRequest $request)
    {
        $input = $request->all();
        if (! empty($input['prescription_id'])) {
            $prescription = VisitPrescription::findOrFail($input['prescription_id']);
            $prescription->update($input);
            $message = 'Visit Prescription updated successfully.';
        } else {
            VisitPrescription::create($input);
            $message = 'Visit Prescription added successfully.';
        }

        $visitPrescriptions = VisitPrescription::whereVisitId($input['visit_id'])->get();

        return $this->sendResponse($visitPrescriptions, $message);
    }

    /**
     * @param $id
     *
     * @return mixed
     */
    public function editPrescription($id)
    {
        $prescription = VisitPrescription::findOrFail($id);

        return $this->sendResponse($prescription, 'Prescription retrieved successfully.');
    }

    /**
     * @param $id
     *
     * @return mixed
     */
    public function deletePrescription($id)
    {
        $prescription = VisitPrescription::findOrFail($id);
        $visitId = $prescription->visit_id;
        $prescription->delete();
        $prescriptionData = VisitPrescription::whereVisitId($visitId)->get();

        return $this->sendResponse($prescriptionData, 'Prescription deleted successfully.');
    }
}

Spamworldpro Mini