PATH:
home
/
lab2454c
/
tripvare.com
/
app
/
Http
/
Controllers
/
api
<?php namespace App\Http\Controllers\api; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Models\Help; use App\Models\DynamicPage; use App\Models\LegalConsent; use App\Models\ChecklistContent; use App\Models\VaccinationReviewContent; use App\Models\VaccinationReview; use App\Models\TravelAuthorization; use App\Models\TestReview; use App\Models\Contact; use App\Models\User; use App\Models\ApiImage; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Storage; use Illuminate\Http\File; class ContentController extends Controller { public function getHelpContents() { $help = Help::orderby('created_at', 'DESC')->get(); return response()->json([ 'status' => 200, 'data' => $help, ]); } public function getPageContents($slug) { $page = DynamicPage::where('slug', $slug)->first(); //dd($slug, $page); if (is_null($page)) { return response([ 'message' => 'Requested Page Not Found' ], 404); } return response()->json([ 'status' => 200, 'data' => [ 'content'=>strip_tags($page->content), ] ]); } public function getLegal() { $legalConsent = LegalConsent::first(); return response()->json([ 'status' => 200, 'data' => $legalConsent, ]); } //public function getChecklist() public function getMetaValues() { $checklistContent = ChecklistContent::first(); $reviewContent = VaccinationReviewContent::first(); return response()->json([ 'status' => 200, 'data' => [ 'checklist_title'=>$checklistContent->checklist_title, 'checklist_content'=>strip_tags($checklistContent->checklist_content), 'vacination_review_title'=>$checklistContent->vacination_review_title, 'vacination_review_content'=>strip_tags($checklistContent->vacination_review_content), 'test_review_title'=>$checklistContent->test_review_title, 'test_review_content'=>strip_tags($checklistContent->test_review_content), 'travel_authorization_title'=>$checklistContent->travel_authorization_title, 'travel_authorization_content'=>strip_tags($checklistContent->travel_authorization_content), 'vaccination_review_title' => $reviewContent->vaccination_review_title, 'vaccination_review_content' => html_entity_decode(strip_tags($reviewContent->vaccination_review_content), ENT_QUOTES, 'UTF-8') , ] ]); } public function getReview() { $reviewContent = VaccinationReviewContent::first(); return response()->json([ 'status' => 200, 'data' => $reviewContent, ]); } public function storeVaccinationReview(Request $request) { $validator = Validator::make($request->all(), [ 'user_id' => 'required|string', // "vaccine_type" => 'required|string', // "first_vaccine_date"=>'required|date|before:last_vaccine_date', // "last_vaccine_date"=>'required|date|after:first_vaccine_date', "user_document" => 'required|file|max:100000', ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); // //return response()->json(['errors'=>$validator->errors()])->header('Content-Type','application/json'); // //return response($validator->errors(),400)->header('Content-Type','application/json'); } //$vaccinationReview = VaccinationReview::where('user_id', '=', $request->user_id)->first(); //if (!$vaccinationReview) { $vaccinationReview = new VaccinationReview(); //} $vaccinationReview->fill($request->all()); if (isset($request->user_document)) { $vaccinationReview->document_size = $request->file("user_document")->getSize(); $vaccinationReview->user_document = Storage::putFile('public/userDocuments', new File($request->user_document)); } $vaccinationReview->save(); /*START OF CURL CODE TO SUBMIT USER DATA*/ // $user = User::find($request->user_id)->first(); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL,"https://store.veritvicas.com/index.php/api/user_documents_hv"); // curl_setopt($ch, CURLOPT_POST, 1); // In real life you should use something like: /*curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('firstName' => $user->first_name, 'lastName' => $user->last_name, 'emailAddress' => $user->email,'details' => 'Details Here'))); // Receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); if (curl_errno($ch)) { print curl_error($ch); } curl_close ($ch);*/ /*END OF CURL CODE to SUBMIT USER DATA*/ return response([ 'id' => $vaccinationReview->id, //'vaccine_type' => $vaccinationReview->vaccine_type, 'user_document' => $vaccinationReview->user_document, //'first_vaccine_day' => date('d', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_month' => date('m', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_year' => date('Y', strtotime($vaccinationReview->first_vaccine_date)), //'last_vaccine_day' => date('d', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_month' => date('m', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_year' => date('Y', strtotime($vaccinationReview->last_vaccine_date)), 'user_document_name' => $vaccinationReview->user_document_name, 'document_size' => $vaccinationReview->document_size, ],200)->header('Content-Type','application/json'); } public function storeTestReview(Request $request) { $validator = Validator::make($request->all(), [ 'user_id' => 'required|string', "user_document" => 'required|file|max:100000', ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); } // $testReview = TestReview::where('user_id', '=', $request->user_id)->first(); // if (!$testReview) { $testReview = new TestReview(); // } $testReview->fill($request->all()); if (isset($request->user_document)) { $testReview->document_size = $request->file("user_document")->getSize(); $testReview->user_document = Storage::putFile('public/userDocuments', new File($request->user_document)); } $testReview->save(); /*START OF CURL CODE TO SUBMIT USER DATA*/ // $user = User::find($request->user_id)->first(); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL,"https://store.veritvicas.com/index.php/api/user_documents_hv"); // curl_setopt($ch, CURLOPT_POST, 1); // In real life you should use something like: /*curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('firstName' => $user->first_name, 'lastName' => $user->last_name, 'emailAddress' => $user->email,'details' => 'Details Here'))); // Receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); if (curl_errno($ch)) { print curl_error($ch); } curl_close ($ch);*/ /*END OF CURL CODE to SUBMIT USER DATA*/ return response([ 'id' => $testReview->id, //'vaccine_type' => $vaccinationReview->vaccine_type, 'user_document' => $testReview->user_document, //'first_vaccine_day' => date('d', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_month' => date('m', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_year' => date('Y', strtotime($vaccinationReview->first_vaccine_date)), //'last_vaccine_day' => date('d', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_month' => date('m', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_year' => date('Y', strtotime($vaccinationReview->last_vaccine_date)), 'user_document_name' => $testReview->user_document_name, 'document_size' => $testReview->document_size, ],200)->header('Content-Type','application/json'); } public function storeTravelReview(Request $request) { $validator = Validator::make($request->all(), [ 'user_id' => 'required|string', "user_document" => 'required|file|max:100000', ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); } // $travelReview = TravelAuthorization::where('user_id', '=', $request->user_id)->first(); // if (!$travelReview) { $travelReview = new TravelAuthorization(); // } $travelReview->fill($request->all()); $document_size = null; if (isset($request->user_document)) { $travelReview->document_size = $request->file("user_document")->getSize(); $travelReview->user_document = Storage::putFile('public/userDocuments', new File($request->user_document)); } $travelReview->save(); /*START OF CURL CODE TO SUBMIT USER DATA*/ // $user = User::find($request->user_id)->first(); // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL,"https://store.veritvicas.com/index.php/api/user_documents_hv"); // curl_setopt($ch, CURLOPT_POST, 1); // In real life you should use something like: /*curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('firstName' => $user->first_name, 'lastName' => $user->last_name, 'emailAddress' => $user->email,'details' => 'Details Here'))); // Receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); if (curl_errno($ch)) { print curl_error($ch); } curl_close ($ch);*/ /*END OF CURL CODE to SUBMIT USER DATA*/ return response([ 'id' => $travelReview->id, //'vaccine_type' => $vaccinationReview->vaccine_type, 'user_document' => $travelReview->user_document, //'first_vaccine_day' => date('d', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_month' => date('m', strtotime($vaccinationReview->first_vaccine_date)), //'first_vaccine_year' => date('Y', strtotime($vaccinationReview->first_vaccine_date)), //'last_vaccine_day' => date('d', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_month' => date('m', strtotime($vaccinationReview->last_vaccine_date)), //'last_vaccine_year' => date('Y', strtotime($vaccinationReview->last_vaccine_date)), 'user_document_name' => $travelReview->user_document_name, 'document_size' => $document_size, ],200)->header('Content-Type','application/json'); } public function saveContact(Request $request) { $validator = Validator::make($request->all(), [ "first_name" => "required|string", "last_name" => "required|string", "email" => "required|email", "phone" => "required|string|regex:/^([0-9\s\-]*)$/|min:4|max:15", "message" => "nullable|string", ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); }else{ $contact = new Contact(); $contact->fill($request->all()); $contact->save(); return response()->json([ 'status' => 200, 'data' => 'We have received your request and will contact you shortly. ', ]); } } public function removeAccount(Request $request) { $user = User::find($request->id); if (!is_null($user)) { $user->account_status = 0; $user->save(); return response()->json([ 'status' => 200, 'data' => 'Account deleted successfully', ]); } return response([ 'message' => 'Invalied account information' ], 404); } public function getVaccinationStatusData(Request $request){ $user = User::find($request->id); if (!is_null($user)) { return response([ 'data' => $user->vaccination_review()->orderBy("created_at", "desc")->get() ],200)->header('Content-Type','application/json'); } return response([ 'message' => 'Invalied account information' ], 404); } public function getTestStatusData(Request $request){ $user = User::find($request->id); if (!is_null($user)) { return response([ 'data' => $user->test_review()->orderBy("created_at", "desc")->get(), ],200)->header('Content-Type','application/json'); } return response([ 'message' => 'Invalied account information' ], 404); } public function getTravelData(Request $request){ $user = User::find($request->id); if (!is_null($user)) { return response([ 'data' => $user->travel_authorization()->orderBy("created_at", "desc")->get(), ],200)->header('Content-Type','application/json'); } return response([ 'message' => 'Invalied account information' ], 404); } public function addMediaData(Request $request) { // $notificationBody = file_get_contents('php://input'); // // $timestamp = $request->header('x-cld-timestamp'); // // $notificationSignature = $request->header('x-cld-signature'); ApiImage::create([ 'timestamp' => $request->header('x-cld-timestamp') , 'signature' => $request->header('x-cld-signature'), 'source' => file_get_contents('php://input'), ]); // ApiImage::create( // [ // 'timestamp' => $request->public_id, // 'signature' => $request->version_id, // 'source' => $request->secure_url, // ]); } }
[+]
..
[-] ContentController.php
[edit]