Files
merchbay/app/Http/Controllers/CustomAuthController.php
2021-12-01 00:57:21 +08:00

170 lines
4.9 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use App\Traits\CaptchaTrait;
use App\User;
use Illuminate\Support\Facades\Validator;
use App\Models\user\UserModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
class CustomAuthController extends Controller
{
use CaptchaTrait;
public function authenticate(Request $request)
{
$post = $request->all();
$email = $post['email'];
$password = $post['password'];
// $redirectUrl = Input::get('redirectUrl');
if (Auth::attempt(['email' => $email, 'password' => $password])) {
if (Auth::user()->role == 'admin') {
// $message = '
// <div class="alert alert-danger alert-dismissible">
// <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
// <h4><i class="icon fa fa-ban"></i> ERROR:</h4>
// You are not allowed to enter to this site.
// </div>';
$message = '
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error!</strong> You are not allowed to enter to this site.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
return response()->json(array('success' => false, 'message' => $message));
}
$message = "success";
$navbar = view('layout.navbar', compact('view'))->render();
$save_design_button = ' <button type="button" class="btn btn-lg btn-primary pull-right" data-toggle="modal" data-target="#modalDesignName"><i class="fa fa-floppy-o" aria-hidden="true"></i> Save Design</button>';
return response()->json(array(
'success' => true,
'message' => $message,
'navbar' => $navbar,
'save_design_button' => $save_design_button,
'redirect' => $post['redirect']
));
} else {
// $message = '
// <div class="alert alert-danger alert-dismissible">
// <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
// <h4><i class="icon fa fa-ban"></i> ERROR:</h4>
// Username or Password is incorrect.
// </div>';
$message = '
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error!</strong> Username or Password is incorrect.
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
return response()->json(array('success' => false, 'message' => $message));
}
}
public function postRegister(Request $request)
{
$post = $request->all();
$userModel = new UserModel;
$post['captcha'] = $this->captchaCheck();
$validator = Validator::make(
$post,
[
'username' => 'unique:user_logins',
'email' => 'unique:user_logins',
'g-recaptcha-response' => 'required',
'captcha' => 'required|min:1'
],
[
'g-recaptcha-response.required' => 'Captcha is required',
'captcha.min' => 'Wrong captcha, please try again.'
]
// $post,
// [
// 'username' => 'unique:user_logins',
// 'email' => 'unique:user_logins',
// ]
);
if ($validator->fails()) {
$errors = "";
foreach ($validator->errors()->all() as $error) {
$errors .= "<li>" . $error . "</li>";
}
// $message = '
// <div class="alert alert-danger alert-dismissible">
// <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
// <h4><i class="icon fa fa-ban"></i> ERROR:</h4>
// ' . $errors .
// '</div>';
$message = '
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<strong>Error!</strong>' . $errors .
'<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>';
return response()->json(array(
'success' => false,
'message' => $message
));
}
// var_dump($post);
$user = User::create([
'name' => $post['firstname'] . ' ' . $post['lastname'],
'username' => $post['email'],
'email' => $post['email'],
'password' => bcrypt($post['password']),
'role' => 'user'
]);
// $country = explode("_", $post['country']);
// $data = array(
// 'UserId' => $user->id,
// 'CountryCode' => $country[0],
// 'Country' => $country[1]
// );
$data = array(
'UserId' => $user->id,
'Fullname' => $post['firstname'] . ' ' . $post['lastname'],
'ContactNumber' => $post['mobilenumber'],
// 'OtherNotes' => $post['othernotes'],
'Address' => $post['address'],
'Address2' => $post['address2'],
'State' => $post['state'],
'City' => $post['city'],
'ZipCode' => $post['zipcode'],
'CountryCode' => $post['countryCode'],
'Country' => $post['country']
);
$userModel->insertAddressBook($data);
Auth::attempt(['email' => $post['email'], 'password' => $post['password']]);
return response()->json(array(
'success' => true,
'redirect' => $post['redirect']
));
}
}