Linux ip-172-31-33-47 5.4.0-1045-aws #47~18.04.1-Ubuntu SMP Tue Apr 13 15:58:14 UTC 2021 x86_64
Apache/2.4.29 (Ubuntu)
: 172.31.33.47 | : 3.147.69.134
Cant Read [ /etc/named.conf ]
7.4.20
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
stage /
app /
Http /
Controllers /
API /
[ HOME SHELL ]
Name
Size
Permission
Action
FoodController.php
6.27
KB
-rw-rw-r--
NewPlaceController.php
9.01
KB
-rw-rw-r--
PlaceController.php
31.89
KB
-rw-rw-r--
ReviewsController.php
5.32
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ReviewsController.php
<?php namespace App\Http\Controllers\API; use App\Food; use App\Jobs\ProcessReviewImage; use App\Place; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use App\Http\Controllers\Controller; use App\Mail\NewReview; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Validator; class ReviewsController extends Controller { public function review($slug) { $place = Place::where('slug', $slug)->first(); if($place){ $food = Food::where('place_slug', $place->slug)->get()->toArray(); return response()->json(['place' => $place->toArray(), 'food' => $food]); } } /** * Get a validator for a review request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function reviewValidator(array $data) { return Validator::make($data, [ 'rate' => 'required|integer|max:5|min:1', 'placename' => 'required|string' ]); } private function getImageUrl($data) { $fullImageUrl = ""; if(isset($data['image']) && $data['image']) { $imagePath = "/reviews/images/" . uniqid('review_') . ".jpg"; $fullImageUrl = env('S3_BASE_URL') . $imagePath; // var_dump($data['image']);die; ProcessReviewImage::dispatchNow($data['image'], $imagePath); } return $fullImageUrl; } private function prepareReviewData($data, $user) { $now = new \DateTime(); return array( "rate" => intval($data['rate']), 'comment' => $data['comment'] ?? "", 'image' => $this->getImageUrl($data), 'place_slug' => $data['place'] ?? "", 'place_name' => $data['placename'], 'food_name' => $data['foodname'] ?? "", 'food_id' => $data['id'] ?? "", 'user_id' => (string) $user->id, 'avatar' => $user->avatar, 'nickname' => $user->username ?: $user->name, 'created' => $now->format('Y-m-d H:i:s') ); } public function postReview(Request $request) { $data = $request->ajax() ? json_decode($request->getContent(), true) : $_POST; // var_dump($data);die; $db = DB::getMongoDB(); $user = $request->user(); $id = $data['id'] ?? ""; $place_slug = $data['place'] ?? ""; $foodname = $data['foodname'] ?? ""; $validator = $this->reviewValidator($data); if ($validator->fails()) { return response()->json(['status' => 'failed', 'errors' => $validator->errors()]); } if(isset($data['image']) && $data['image']) { $imagePath = "/reviews/images/" . uniqid('review_') . ".jpg"; $fullImageUrl = env('S3_BASE_URL') . $imagePath; // var_dump($data['image']);die; ProcessReviewImage::dispatchNow($data['image'], $imagePath); }else $fullImageUrl = ""; if(isset($data['placename']) && $data['placename']){ $review = $this->prepareReviewData($data, $user); // save review $updated = $db->reviews->insertOne($review); $flashMessage = 'Review successful for ' . $data['placename']; // If place/food is not in database if(!$place_slug && $request->ajax()) return response()->json(['status' => 'success', 'message' => $flashMessage]); // if food is not in database if($place_slug && !$id && $foodname) { if ($request->ajax()) { return response()->json(['status' => 'success', 'message' => $flashMessage]); }else { $request->session()->flash('status', $flashMessage); return redirect()->route('places.show', ['place' => $place_slug]); } } $match = $id ? ['$match' => ['place_slug' => $place_slug, 'food_id' => $data['id']]] : ['$match' => ['place_name' => $data['placename']]]; $avgRate = $db->reviews->aggregate([ $match, ['$project' => ['_id' => 0, 'rate' => 1, 'place_name' => 1]], ['$group' => [ '_id' => '$place_name', 'avgRate' => ['$avg' => '$rate'] ]] ])->toArray(); if(count($avgRate)){ $update = ['$set' => ['avg_rate' => $avgRate[0]['avgRate']]]; if($id) $db->fooding->updateOne(['place_slug' => $place_slug, '_id' => new \MongoDB\BSON\ObjectId($data['id'])], $update); else $db->places->updateOne(['name' => $data['placename']], $update); } if($request->ajax()) { return response()->json(['status' => 'success', 'message' => $flashMessage]); } $request->session()->flash('status', $flashMessage); Mail::to(getenv('ADMIN_EMAIL'))->send(new NewReview($review)); return redirect()->route('places.show', ['place' => $place_slug]); }else { return $request->ajax() ? response()->json(['status' => 'error', 'message' => 'Incorrect details']) : redirect()->back()->withErrors(['error' => trans('Incorrect details')]); } } }
Close