OwlCyberSecurity - MANAGER
Edit File: AccountController.php
<?php namespace App\Http\Controllers; use App\Helpers\JSONResponder; use App\Mail\RegistrationEmail; use App\Sportpesa\Modules\User\Model\User; use Carbon\Carbon; use Cartalyst\Sentinel\Checkpoints\NotActivatedException; use Cartalyst\Sentinel\Checkpoints\ThrottlingException; use Cartalyst\Sentinel\Sentinel; use Illuminate\Http\Request; use Illuminate\Mail\Mailer; use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Validator; class AccountController extends Controller { public function postRegister(Request $request, Sentinel $sentinel, Mailer $mailer) { $data = $request->except('_token'); $validate = Validator::make($data, [ 'full_name' => 'required|string', // 'email' => 'required|email', 'phone' => 'required|string', 'password' => 'required|string' ]); if ($validate->fails()) JSONResponder::validationMessage('ALL FIELDS ARE REQUIRED'); $valEmail = Validator::make($data, [ 'email' => 'unique:users' ]); if ($valEmail->fails()) JSONResponder::validationMessage('EMAIL ALREADY REGISTERED'); $valPassword = Validator::make($data, [ 'password' => 'required|confirmed' ]); if ($valPassword->fails()) JSONResponder::validationMessage('PASSWORD DO NOT MATCH'); $user = $sentinel->registerAndActivate($data); // $mailer->to($request['email'])->send(new RegistrationEmail($user)); JSONResponder::validationMessage('Ok', '0'); } public function postLogin(Request $request, Sentinel $sentinel, User $user) { $rememberme = false; if (isset($request->rememberme)) $rememberme = true; $email = trim($request['email']); $password = trim($request['password']); try { if ($sentinel->authenticate(['login' => $email, 'password' => $password], $rememberme)) { $user = currentUser(); if ($user->next_due_date<=Carbon::now()->format('Y-m-d H:i:s')) { User::where('id', $user->id)->update(['subscription_status' => '0']); } if ($user->status=='1'){ $sentinel->logout(); $request->session()->flash('err', 'YOUR ACCOUNT IS CURRENTLY DISABLED'); return redirect('/login'); } $redirect = Session::get('loginRedirect', '/my_pesa/index'); Session::forget('loginRedirect'); return redirect($redirect); } return redirect('/login')->with(['err'=>'INVALID LOGIN DETAILS']); } catch (ThrottlingException $e) { $delay = $e->getDelay(); return redirect()->back()->with(['err'=>"YOU ARE FLAGGED! TRY LOGIN IN $delay SECONDS."]); } catch (NotActivatedException $e) { $user = $e->getUser(); return redirect()->back()->with(['err'=>"Hello $user->firstName, your account has not been activated. An email was sent to $user->email. Kindly check your email to proceed!"]); } } public function getLogout(Sentinel $sentinel) { $sentinel->logout(); return redirect('/'); } }