|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/parassaas.edukrypt.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Helpers\Frontend;
use App\Models\Admin_user;
use App\Models\Otpsession;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
class AuthController extends Controller
{
public function superAdminlogin()
{
return view('superadmin.login');
}
public function superAdminMakeLogin(Request $Request)
{
// dd($Request->input());
$validator = Validator::make($Request->all(), [
'password' => "required",
'email' => "required"
]);
if ($validator->fails()) {
return back()
->withErrors($validator)
->withInput();
}
$data = array(
'email' => $Request->email,
'password' => $Request->password,
'role_id' => '1',
);
// dd($data);
if (Auth::guard('admin')->attempt($data)) {
$res = Admin_user::where(['email' => $Request->email])->first();
// dd($res);
$data = ['id' => $res->id, 'parent_id' => $res->parent_id, 'username' => $res->username, 'email' => $res->email, 'role_id' => $res->role_id, 'phone' => $res->phone];
$Request->session()->put('loggedIn', $data);
return redirect('superadmin/dashboard');
} else {
return back()->with('error', 'invalid Email Or Password!');
}
}
public function login()
{
return view('admin.login');
}
public function makeLogin(Request $Request)
{
// dd($Request->input());
$validator = Validator::make($Request->all(), [
'password' => "required",
'email' => "required"
]);
if ($validator->fails()) {
return back()
->withErrors($validator)
->withInput();
}
$data = array(
'email' => $Request->email,
'password' => $Request->password,
// 'role_id'=>'2',
);
if (Auth::guard('admin')->attempt($data)) {
$res = Admin_user::where(['email' => $Request->email])->first();
// 2 Factor Login Email OTP
if ($res->twofactor) {
$OTP = rand(11111, 99999);
$HTML = "Your secure code is $OTP for " . $res->institute . " Panel login.";
$SUBJECT = $res->institute . " Login OTP";
$result = Frontend::sendMailPostal($res->email, $SUBJECT, $HTML);
$data = array(
'message_id' => $result->result->message_id,
'email' => $res->email,
'otp' => $OTP
);
if (Otpsession::create($data) && ($result->result->message_id)) {
// SESSION OTP
//$Request->session()->put('twoFactor', $data);
return redirect('two-factor/' . $result->result->message_id)->with('success', 'Varification code send to your email successfully!.');
}
return back()->with('error', 'Something went wrong!');
}
$data = ['id' => $res->id, 'parent_id' => $res->parent_id, 'profile_pics' => $res->profile_pics, 'username' => $res->username, 'email' => $res->email, 'role_id' => $res->role_id, 'phone' => $res->phone];
$Request->session()->put('loggedIn', $data);
return redirect('admin/dashboard');
} else {
return back()->with('error', 'invalid Email Or Password!');
}
}
public function two_factor(Request $request, $message_id)
{
$otpData = Otpsession::where('message_id', $message_id)->first();
if (empty($otpData)) {
return redirect('admin-login')->with('error', 'Something went wrong, please try again!');
}
$data['otpdata'] = $otpData;
return view('admin.twoFactor', $data);
}
public function check_two_factor(Request $request)
{
$validator = Validator::make($request->all(), [
'message_id' => "required",
'email' => "required",
'scode' => "required"
]);
if ($validator->fails()) {
return back()
->withErrors($validator)
->withInput();
}
$otpData = Otpsession::where(['message_id' => $request->message_id, 'email' => $request->email, 'otp' => $request->scode])->first();
if (!empty($otpData)) {
$adminData = Admin_user::where(['email' => $request->email])->first();
$sessionValue = ['id' => $adminData->id, 'parent_id' => $adminData->parent_id, 'username' => $adminData->username, 'profile_pics' => $adminData->profile_pics, 'email' => $adminData->email, 'role_id' => $adminData->role_id, 'phone' => $adminData->phone];
// SESSION OTP
$request->session()->put('loggedIn', $sessionValue);
return redirect('admin/dashboard');
}
return back()->with('error', 'Invalid Secure code, Please try again!');
// print_r($request->all());
// return view('admin.twoFactor');
}
public function resetPassword($id)
{
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
return view('admin.subadmin.reset-password', $data);
}
public function updateResetPassword(Request $request, $id)
{
$request->validate([
'password' => 'required|min:6',
'cpassword' => 'required_with:password|same:password|min:6'
]);
$hashed = Hash::make($request->password);
$data = array(
'password' => $hashed,
);
$res = Admin_user::where(['id' => $id])->update($data);
if ($res) {
return back()->with('success', 'Password Reset successfully!');
} else {
return back()->with('error', 'Something Went Wrong!');
}
}
public function logout(Request $req)
{
Auth::logout();
$req->session()->invalidate();
$req->session()->regenerateToken();
return redirect('/admin-login');
}
}