(Update) Refactor General and Staff Controllers

- Remove all facades use besides mail
- Use Dependency Injection for Illuminate\Http\Request
- use helpers for auth, cache, validator, and more to rid of facades use
- use $request->input() over $request->get()
- use $request->isMethod('POST') over $request->getMethod('POST')
- general cleanup
This commit is contained in:
HDVinnie
2018-03-15 12:32:40 -04:00
parent eabf4a68ca
commit 2da7207d2b
51 changed files with 631 additions and 892 deletions

View File

@@ -12,6 +12,7 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\BonTransactions;
use App\Category;
use App\Type;
@@ -24,12 +25,6 @@ use App\User;
use App\PrivateMessage;
use App\Helpers\RequestViewHelper;
use App\Repositories\RequestFacetedRepository;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request as IlluminateRequest;
use App\Achievements\UserFilled25Requests;
use App\Achievements\UserFilled50Requests;
use App\Achievements\UserFilled75Requests;
@@ -37,7 +32,6 @@ use App\Achievements\UserFilled100Requests;
use Carbon\Carbon;
use Decoda\Decoda;
use \Toastr;
use Cache;
class RequestController extends Controller
{
@@ -60,7 +54,7 @@ class RequestController extends Controller
*/
public function requests()
{
$user = Auth::user();
$user = auth()->user();
$num_req = Requests::count();
$num_fil = Requests::whereNotNull('filled_by')->count();
$num_unfil = Requests::whereNull('filled_by')->count();
@@ -74,21 +68,21 @@ class RequestController extends Controller
return view('requests.requests', ['requests' => $requests, 'repository' => $repository, 'user' => $user, 'num_req' => $num_req, 'num_fil' => $num_fil, 'num_unfil' => $num_unfil, 'total_bounty' => $total_bounty, 'claimed_bounty' => $claimed_bounty, 'unclaimed_bounty' => $unclaimed_bounty]);
}
public function faceted(IlluminateRequest $request, Requests $requests)
public function faceted(Request $request, Requests $requests)
{
$user = Auth::user();
$search = $request->get('search');
$imdb = $request->get('imdb');
$tvdb = $request->get('tvdb');
$tmdb = $request->get('tmdb');
$mal = $request->get('mal');
$categories = $request->get('categories');
$types = $request->get('types');
$myrequests = $request->get('myrequests');
$unfilled = $request->get('unfilled');
$claimed = $request->get('claimed');
$pending = $request->get('pending');
$filled = $request->get('filled');
$user = auth()->user();
$search = $request->input('search');
$imdb = $request->input('imdb');
$tvdb = $request->input('tvdb');
$tmdb = $request->input('tmdb');
$mal = $request->input('mal');
$categories = $request->input('categories');
$types = $request->input('types');
$myrequests = $request->input('myrequests');
$unfilled = $request->input('unfilled');
$claimed = $request->input('claimed');
$pending = $request->input('pending');
$filled = $request->input('filled');
$terms = explode(' ', $search);
$search = '';
@@ -98,51 +92,51 @@ class RequestController extends Controller
$requests = $requests->newQuery();
if ($request->has('search') && $request->get('search') != null) {
if ($request->has('search') && $request->input('search') != null) {
$requests->where('name', 'like', $search);
}
if ($request->has('imdb') && $request->get('imdb') != null) {
if ($request->has('imdb') && $request->input('imdb') != null) {
$requests->where('imdb', $imdb);
}
if ($request->has('tvdb') && $request->get('tvdb') != null) {
if ($request->has('tvdb') && $request->input('tvdb') != null) {
$requests->where('tvdb', $tvdb);
}
if ($request->has('tmdb') && $request->get('tmdb') != null) {
if ($request->has('tmdb') && $request->input('tmdb') != null) {
$requests->where('tmdb', $tmdb);
}
if ($request->has('mal') && $request->get('mal') != null) {
if ($request->has('mal') && $request->input('mal') != null) {
$requests->where('mal', $mal);
}
if ($request->has('categories') && $request->get('categories') != null) {
if ($request->has('categories') && $request->input('categories') != null) {
$requests->whereIn('category_id', $categories);
}
if ($request->has('types') && $request->get('types') != null) {
if ($request->has('types') && $request->input('types') != null) {
$requests->whereIn('type', $types);
}
if ($request->has('myrequests') && $request->get('myrequests') != null) {
if ($request->has('myrequests') && $request->input('myrequests') != null) {
$requests->where('user_id', $myrequests);
}
if ($request->has('unfilled') && $request->get('unfilled') != null) {
if ($request->has('unfilled') && $request->input('unfilled') != null) {
$requests->where('filled_hash', null);
}
if ($request->has('claimed') && $request->get('claimed') != null) {
if ($request->has('claimed') && $request->input('claimed') != null) {
$requests->where('claimed', '!=', null)->where('filled_hash', null);
}
if ($request->has('pending') && $request->get('pending') != null) {
if ($request->has('pending') && $request->input('pending') != null) {
$requests->where('filled_hash', '!=', null)->where('approved_by', null);
}
if ($request->has('filled') && $request->get('filled') != null) {
if ($request->has('filled') && $request->input('filled') != null) {
$requests->where('filled_hash', '!=', null)->where('approved_by', '!=', null);
}
@@ -150,8 +144,8 @@ class RequestController extends Controller
$rows = $requests->count();
if($request->has('page')){
$page = $request->get('page');
$qty = $request->get('qty');
$page = $request->input('page');
$qty = $request->input('qty');
$requests->skip(($page-1)*$qty);
$active = $page;
}else{
@@ -159,7 +153,7 @@ class RequestController extends Controller
}
if($request->has('qty')){
$qty = $request->get('qty');
$qty = $request->input('qty');
$requests->take($qty);
}else{
$qty = 6;
@@ -168,8 +162,8 @@ class RequestController extends Controller
// pagination query ends
if($request->has('sorting')){
$sorting = $request->get('sorting');
$order = $request->get('direction');
$sorting = $request->input('sorting');
$order = $request->input('direction');
$requests->orderBy($sorting,$order);
}
@@ -192,7 +186,7 @@ class RequestController extends Controller
{
// Find the torrent in the database
$request = Requests::findOrFail($id);
$user = Auth::user();
$user = auth()->user();
$requestClaim = RequestsClaims::where('request_id', '=', $id)->first();
$voters = $request->requestBounty()->get();
$comments = $request->comments()->orderBy('created_at', 'DESC')->paginate(6);
@@ -222,13 +216,12 @@ class RequestController extends Controller
* @access public
* @return Redirect::to
*/
public function addrequest()
public function addrequest(Request $request)
{
$user = Auth::user();
$user = auth()->user();
// Post the Request
if (Request::isMethod('post')) {
// Validator
$v = Validator::make(Request::all(), [
if ($request->isMethod('POST')) {
$v = validator($request->all(), [
"name" => "required|max:180",
"imdb" => "required|numeric",
"tvdb" => "required|numeric",
@@ -242,27 +235,27 @@ class RequestController extends Controller
if ($v->passes()) {
// Find the right category
$category = Category::findOrFail(Request::get('category_id'));
$category = Category::findOrFail($request->input('category_id'));
// Holders for new data
$requests = new Requests([
'name' => Request::get('name'),
'description' => Request::get('description'),
'name' => $request->input('name'),
'description' => $request->input('description'),
'category_id' => $category->id,
'user_id' => $user->id,
'imdb' => Request::get('imdb'),
'tvdb' => Request::get('tvdb'),
'tmdb' => Request::get('tmdb'),
'mal' => Request::get('mal'),
'type' => Request::get('type'),
'bounty' => Request::get('bounty'),
'imdb' => $request->input('imdb'),
'tvdb' => $request->input('tvdb'),
'tmdb' => $request->input('tmdb'),
'mal' => $request->input('mal'),
'type' => $request->input('type'),
'bounty' => $request->input('bounty'),
'votes' => 1,
]);
$requests->save();
$requestsBounty = new RequestsBounty([
'user_id' => $user->id,
'seedbonus' => Request::get('bounty'),
'seedbonus' => $request->input('bounty'),
'requests_id' => $requests->id,
]);
$requestsBounty->save();
@@ -270,19 +263,19 @@ class RequestController extends Controller
$BonTransactions = new BonTransactions([
'itemID' => 0,
'name' => 'request',
'cost' => Request::get('bounty'),
'cost' => $request->input('bounty'),
'sender' => $user->id,
'receiver' => 0,
'comment' => "new request - " . Request::get('name') . ""
'comment' => "new request - {$request->input('name')}"
]);
$BonTransactions->save();
$user->seedbonus -= Request::get('bounty');
$user->seedbonus -= $request->input('bounty');
$user->save();
$appurl = config('app.url');
Shoutbox::create(['user' => "1", 'mentions' => "1", 'message' => "User [url={$appurl}/" . $user->username . "." . $user->id . "]" . $user->username . "[/url] has created a new request [url={$appurl}/request/" . $requests->id . "]" . $requests->name . "[/url]"]);
Cache::forget('shoutbox_messages');
cache()->forget('shoutbox_messages');
return redirect('/requests')->with(Toastr::success('Request Added.', 'Yay!', ['options']));
} else {
@@ -304,22 +297,22 @@ class RequestController extends Controller
* @access public
* @return Redirect::to
*/
public function editrequest($id)
public function editrequest(Request $req, $id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
if ($user->group->is_modo || $user->id == $request->user_id) {
// Post the Request
if (Request::isMethod('post')) {
if ($req->isMethod('POST')) {
// Find the right category
$name = Request::get('name');
$imdb = Request::get('imdb');
$tvdb = Request::get('tvdb');
$tmdb = Request::get('tmdb');
$mal = Request::get('mal');
$category = Request::get('category_id');
$type = Request::get('type');
$description = Request::get('description');
$name = $req->input('name');
$imdb = $req->input('imdb');
$tvdb = $req->input('tvdb');
$tmdb = $req->input('tmdb');
$mal = $req->input('mal');
$category = $req->input('category_id');
$type = $req->input('type');
$description = $req->input('description');
$request->name = $name;
$request->imdb = $imdb;
@@ -346,27 +339,27 @@ class RequestController extends Controller
* @access public
* @return Redirect::route
*/
public function addBonus($id)
public function addBonus(Request $request, $id)
{
$user = Auth::user();
$user = auth()->user();
if (Request::isMethod('POST') && $user->seedbonus >= 100) {
$v = Validator::make(Request::all(), [
if ($request->isMethod('POST') && $user->seedbonus >= 100) {
$v = validator($request->all(), [
'request_id' => "required|exists:requests,id",
'bonus_value' => "required|numeric|min:100|max:{$user->seedbonus}",
]);
if ($v->passes()) {
$requests = Requests::findOrFail(Request::get('request_id'));
$requests = Requests::findOrFail($request->input('request_id'));
$requests->votes += 1;
$requests->bounty += Request::get('bonus_value');
$requests->bounty += $request->input('bonus_value');
$requests->created_at = Carbon::now();
$requests->save();
$requestsBounty = new RequestsBounty([
'user_id' => $user->id,
'seedbonus' => Request::get('bonus_value'),
'seedbonus' => $request->input('bonus_value'),
'requests_id' => $requests->id,
]);
$requestsBounty->save();
@@ -374,29 +367,29 @@ class RequestController extends Controller
$BonTransactions = new BonTransactions([
'itemID' => 0,
'name' => 'request',
'cost' => Request::get('bonus_value'),
'cost' => $request->input('bonus_value'),
'sender' => $user->id,
'receiver' => 0,
'comment' => "adding bonus to {$requests->name}"
]);
$BonTransactions->save();
$user->seedbonus -= Request::get('bonus_value');
$user->seedbonus -= $request->input('bonus_value');
$user->save();
$appurl = config('app.url');
Shoutbox::create(['user' => "1", 'mentions' => "1", 'message' => "User [url={$appurl}/" . $user->username . "." . $user->id . "]" . $user->username . "[/url] has addded " . Request::get('bonus_value') . " BON bounty to request " . "[url={$appurl}/request/" . $requests->id . "]" . $requests->name . "[/url]"]);
Cache::forget('shoutbox_messages');
Shoutbox::create(['user' => "1", 'mentions' => "1", 'message' => "User [url={$appurl}/" . $user->username . "." . $user->id . "]" . $user->username . "[/url] has addded " . $request->input('bonus_value') . " BON bounty to request " . "[url={$appurl}/request/" . $requests->id . "]" . $requests->name . "[/url]"]);
cache()->forget('shoutbox_messages');
PrivateMessage::create(['sender_id' => "1", 'reciever_id' => $requests->user_id, 'subject' => "Your Request " . $requests->name . " Has A New Bounty!", 'message' => $user->username . " Has Added A Bounty To " . "[url={$appurl}/request/" . $requests->id . "]" . $requests->name . "[/url]"]);
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::success('Your bonus has been successfully added.', 'Yay!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::success('Your bonus has been successfully added.', 'Yay!', ['options']));
} else {
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('You failed to adhere to the requirements.', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('You failed to adhere to the requirements.', 'Whoops!', ['options']));
}
} else {
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('The server doesnt unserstand your request.', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('The server doesnt unserstand your request.', 'Whoops!', ['options']));
}
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('Something went horribly wrong', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('Something went horribly wrong', 'Whoops!', ['options']));
}
/**
@@ -406,35 +399,35 @@ class RequestController extends Controller
* @param $id ID of the request
*
*/
public function fillRequest($id)
public function fillRequest(Request $request, $id)
{
$user = Auth::user();
$user = auth()->user();
if (Request::isMethod('POST')) {
$v = Validator::make(Request::all(), [
if ($request->isMethod('POST')) {
$v = validator($request->all(), [
'request_id' => "required|exists:requests,id",
'info_hash' => "required|exists:torrents,info_hash",
]);
if ($v->passes()) {
$torrent = Torrent::where('info_hash', '=', Request::get('info_hash'))->firstOrFail();
$torrent = Torrent::where('info_hash', '=', $request->input('info_hash'))->firstOrFail();
if ($user->id == $torrent->user_id) {
$this->addRequestModeration(Request::get('request_id'), Request::get('info_hash'));
$this->addRequestModeration($request->input('request_id'), $request->input('info_hash'));
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::success('Your request fill is pending approval by the Requestor.', 'Yay!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::success('Your request fill is pending approval by the Requestor.', 'Yay!', ['options']));
} elseif ($user->id != $torrent->user_id && Carbon::now()->addDay() > $torrent->created_at) {
$this->addRequestModeration(Request::get('request_id'), Request::get('info_hash'));
$this->addRequestModeration($request->input('request_id'), $request->input('info_hash'));
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::success('Your request fill is pending approval by the Requestor.', 'Yay!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::success('Your request fill is pending approval by the Requestor.', 'Yay!', ['options']));
} else {
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('You cannot fill this request for some weird reason', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('You cannot fill this request for some weird reason', 'Whoops!', ['options']));
}
} else {
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('You failed to adhere to the requirements.', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('You failed to adhere to the requirements.', 'Whoops!', ['options']));
}
} else {
return redirect()->route('request', ['id' => Request::get('request_id')])->with(Toastr::error('The server doesnt understand your request.', 'Whoops!', ['options']));
return redirect()->route('request', ['id' => $request->input('request_id')])->with(Toastr::error('The server doesnt understand your request.', 'Whoops!', ['options']));
}
}
@@ -447,7 +440,7 @@ class RequestController extends Controller
*/
public function addRequestModeration($request_id, $info_hash)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($request_id);
@@ -468,11 +461,11 @@ class RequestController extends Controller
*/
public function approveRequest($id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
if ($user->id == $request->user_id || Auth::user()->group->is_modo) {
if ($user->id == $request->user_id || auth()->user()->group->is_modo) {
$request->approved_by = $user->id;
$request->approved_when = Carbon::now();
$request->save();
@@ -503,7 +496,7 @@ class RequestController extends Controller
$appurl = config('app.url');
Shoutbox::create(['user' => "1", 'mentions' => "1", 'message' => "User [url={$appurl}/" . $fill_user->username . "." . $fill_user->id . "]" . $fill_user->username . "[/url] has filled [url={$appurl}/request/" . $request->id . "]" . $request->name . "[/url] and was awarded " . $fill_amount . " BON "]);
Cache::forget('shoutbox_messages');
cache()->forget('shoutbox_messages');
PrivateMessage::create(['sender_id' => "1", 'reciever_id' => $request->filled_by, 'subject' => "Your Request Fullfill On " . $request->name . " Has Been Approved!", 'message' => $request->approved_by . " Has Approved Your Fullfillment On [url={$appurl}/request/" . $request->id . "]" . $request->name . "[/url] Enjoy The " . $request->bounty . " Bonus Points!"]);
return redirect()->route('request', ['id' => $id])->with(Toastr::success("You have approved {$request->name} and the bounty has been awarded to {$fill_user->username}", "Yay!", ['options']));
} else {
@@ -518,7 +511,7 @@ class RequestController extends Controller
*/
public function rejectRequest($id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
@@ -544,7 +537,7 @@ class RequestController extends Controller
*/
public function deleteRequest($id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
if ($user->group->is_modo || $request->user_id == $user->id) {
@@ -562,16 +555,16 @@ class RequestController extends Controller
* @method claimRequest
*
*/
public function claimRequest($id)
public function claimRequest(Request $req, $id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
if ($request->claimed == null) {
$requestClaim = new RequestsClaims([
'request_id' => $id,
'username' => $user->username,
'anon' => Request::get('anon'),
'anon' => $req->input('anon'),
]);
$requestClaim->save();
@@ -591,7 +584,7 @@ class RequestController extends Controller
*/
public function unclaimRequest($id)
{
$user = Auth::user();
$user = auth()->user();
$request = Requests::findOrFail($id);
$claimer = RequestsClaims::where('request_id', '=', $id)->first();