<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Input;
//use Illuminate\Support\Facades\Flash;
use InvalidConfirmationCodeException;
use Flash;
//use Mail;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
class UserController extends Controller
{
public function getmyplace()
{
return view('myplace');
}
public function getverify()
{
return view('verify');
}
public function postSignUp(Request $request)
{
$this->validate($request,[
'firstname' => 'required',
'lastname' => 'required',
'rollno' => 'required|digits:10|unique:users',
'username'=> 'required|unique:users|min:5' ,
'email' => 'required|email|unique:users' ,
'password' => 'required|min:8',
'gender' => 'required',
'birthday' => 'required' ,
'tnc' => 'required'
]);
$firstname=$request['firstname'];
$lastname=$request['lastname'];
$rollno=$request['rollno'];
$email=$request['email'];
$username=$request['username'];
$password=bcrypt($request['password']);
$gender=$request['gender'];
$birthday=$request['birthday'];
$tnc=$request['tnc'];
$confirmation_code = str_random(30);
$user=new User();
$user->firstname=$firstname;
$user->lastname=$lastname;
$user->email=$email;
$user->username=$username;
$user->password=$password;
$user->rollno=$rollno;
$user->gender=$gender;
$user->birthday=$birthday;
$user->tnc=$tnc;
$user->confirmation_code= $confirmation_code;
$user->save();
Auth::login($user);
Mail::send('emails.email', ['confirmation_code' => $confirmation_code], function($message) {
$message->to(Input::get('email'), Input::get('username'))
->subject('Verify your email address');
});
// Flash::message('Thanks for signing up! Please check your email.');
return redirect()->route('verify');
}
public function postSignIn(Request $request)
{
$this->validate($request,[
'email'=> 'required' ,
'password' => 'required'
]);
if(Auth::attempt(['email'=>$request['email'], 'password' => $request['password']]))
{
//return redirect()->route('myplace');
return redirect()->route('myplace') ;
}
return redirect()->back();
}
public function confirm($confirmation_code)
{
if( ! $confirmation_code)
{
Flash::message('wrong');
// throw new InvalidConfirmationCodeException;
}
$user = User::whereConfirmationCode($confirmation_code)->first();
if ( ! $user)
{
Flash::message('login please');
// throw new InvalidConfirmationCodeException;
}
$user->confirmed = 1;
$user->confirmation_code = null;
$user->save();
Flash::message('You have successfully verified your account.');
return redirect()->route('home');
}
}
?>