public function addImageToUser($user) { $directory = base_path() . '/sample_images'; $scanned_directory = array_diff(scandir($directory), array('..', '.')); $scanned_directory = array_values($scanned_directory); $random_file = base_path() . '/sample_images/' . $scanned_directory[rand(0, count($scanned_directory) - 1)]; $ext = pathinfo($random_file, PATHINFO_EXTENSION); $filename = uniqid() . "." . $ext; $destination_file = public_path() . "/uploads/" . $filename; copy($random_file, $destination_file); // deactivate other photos $affected = \App\Models\UserPhoto::where('status', '=', 1)->where('user_id', $user->id)->update(array('status' => 0)); $userPhoto = new \App\Models\UserPhoto(); $userPhoto->user_id = $user->id; $userPhoto->filename = $filename; $userPhoto->save(); }
public function votePhoto() { $input = \Request::all(); $vote_registered = 'false'; $photo = $input['photo']; if (User::canVote($input['photo']['id'])) { $vote = new Vote(); $vote->photo_id = $input['photo']['id']; $vote->user_id = Auth::user()->id; $vote->ip = $_SERVER['REMOTE_ADDR']; $vote->save(); $vote_registered = 'true'; $photo = UserPhoto::with(['user' => function ($query) { $query->select(['id', 'name', 'avatar']); }])->with('votesCount')->where('status', 1)->select('id', 'user_id', 'filename')->find($input['photo']['id']); } return ["photo" => $photo, "vote_registered" => $vote_registered]; }