update,
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Foundation\Auth\ConfirmsPasswords;
|
||||
|
||||
class ConfirmPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Confirm Password Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password confirmations and
|
||||
| uses a simple trait to include the behavior. You're free to explore
|
||||
| this trait and override any functions that require customization.
|
||||
|
|
||||
*/
|
||||
|
||||
use ConfirmsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users when the intended url fails.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset emails and
|
||||
| includes a trait which assists in sending these notifications from
|
||||
| your application to your users. Feel free to explore this trait.
|
||||
|
|
||||
*/
|
||||
|
||||
use SendsPasswordResetEmails;
|
||||
}
|
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Login Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles authenticating users for the application and
|
||||
| redirecting them to your home screen. The controller uses a trait
|
||||
| to conveniently provide its functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest')->except('logout');
|
||||
}
|
||||
public function index() {
|
||||
if(Auth::check()){
|
||||
return redirect(route('admin.dashboard'));
|
||||
}
|
||||
return view('admin.login');
|
||||
}
|
||||
/* Login Check Authenticate User */
|
||||
public function login(Request $request){
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'email' => 'required|email|max:255',
|
||||
'password' => 'required|min:8',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
|
||||
return redirect('login')
|
||||
->withErrors($validator, 'login')
|
||||
->withInput();
|
||||
}
|
||||
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
|
||||
$user = Auth::user();
|
||||
if($user->email_verified_at && $user->email_verified_at ==null){
|
||||
$this->logout($request);
|
||||
redirect()->route('login')->with("error","Your are not verified user.");
|
||||
}
|
||||
if($user->role == 1){
|
||||
return redirect()->route('admin.dashboard')->with("success","Welcome To ". env("APP_NAME"));
|
||||
}else{
|
||||
redirect()->route('login')->with("error","Your are not authorized user.");
|
||||
}
|
||||
|
||||
}else{
|
||||
return redirect()->back()->with("error","Invalid Email Or Password.");
|
||||
}
|
||||
}
|
||||
|
||||
/*Logout*/
|
||||
public function logout(Request $request){
|
||||
Auth::logout();
|
||||
$request->session()->regenerateToken();
|
||||
return redirect()->route('login');
|
||||
}
|
||||
}
|
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles the registration of new users as well as their
|
||||
| validation and creation. By default this controller uses a trait to
|
||||
| provide this functionality without requiring any additional code.
|
||||
|
|
||||
*/
|
||||
|
||||
use RegistersUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after registration.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a validator for an incoming registration request.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \Illuminate\Contracts\Validation\Validator
|
||||
*/
|
||||
protected function validator(array $data)
|
||||
{
|
||||
return Validator::make($data, [
|
||||
'name' => ['required', 'string', 'max:255'],
|
||||
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new user instance after a valid registration.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \App\Models\User
|
||||
*/
|
||||
protected function create(array $data)
|
||||
{
|
||||
return User::create([
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'password' => Hash::make($data['password']),
|
||||
]);
|
||||
}
|
||||
}
|
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use App\Models\ResetPassword;
|
||||
use App\Jobs\SendEmailJob;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
|
||||
class ResetPasswordController extends Controller {
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset requests
|
||||
| and uses a simple trait to include this behavior. You're free to
|
||||
| explore this trait and override any methods you wish to tweak.
|
||||
|
|
||||
*/
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users after resetting their password.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
public function forgotpassword() {
|
||||
return view('admin.forgotpassword');
|
||||
}
|
||||
|
||||
public function sendEmailForgotPassword(Request $request) {
|
||||
$validator = Validator::make($request->all(), [
|
||||
'email' => 'required|email|max:255',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('forgotpassword')
|
||||
->withErrors($validator, 'forgotpassword')
|
||||
->withInput();
|
||||
}
|
||||
$user = User::where('email', $request->email)->first();
|
||||
if (!$user) {
|
||||
return redirect()->route('forgotpassword')->with("error", "Your not Registered User.");
|
||||
}
|
||||
$token = Crypt::encrypt($request->email);
|
||||
ResetPassword::updateOrCreate(["email" => $request->email, 'token' => $token]);
|
||||
dispatch(new SendEmailJob([
|
||||
'_blade' => 'forgot',
|
||||
'name' => $user->name,
|
||||
'toemail' => $request->email,
|
||||
'token' => $token,
|
||||
'url' => route('resetpassword', $token)
|
||||
]));
|
||||
return redirect()->route('forgotpassword')->with("success", "Your Forgot Password mail has been sent Succefully!");
|
||||
}
|
||||
|
||||
public function resetpassword($token) {
|
||||
$resetpasswordData = ResetPassword::where('token', $token)->first();
|
||||
if (empty($resetpasswordData)) {
|
||||
return redirect()->route('login')->with("error", "Your Reset Password link has been expired.");
|
||||
}
|
||||
return view('admin.resetpassword', compact('resetpasswordData'));
|
||||
}
|
||||
|
||||
public function postResetPassword(Request $request) {
|
||||
if ($request->password != $request->confirmpassword) {
|
||||
return redirect()->route('resetpassword')->with("error", "Password and Confirm Password has been not match.");
|
||||
}
|
||||
$email = $request->email;
|
||||
User::where('email', $email)->update(["password" => Hash::make($request->password)]);
|
||||
ResetPassword::where('email', $email)->delete();
|
||||
return redirect()->route('login')->with("success", "Your Password has been Reset Succefully!");
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Foundation\Auth\VerifiesEmails;
|
||||
|
||||
class VerificationController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Email Verification Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling email verification for any
|
||||
| user that recently registered with the application. Emails may also
|
||||
| be re-sent if the user didn't receive the original email message.
|
||||
|
|
||||
*/
|
||||
|
||||
use VerifiesEmails;
|
||||
|
||||
/**
|
||||
* Where to redirect users after verification.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
$this->middleware('signed')->only('verify');
|
||||
$this->middleware('throttle:6,1')->only('verify', 'resend');
|
||||
}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Country;
|
||||
use App\Models\State;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class CountryController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
return view('admin.country.index');
|
||||
}
|
||||
|
||||
public function getCountryList(Request $request){
|
||||
return Country::getCountryList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
return view('admin.country.create');
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|unique:country,name',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.country.add')
|
||||
->withErrors($validator, 'country')
|
||||
->withInput();
|
||||
}
|
||||
$country = Country::addEditCountry($request);
|
||||
if($country){
|
||||
return redirect()->route('admin.country')->with("success","Country add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.add-country')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$country = Country::find($id);
|
||||
return view('admin.country.edit',compact('country'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|unique:country,name,'.$id,
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.country.edit',$id)
|
||||
->withErrors($validator, 'country')
|
||||
->withInput();
|
||||
}
|
||||
$country = Country::addEditCountry($request,$id);
|
||||
if($country){
|
||||
return redirect()->route('admin.country')->with("success","Country update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.country.edit',$id)->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{ $state = State::where('country_id',$request->id)->get();
|
||||
if ($state->count() == 0){
|
||||
$data = Country::countrydelete($request->id);
|
||||
if($data == 1){
|
||||
echo json_encode(["status"=>1]);exit;
|
||||
}else{
|
||||
echo json_encode(["status"=>0]);exit;
|
||||
}
|
||||
}else{
|
||||
echo json_encode(["status"=>2]);exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Exam;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\ExamCategory;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
|
||||
class ExamCategoryController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.examcategory.index');
|
||||
}
|
||||
|
||||
public function getExamCategoryList(Request $request){
|
||||
return ExamCategory::getExamCategoryList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
return view('admin.examcategory.create');
|
||||
}
|
||||
|
||||
function store(Request $request){
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|unique:exam_category,title'
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.examcategory.add')
|
||||
->withErrors($validator, 'examcategory')
|
||||
->withInput();
|
||||
}
|
||||
$state = ExamCategory::addEditExamCategory($request);
|
||||
if($state){
|
||||
return redirect()->route('admin.examcategory')->with("success","Exam Category add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.examcategory.add')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$examcategory = ExamCategory::find($id);
|
||||
return view('admin.examcategory.edit',compact('examcategory'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id){
|
||||
$validator = Validator::make($request->all(), [
|
||||
'title' => 'required|unique:exam_category,title,except'.$id
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.examcategory.edit',$id)
|
||||
->withErrors($validator, 'examcategory')
|
||||
->withInput();
|
||||
}
|
||||
$country = ExamCategory::addEditExamCategory($request,$id);
|
||||
if($country){
|
||||
return redirect()->route('admin.examcategory')->with("success","Exam Category update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.examcategory.edit')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request){
|
||||
$exam = Exam::where('exam_category_id',$request->id)->get();
|
||||
if ($exam->count() == 0){
|
||||
$data = ExamCategory::ExamCategorydelete($request->id);
|
||||
if($data == 1){
|
||||
echo json_encode(["status"=>1]);exit;
|
||||
}else{
|
||||
echo json_encode(["status"=>0]);exit;
|
||||
}
|
||||
}else{
|
||||
echo json_encode(["status"=>2]);exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Country;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Exam;
|
||||
use App\Models\ExamCategory;
|
||||
use App\Models\Plan;
|
||||
use App\Models\State;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class ExamController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.exam.index');
|
||||
}
|
||||
|
||||
public function getExamList(Request $request){
|
||||
return Exam::getExamList($request);
|
||||
}
|
||||
public function get_StateList(Request $request)
|
||||
{
|
||||
$country = $request->country_id;
|
||||
$state = State::get_StateList($country);
|
||||
return Response::json($state);
|
||||
}
|
||||
public function create(Request $request){
|
||||
$country = Country::get_CountryList();
|
||||
$examCategory = ExamCategory::get_ExamCategoryList();
|
||||
return view('admin.exam.create',compact('country','examCategory'));
|
||||
}
|
||||
|
||||
function store(Request $request){
|
||||
$validator = Validator::make($request->all(), [
|
||||
'country' => 'required',
|
||||
'state' => 'required',
|
||||
'examcategory' => 'required',
|
||||
'name' => 'required|unique:exam,name',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()
|
||||
->route('admin.exam.add')
|
||||
->withErrors($validator, 'exam')
|
||||
->withInput();
|
||||
}
|
||||
$Exam = Exam::addEditExam($request);
|
||||
if ($Exam) {
|
||||
return redirect()
|
||||
->route('admin.exam')
|
||||
->with('success', 'Exam update Successfully!');
|
||||
} else {
|
||||
return redirect()
|
||||
->route('admin.exam.add')
|
||||
->with('error', 'Some thing went wrong!');
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$exam = Exam::find($id);
|
||||
$country = Country::get_CountryList();
|
||||
$state = State::all();
|
||||
$examCategory = ExamCategory::get_ExamCategoryList();
|
||||
return view('admin.exam.edit', compact('exam','country','state','examCategory'));
|
||||
}
|
||||
|
||||
public function update(Request $request, $id){
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|unique:exam,name,'. $id,
|
||||
'country' => 'required',
|
||||
'state' => 'required',
|
||||
'examcategory' => 'required',
|
||||
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()
|
||||
->route('admin.exam.edit', $id)
|
||||
->withErrors($validator, 'exam')
|
||||
->withInput();
|
||||
}
|
||||
$Exam = Exam::addEditExam($request, $id);
|
||||
if ($Exam) {
|
||||
return redirect()
|
||||
->route('admin.exam')
|
||||
->with('success', 'Exam update Successfully!');
|
||||
} else {
|
||||
return redirect()
|
||||
->route('admin.Exam.edit', $id)
|
||||
->with('error', 'Some thing went wrong!');
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request){
|
||||
$plan = Plan::where('exam_id',$request->id)->get();
|
||||
if ($plan->count() == 0){
|
||||
$data = Exam::Examdelete($request->id);
|
||||
if($data == 1){
|
||||
echo json_encode(["status"=>1],true);exit;
|
||||
}else{
|
||||
echo json_encode(["status"=>0],true);exit;
|
||||
}
|
||||
}else{
|
||||
echo json_encode(["status"=>2],true);exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Services\CommonService;
|
||||
|
||||
class HomeController extends Controller {
|
||||
|
||||
protected $service;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(CommonService $userService) {
|
||||
$this->middleware('auth');
|
||||
$this->service = $userService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the application dashboard.
|
||||
*
|
||||
* @return \Illuminate\Contracts\Support\Renderable
|
||||
*/
|
||||
public function dashboard() {
|
||||
if (Auth::user()) {
|
||||
$data['totalExam'] = $this->service->totalExam();
|
||||
$data['totalPlan'] = $this->service->totalPlan();
|
||||
$data['totalSubject'] = $this->service->totalSubject();
|
||||
$data['totalTest'] = $this->service->totalTest();
|
||||
$data['totalCountry'] = $this->service->totalCountry();
|
||||
$data['totalState'] = $this->service->totalState();
|
||||
return view('admin.dashboard', compact('data'));
|
||||
} else {
|
||||
Auth::logout();
|
||||
return redirect(route('login'));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Admin Profile
|
||||
*/
|
||||
|
||||
public function profile() {
|
||||
$user = User::find(Auth::user()->id);
|
||||
return view('admin.profile', compact('user'));
|
||||
}
|
||||
|
||||
/*
|
||||
* Update User Profile
|
||||
*/
|
||||
|
||||
public function updateProfile(Request $request) {
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|max:255',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('admin/profile')->withErrors($validator, 'profile')->withInput();
|
||||
}
|
||||
User::updateProfile($request, Auth::user()->id);
|
||||
return redirect()->route('admin.profile')->with('success', 'Profile Update Successfully!');
|
||||
}
|
||||
|
||||
/*
|
||||
* Update User Password
|
||||
*/
|
||||
|
||||
public function updatePassword(Request $request) {
|
||||
$validator = Validator::make($request->all(), [
|
||||
'currentpassword' => 'required|max:255',
|
||||
'newpassword' => 'required|max:255',
|
||||
'password_confirmation' => 'required|max:255|same:newpassword',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('admin/profile')->withErrors($validator, 'changepassword')->withInput();
|
||||
}
|
||||
if (!Hash::check($request->currentpassword, Auth::user()->password)) {
|
||||
return redirect()->route('admin.profile')->with('error', 'Password and Current Password does not match.');
|
||||
}
|
||||
if ($request->newpassword != $request->password_confirmation) {
|
||||
return redirect()->route('admin.profile')->with('error', 'New Password and Confirm Password does not match.');
|
||||
}
|
||||
User::updatePassword($request, Auth::user()->id);
|
||||
return redirect()->route('admin.profile')->with('success', 'Password Change Successfully!');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Exam;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Plan;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class PlanController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.plan.index');
|
||||
}
|
||||
|
||||
public function getPlanList(Request $request){
|
||||
return Plan::getPlanList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
$exam = Exam::all();
|
||||
return view('admin.plan.create',compact('exam'));
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'exam' => 'required',
|
||||
'name' => 'required|unique:plans,name',
|
||||
'year' => 'required|numeric',
|
||||
'price' => 'required',
|
||||
'validity' => 'required',
|
||||
'unlimited_test_attempt'=>"required",
|
||||
'attempt' => 'required_if:unlimited_test_attempt,==,0',
|
||||
]);
|
||||
$message = array(
|
||||
'required_if' =>'Attempt field is required.'
|
||||
);
|
||||
if ($validator->fails($message)) {
|
||||
return redirect()->route('admin.plan.add')
|
||||
->withErrors($validator, 'plan')
|
||||
->withInput();
|
||||
}
|
||||
$plan = Plan::addEditPlan($request);
|
||||
if($plan){
|
||||
return redirect()->route('admin.plan')->with("success","Plan add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.add-plan')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$exam = Exam::all();
|
||||
$plan = Plan::find($id);
|
||||
return view('admin.plan.edit',compact('plan','exam'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'exam' => 'required',
|
||||
'name' => 'required|unique:plans,name,'.$id,
|
||||
'year' => 'required|numeric',
|
||||
'price' => 'required',
|
||||
'validity' => 'required',
|
||||
'unlimited_test_attempt'=>"required",
|
||||
'attempt' => 'required_if:unlimited_test_attempt,==,0',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.plan.edit',$id)
|
||||
->withErrors($validator, 'plan')
|
||||
->withInput();
|
||||
}
|
||||
$plan = Plan::addEditPlan($request,$id);
|
||||
if($plan){
|
||||
return redirect()->route('admin.plan')->with("success","Plan update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.plan.edit',$id)->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{ $exam = Plan::where('id',$request->id)->get();
|
||||
if(empty($state)){
|
||||
$data = Plan::countrydelete($request->id);
|
||||
if($data == 1){
|
||||
echo json_encode(["status"=>1]);exit;
|
||||
}else{
|
||||
echo json_encode(["status"=>2]);exit;
|
||||
}
|
||||
}else{
|
||||
echo json_encode(["status"=>0]);exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\State;
|
||||
use App\Models\Country;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
|
||||
class StateController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.state.index');
|
||||
}
|
||||
|
||||
public function getStateList(Request $request){
|
||||
return State::getStateList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
$country = Country::get_CountryList();
|
||||
return view('admin.state.create',compact('country'));
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'country' =>'required',
|
||||
'name' => 'required|unique:state,name',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('admin/add-state')
|
||||
->withErrors($validator, 'state')
|
||||
->withInput();
|
||||
}
|
||||
$state = State::addEditState($request);
|
||||
if($state){
|
||||
return redirect()->route('admin.state')->with("success","State add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.add-state')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$country = Country::get_CountryList();
|
||||
$state = State::find($id);
|
||||
return view('admin.state.edit',compact('country','state'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'country' =>'required',
|
||||
'name' => 'required|unique:state,name,'.$id
|
||||
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.state.edit',$id)
|
||||
->withErrors($validator, 'state')
|
||||
->withInput();
|
||||
}
|
||||
$state = State::addEditState($request,$id);
|
||||
if($state){
|
||||
return redirect()->route('admin.state')->with("success","State update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.state.edit',$id)->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$data = State::Statedelete($request->id);
|
||||
if($data == 1){
|
||||
return Response::json(["status"=>true],200);
|
||||
}else{
|
||||
return Response::json(["status"=>false],500);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use App\Models\Subject;
|
||||
use App\Models\Plan;
|
||||
use App\Models\Test;
|
||||
|
||||
class SubjectController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.subject.index');
|
||||
}
|
||||
|
||||
public function getSubjectList(Request $request){
|
||||
return Subject::getSubjectList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
$plan = Plan::get_PlanList();
|
||||
return view('admin.subject.create',compact('plan'));
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'plan' =>'required',
|
||||
'name' => 'required|unique:subjects,name',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('admin/add-subject')
|
||||
->withErrors($validator, 'state')
|
||||
->withInput();
|
||||
}
|
||||
$state = Subject::addEditSubject($request);
|
||||
if($state){
|
||||
return redirect()->route('admin.subject')->with("success","State add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.add-subject')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$plan = Plan::get_PlanList();
|
||||
$subject = Subject::find($id);
|
||||
return view('admin.subject.edit',compact('plan','subject'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'plan' =>'required',
|
||||
'name' => 'required|unique:subjects,name,'.$id
|
||||
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.subject.edit',$id)
|
||||
->withErrors($validator, 'subject')
|
||||
->withInput();
|
||||
}
|
||||
$subject = Subject::addEditSubject($request,$id);
|
||||
if($subject){
|
||||
return redirect()->route('admin.subject')->with("success","Subject update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.subject.edit',$id)->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$test = Test::where('subject_id',$request->id)->get();
|
||||
if ($test->count() == 0){
|
||||
$data = Subject::Subjectdelete($request->id);
|
||||
if($data == 1){
|
||||
echo json_encode(["status"=>1]);exit;
|
||||
}else{
|
||||
echo json_encode(["status"=>0]);exit;
|
||||
}
|
||||
}else{
|
||||
echo json_encode(["status"=>2]);exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Test;
|
||||
use App\Models\Subject;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class TestController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
return view('admin.test.index');
|
||||
}
|
||||
|
||||
public function getTestList(Request $request)
|
||||
{
|
||||
return Test::getTestList($request);
|
||||
}
|
||||
public function create(Request $request)
|
||||
{
|
||||
$subject = Subject::all();
|
||||
return view('admin.test.create',compact('subject'));
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'subject' => 'required',
|
||||
'name' => 'required|unique:test,name',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.test.add')
|
||||
->withErrors($validator, 'test')
|
||||
->withInput();
|
||||
}
|
||||
$test = Test::addEditTest($request);
|
||||
if ($test) {
|
||||
return redirect()->route('admin.test')->with("success", "Test add Successfully!");
|
||||
} else {
|
||||
return redirect()->route('admin.add-test')->with("error", "Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
$subject = Subject::all();
|
||||
$test = Test::find($id);
|
||||
return view('admin.test.edit', compact('subject','test'));
|
||||
}
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'subject' => 'required',
|
||||
'name' => 'required|unique:test,name,' . $id,
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.test.edit', $id)
|
||||
->withErrors($validator, 'test')
|
||||
->withInput();
|
||||
}
|
||||
$test = Test::addEditTest($request, $id);
|
||||
if ($test) {
|
||||
return redirect()->route('admin.test')->with("success", "Test update Successfully!");
|
||||
} else {
|
||||
return redirect()->route('admin.test.edit', $id)->with("error", "Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$data = Test::testdelete($request->id);
|
||||
if ($data == 1) {
|
||||
echo json_encode(["status" => 1]);
|
||||
exit;
|
||||
} else {
|
||||
echo json_encode(["status" => 0]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\TestQuestion;
|
||||
use App\Models\Test;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
|
||||
class TestQuestionController extends Controller
|
||||
{
|
||||
public function index(){
|
||||
return view('admin.test_question.index');
|
||||
}
|
||||
|
||||
public function getQuestionList(Request $request){
|
||||
return TestQuestion::getQuestionList($request);
|
||||
}
|
||||
public function create(Request $request){
|
||||
$test = TestQuestion::get_TestList();
|
||||
return view('admin.test_question.create',compact('test'));
|
||||
}
|
||||
|
||||
function store(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'test' =>'required',
|
||||
'question' => 'required|unique:test_question,question',
|
||||
'option_1' => 'required|unique:test_question,option_1',
|
||||
'option_2' => 'required|unique:test_question,option_2',
|
||||
'option_3' => 'required|unique:test_question,option_2',
|
||||
'option_4' => 'required|unique:test_question,option_2',
|
||||
'true_answer' => 'required|unique:test_question,true_answer',
|
||||
'solution' => 'required|unique:test_question,solution',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect('admin/add-question')
|
||||
->withErrors($validator, 'testquestion')
|
||||
->withInput();
|
||||
}
|
||||
$question = TestQuestion::addEditTestQuestion($request);
|
||||
if($question){
|
||||
return redirect()->route('admin.question')->with("success","Test Question add Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.add-question')->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id){
|
||||
$test = TestQuestion::get_TestList();
|
||||
$state = TestQuestion::find($id);
|
||||
return view('admin.test_question.edit',compact('country','state'));
|
||||
}
|
||||
|
||||
public function update(Request $request,$id)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'test' =>'required',
|
||||
'question' => 'required|unique:test_question,question',
|
||||
'option_1' => 'required|unique:test_question,option_1',
|
||||
'option_2' => 'required|unique:test_question,option_2',
|
||||
'option_3' => 'required|unique:test_question,option_2',
|
||||
'option_4' => 'required|unique:test_question,option_2',
|
||||
'true_answer' => 'required|unique:test_question,true_answer',
|
||||
'solution' => 'required|unique:test_question,solution',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('admin.state.edit',$id)
|
||||
->withErrors($validator, 'state')
|
||||
->withInput();
|
||||
}
|
||||
$question = TestQuestion::addEditTestQuestion($request,$id);
|
||||
if($question){
|
||||
return redirect()->route('admin.state')->with("success","Test Question update Successfully!");
|
||||
}else{
|
||||
return redirect()->route('admin.state.edit',$id)->with("error","Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
public function delete(Request $request)
|
||||
{
|
||||
$data = TestQuestion::Statedelete($request->id);
|
||||
if($data == 1){
|
||||
return Response::json(["status"=>true],200);
|
||||
}else{
|
||||
return Response::json(["status"=>false],500);
|
||||
}
|
||||
|
||||
}
|
||||
public function show($id){
|
||||
$testquestion = TestQuestion::find($id);
|
||||
return view('admin.test_question.show',compact('testquestion'));
|
||||
}
|
||||
}
|
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\front;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
/* Login / Register Page */
|
||||
public function login()
|
||||
{
|
||||
return view('front.login');
|
||||
}
|
||||
|
||||
/* Login */
|
||||
public function postlogin(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'email' => 'required|email|max:255',
|
||||
'password' => 'required|min:8',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return redirect('front.login')
|
||||
->withErrors($validator, 'login')
|
||||
->withInput();
|
||||
}
|
||||
|
||||
if (Auth::attempt($request->only('email', 'password'))) {
|
||||
$user = Auth::user();
|
||||
if ($user->role != config('const.studentRole')) {
|
||||
return redirect()->route('front.login')->with("error", "You are not authorized user.");
|
||||
}
|
||||
return redirect()->route('front.dashboard');
|
||||
} else {
|
||||
return redirect()->route('front.login')->with("error", "Invalid Email Or Password.");
|
||||
}
|
||||
}
|
||||
|
||||
/* Regisert */
|
||||
public function register(Request $request)
|
||||
{
|
||||
$validator = Validator::make($request->all(), [
|
||||
'name' => 'required|max:100',
|
||||
'email' => 'required|unique:users,email|max:190',
|
||||
'password' => 'required|confirmed',
|
||||
'password_confirmation' => 'required|same:password'
|
||||
]);
|
||||
$message = array(
|
||||
'password.confirmed' => 'Password and Confirm Password doesnot match.'
|
||||
);
|
||||
if ($validator->fails($message)) {
|
||||
return redirect()->route('front.login')
|
||||
->withErrors($validator, 'register')
|
||||
->withInput();
|
||||
}
|
||||
$user = User::where('email', $request->email)->count();
|
||||
if ($user > 0) {
|
||||
return redirect()->route('front.login')->with("error", "Email is already registered.");
|
||||
}
|
||||
$user = User::register($request);
|
||||
if ($user) {
|
||||
return redirect()->route('front.login')->with("success", "You are Register Successfully!");
|
||||
} else {
|
||||
return redirect()->route('front.login')->with("error", "Some thing went wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
/*Logout*/
|
||||
public function logout(Request $request)
|
||||
{
|
||||
Auth::logout();
|
||||
$request->session()->regenerateToken();
|
||||
return redirect()->route('front.login');
|
||||
}
|
||||
}
|
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\front;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Models\User;
|
||||
|
||||
|
||||
class FrontHomeController extends Controller
|
||||
{
|
||||
public function index() {
|
||||
return view('front.index');
|
||||
}
|
||||
|
||||
/* Student Dashboard */
|
||||
public function dashboard(){
|
||||
return view('front.dahsboard');
|
||||
}
|
||||
/* Student Profile */
|
||||
public function profile(){
|
||||
return view('front.profile');
|
||||
}
|
||||
/* Student Change Password */
|
||||
public function changepassword(){
|
||||
return view('front.changepassword');
|
||||
}
|
||||
|
||||
/*
|
||||
* Update User Password
|
||||
*/
|
||||
|
||||
public function updatePassword(Request $request) {
|
||||
$validator = Validator::make($request->all(), [
|
||||
'currentpassword' => 'required|max:255',
|
||||
'password' => 'required|max:255',
|
||||
'password_confirmation' => 'required|max:255|same:password',
|
||||
]);
|
||||
if ($validator->fails()) {
|
||||
return redirect()->route('front.changepassword')->withErrors($validator, 'changepassword')->withInput();
|
||||
}
|
||||
if (!Hash::check($request->currentpassword, Auth::user()->password)) {
|
||||
return redirect()->route('front.changepassword')->with('error', 'Password and Current Password does not match.');
|
||||
}
|
||||
if ($request->newpassword != $request->confirmpassword) {
|
||||
return redirect()->route('front.changepassword')->with('error', 'New Password and Confirm Password does not match.');
|
||||
}
|
||||
User::updatePassword($request, Auth::user()->id);
|
||||
return redirect()->route('front.changepassword')->with('success', 'Password Change Successfully!');
|
||||
}
|
||||
}
|
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http;
|
||||
|
||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||
|
||||
class Kernel extends HttpKernel
|
||||
{
|
||||
/**
|
||||
* The application's global HTTP middleware stack.
|
||||
*
|
||||
* These middleware are run during every request to your application.
|
||||
*
|
||||
* @var array<int, class-string|string>
|
||||
*/
|
||||
protected $middleware = [
|
||||
// \App\Http\Middleware\TrustHosts::class,
|
||||
\App\Http\Middleware\TrustProxies::class,
|
||||
\Illuminate\Http\Middleware\HandleCors::class,
|
||||
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||
\App\Http\Middleware\TrimStrings::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware groups.
|
||||
*
|
||||
* @var array<string, array<int, class-string|string>>
|
||||
*/
|
||||
protected $middlewareGroups = [
|
||||
'web' => [
|
||||
\App\Http\Middleware\EncryptCookies::class,
|
||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
\Illuminate\Session\Middleware\StartSession::class,
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
'throttle:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* The application's route middleware.
|
||||
*
|
||||
* These middleware may be assigned to groups or used individually.
|
||||
*
|
||||
* @var array<string, class-string|string>
|
||||
*/
|
||||
protected $routeMiddleware = [
|
||||
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'prevent-back-history' => \App\Http\Middleware\PreventBackHistory::class,
|
||||
];
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||
|
||||
class Authenticate extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the path the user should be redirected to when they are not authenticated.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return string|null
|
||||
*/
|
||||
protected function redirectTo($request)
|
||||
{
|
||||
if (! $request->expectsJson()) {
|
||||
return route('login');
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
|
||||
class EncryptCookies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class PreventBackHistory {
|
||||
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next) {
|
||||
$response = $next($request);
|
||||
return $response->header('Cache-Control', 'nocache, no-store, max-age=0, must-revalidate')
|
||||
->header('Pragma', 'no-cache')
|
||||
->header('Expires', 'Sun, 02 Jan 1990 00:00:00 GMT');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
|
||||
|
||||
class PreventRequestsDuringMaintenance extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be reachable while maintenance mode is enabled.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class RedirectIfAuthenticated
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||
* @param string|null ...$guards
|
||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function handle(Request $request, Closure $next, ...$guards)
|
||||
{
|
||||
$guards = empty($guards) ? [null] : $guards;
|
||||
|
||||
foreach ($guards as $guard) {
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect(RouteServiceProvider::HOME);
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||
|
||||
class TrimStrings extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the attributes that should not be trimmed.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
'current_password',
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustHosts as Middleware;
|
||||
|
||||
class TrustHosts extends Middleware
|
||||
{
|
||||
/**
|
||||
* Get the host patterns that should be trusted.
|
||||
*
|
||||
* @return array<int, string|null>
|
||||
*/
|
||||
public function hosts()
|
||||
{
|
||||
return [
|
||||
$this->allSubdomainsOfApplicationUrl(),
|
||||
];
|
||||
}
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TrustProxies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The trusted proxies for this application.
|
||||
*
|
||||
* @var array<int, string>|string|null
|
||||
*/
|
||||
protected $proxies;
|
||||
|
||||
/**
|
||||
* The headers that should be used to detect proxies.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $headers =
|
||||
Request::HEADER_X_FORWARDED_FOR |
|
||||
Request::HEADER_X_FORWARDED_HOST |
|
||||
Request::HEADER_X_FORWARDED_PORT |
|
||||
Request::HEADER_X_FORWARDED_PROTO |
|
||||
Request::HEADER_X_FORWARDED_AWS_ELB;
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Routing\Middleware\ValidateSignature as Middleware;
|
||||
|
||||
class ValidateSignature extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the query string parameters that should be ignored.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
// 'fbclid',
|
||||
// 'utm_campaign',
|
||||
// 'utm_content',
|
||||
// 'utm_medium',
|
||||
// 'utm_source',
|
||||
// 'utm_term',
|
||||
];
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||
|
||||
class VerifyCsrfToken extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
Reference in New Issue
Block a user