PATH:
home
/
lab2454c
/
tripvare.com
/
app
/
Http
/
Controllers
/
applicants
<?php namespace App\Http\Controllers\applicants; use App\Http\Controllers\Controller; use App\Models\User; use App\Models\Country; use App\Models\Setting; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Auth\Events\Registered; use Illuminate\Foundation\Auth\EmailVerificationRequest; use Illuminate\Support\Facades\Password; use Illuminate\Auth\Events\PasswordReset; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; use Illuminate\Support\Facades\Validator; use Mail; use Illuminate\Support\Facades\Storage; use Illuminate\Http\File; use Image; class ManageAuthentication extends Controller { /** * Invoke Login page resources. * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function invokeLogin(Request $request) { // if (Auth::check()) { // return redirect()->route('user.membership-lounge'); // } if($request->isMethod('post')){ $values= $request->validate([ 'email' => ['required', 'string', 'email'], 'otp' => ['required', 'string'], ]); // $request->validate([ // 'email' => 'required|string|email', // 'otp' => 'required|string', // ]); //$accees_credentials = $request->except('_token'); // if(Auth::guard('admin')->check()){ // $request->session()->invalidate(); // $request->session()->regenerateToken(); // } $user = User::where('email', $values['email']) ->where('otp', $values['otp']) ->first(); if (!$user) { return response([ 'message' => 'Wrong OTP Given!' ], 401); } //$token = $user->createToken('myapptoken')->plainTextToken; $response = [ 'user' => $user, //'token' => $token ]; return response($response, 201); /*if (Auth::attempt($accees_credentials) && Auth::user()->account_status) { $request->session()->regenerate(); $user = Auth::user(); return redirect()->intended(route('user.membership-lounge')); } else if (Auth::attempt($accees_credentials)) { $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(route('user.login'))->withErrors([ 'msg' => __('messages.auth.login.error.ac_inactivation') ]); } else { return back()->withErrors([ 'msg' => __('messages.auth.login.error.wrong_credentials'), ]); }*/ } //return view('applicants/authentication/login'); } /** * Invoke registration page resources. * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function invokeRegistration(Request $request) { // if (Auth::check()) { // return; // } if($request->isMethod('post')){ $validator = Validator::make($request->all(), [ 'first_name' => 'required', 'last_name' => 'required', 'email' => 'required|email|unique:users', ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); // echo '<pre>'; // print_r($validator->errors()); // echo '</pre>';exit; } // $this->validate($request, [ // 'first_name' => 'required', // 'last_name' => 'required', // 'email' => 'required|email|unique:users', // //'password' => 'required | min:5', // //'country_id' => 'required', // ] // //['country_id.required' => __('messages.applicant_dashboard.profile.error.country'),] // ); $otp = rand(1000,9999); $data = $request->except('_token'); $data['password'] = '12345'; $data['otp'] = $otp; $user = User::create($data); $site_setting = Setting::find(1); if(!empty($site_setting->account_activation_email) && !empty($site_setting->email_subject)){ $account_activation_email = str_replace('{%OTP%}', $otp, $site_setting->account_activation_email); Mail::send('emails.applicants.welcome', ['mail_content'=> $account_activation_email], function ($message) use ($site_setting,$request) { $message->to($request->email,$request->first_name.' '.$request->last_name); //$message->from($site_setting->email_from, $site_setting->sender_name); $message->subject($site_setting->email_subject); }); } return response([ 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'email' => $user->email, ],200)->header('Content-Type','application/json'); //return redirect(route('user.login'))->with('success', __('messages.auth.registration.success')); } // $countries = Country::orderBy('en_short_name', 'ASC')->get(); // return view('applicants/authentication/registration')->with('countries', $countries); } /** * Form to regenerate verification email. */ public function invokeResentVerification() { return view('applicants/authentication/resentverification'); } /** * Form to regenerate verification email. * @param \Illuminate\Http\Request $request */ public function generateVerificationEmail(Request $request) { $request->validate([ 'email' => 'required|email', ]); $user = User::where('email', '=', $request->email)->first(); if ($user) { $user->sendEmailVerificationNotification(); return back()->with('success', __('messages.auth.verification.resent.success')); } else { return back()->withErrors([ 'msg' => __('messages.auth.verification.resent.error'), ]); } } /** * Authenticate user email address * * @param \Illuminate\Foundation\Auth\EmailVerificationRequest $request * @return \Illuminate\Http\Response */ public function authenticateEmailVerification(EmailVerificationRequest $request) { $request->fulfill(); return redirect()->route('applicant.profile'); } /** * Authenticate user email address * * @param \Illuminate\Foundation\Auth\EmailVerificationRequest $request * @return \Illuminate\Http\Response */ public function notifyEmailVerification() { return view('applicants/authentication/login')->withErrors([ 'msg' => __('messages.auth.login.error.email_verification_pending', ['url' => url('resent-verification')]), ]); } /** * Form to regenerate password link. */ public function invokeForgotPassword() { return view('applicants/authentication/forgot_password'); } /** * Form to generate reset password link. * @param \Illuminate\Http\Request $request */ public function generateResetpasswordLink(Request $request) { $request->validate(['email' => 'required|email']); $status = Password::sendResetLink( $request->only('email') ); return $status === Password::RESET_LINK_SENT ? back()->with(['success' => __($status)]) : back()->withErrors(['msg' => __($status)]); } /** * Form to reset password. * @param string $token */ public function resetPassword($token) { return view('applicants/authentication/reset_password', ['token' => $token]); } /** * Form to update password. * @param \Illuminate\Http\Request $request */ public function updatePassword(Request $request) { $request->validate([ 'token' => 'required', 'email' => 'required|email', 'password' => 'required|min:5|confirmed', ]); $status = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function ($user, $password) use ($request) { $user->password = $password; $user->save(); $user->setRememberToken(Str::random(60)); event(new PasswordReset($user)); } ); return $status == Password::PASSWORD_RESET ? redirect()->route('user.login')->with('success', __($status)) : back()->withErrors(['msg' => [__($status)]]); } /** * Logout * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(route('user.login')); } public function updateProfilePicture(Request $request){ // echo '<pre>'; // print_r($request->all()); // echo '</pre>';exit; $validator = Validator::make($request->all(), [ "id" => 'required|string', "profile_picture" => 'required|file|max:95000', ]); if ($validator->fails()) { return response($validator->errors(),400)->header('Content-Type','application/json'); } $user = User::find($request->id); // if (isset($request->profile_picture)) { // Storage::delete($user->profile_picture); // $user->profile_picture = Storage::putFile('public/userDocuments', new File($request->profile_picture)); // } if ($request->profile_picture) { Storage::delete($user->profile_picture); } $image = $request->file('profile_picture'); $image_name = time() . '.' . $image->getClientOriginalExtension(); $resize_image = Image::make($image->getRealPath()); $resize_image->resize(300, 300, function($constraint){ $constraint->aspectRatio(); })->save(storage_path('app/public/userDocuments/') . $image_name); $user->profile_picture= 'public/userDocuments/'.$image_name; $user->save(); return response( [ 'user' => $user, ], 201); } }
[+]
..
[-] ManageAuthentication.php
[edit]
[-] MemberAccessPayment.php
[edit]
[+]
dashboard