Check file extensions
This commit is contained in:
@@ -7,7 +7,6 @@ use Illuminate\Support\Facades\Log;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Un mask phone from "+(993)-xx-xx-xx-xx"
|
* Un mask phone from "+(993)-xx-xx-xx-xx"
|
||||||
* @param string|int $phone
|
|
||||||
*/
|
*/
|
||||||
function unMaskPhone(string|int $phone): string
|
function unMaskPhone(string|int $phone): string
|
||||||
{
|
{
|
||||||
@@ -23,8 +22,8 @@ function sendSMS(string|int $phone, string|int $message)
|
|||||||
{
|
{
|
||||||
$client = new Client();
|
$client = new Client();
|
||||||
$headers = [
|
$headers = [
|
||||||
'Content-Type' => 'application/json;charset=utf-8;',
|
'Content-Type' => 'application/json;charset=utf-8;',
|
||||||
'Charset' => 'UTF-8'
|
'Charset' => 'UTF-8',
|
||||||
];
|
];
|
||||||
$body = 'JSON={
|
$body = 'JSON={
|
||||||
"SendRequest": {
|
"SendRequest": {
|
||||||
@@ -32,11 +31,11 @@ function sendSMS(string|int $phone, string|int $message)
|
|||||||
"Version": "1",
|
"Version": "1",
|
||||||
"Lang": "EN",
|
"Lang": "EN",
|
||||||
"MobilePhone": "993'.$phone.'",
|
"MobilePhone": "993'.$phone.'",
|
||||||
"Text": "'. $message .'"
|
"Text": "'.$message.'"
|
||||||
}
|
}
|
||||||
}';
|
}';
|
||||||
$request = new Request('POST', 'http://10.3.158.103:8080/kpsmsroute/online.request', $headers, $body);
|
$request = new Request('POST', 'http://10.3.158.103:8080/kpsmsroute/online.request', $headers, $body);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$res = $client->sendAsync($request)->wait();
|
$res = $client->sendAsync($request)->wait();
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ use App\Models\User;
|
|||||||
use App\Rules\PhoneCodeVerification;
|
use App\Rules\PhoneCodeVerification;
|
||||||
use Illuminate\Auth\Events\Registered;
|
use Illuminate\Auth\Events\Registered;
|
||||||
use Illuminate\Contracts\View\View;
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Laravel\Nova\Nova;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
use Laravel\Nova\Nova;
|
||||||
|
|
||||||
class RegisterController extends Controller
|
class RegisterController extends Controller
|
||||||
{
|
{
|
||||||
@@ -39,7 +38,6 @@ class RegisterController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Handle a registration request for the application.
|
* Handle a registration request for the application.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function register(Request $request)
|
public function register(Request $request)
|
||||||
@@ -104,11 +102,11 @@ class RegisterController extends Controller
|
|||||||
public function verifySmsCode(Request $request)
|
public function verifySmsCode(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'code' => ['required', 'integer', new PhoneCodeVerification()]
|
'code' => ['required', 'integer', new PhoneCodeVerification()],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
auth()->user()->update([
|
auth()->user()->update([
|
||||||
'phone_verified_at' => now()
|
'phone_verified_at' => now(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return redirect(Nova::path());
|
return redirect(Nova::path());
|
||||||
|
|||||||
@@ -64,5 +64,6 @@ class Kernel extends HttpKernel
|
|||||||
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
||||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||||
|
'un_verified' => \App\Http\Middleware\RedirectIfPhoneIsVerified::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
25
app/Http/Middleware/PhoneIsNotVerified.php
Normal file
25
app/Http/Middleware/PhoneIsNotVerified.php
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Laravel\Nova\Nova;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class RedirectIfPhoneIsVerified
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next): Response
|
||||||
|
{
|
||||||
|
if (auth()->check() && auth()->user()->phoneIsVerified()) {
|
||||||
|
return redirect(Nova::path());
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -114,4 +114,12 @@ class User extends Authenticatable
|
|||||||
{
|
{
|
||||||
return $this->id === $loanOrder->user_id;
|
return $this->id === $loanOrder->user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if phone is verified
|
||||||
|
*/
|
||||||
|
public function phoneIsVerified(): bool
|
||||||
|
{
|
||||||
|
return ! is_null($this->phone_verified_at);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -316,28 +316,28 @@ class LoanOrder extends Resource
|
|||||||
Image::make(__('Passport (page 1)'), 'passport_one')
|
Image::make(__('Passport (page 1)'), 'passport_one')
|
||||||
->size('w-1/2')
|
->size('w-1/2')
|
||||||
->deletable(false)
|
->deletable(false)
|
||||||
->rules('max:2048')
|
->rules('max:2048', 'mimes:jpg,png,jpeg')
|
||||||
->creationRules('required')
|
->creationRules('required')
|
||||||
->updateRules('nullable'),
|
->updateRules('nullable'),
|
||||||
|
|
||||||
Image::make(__('Passport (page 2-3)'), 'passport_two')
|
Image::make(__('Passport (page 2-3)'), 'passport_two')
|
||||||
->size('w-1/2')
|
->size('w-1/2')
|
||||||
->deletable(false)
|
->deletable(false)
|
||||||
->rules('max:2048')
|
->rules('max:2048', 'mimes:jpg,png,jpeg')
|
||||||
->creationRules('required')
|
->creationRules('required')
|
||||||
->updateRules('nullable'),
|
->updateRules('nullable'),
|
||||||
|
|
||||||
Image::make(__('Passport (page 8-9)'), 'passport_three')
|
Image::make(__('Passport (page 8-9)'), 'passport_three')
|
||||||
->size('w-1/2')
|
->size('w-1/2')
|
||||||
->deletable(false)
|
->deletable(false)
|
||||||
->rules('max:2048')
|
->rules('max:2048', 'mimes:jpg,png,jpeg')
|
||||||
->creationRules('required')
|
->creationRules('required')
|
||||||
->updateRules('nullable'),
|
->updateRules('nullable'),
|
||||||
|
|
||||||
Image::make(__('Passport (page 32)'), 'passport_four')
|
Image::make(__('Passport (page 32)'), 'passport_four')
|
||||||
->size('w-1/2')
|
->size('w-1/2')
|
||||||
->deletable(false)
|
->deletable(false)
|
||||||
->rules('max:2048')
|
->rules('max:2048', 'mimes:jpg,png,jpeg')
|
||||||
->creationRules('required')
|
->creationRules('required')
|
||||||
->updateRules('nullable'),
|
->updateRules('nullable'),
|
||||||
]),
|
]),
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class PhoneCodeVerification implements ValidationRule
|
|||||||
$verification = Verification::where('username', auth()->user()->phone)
|
$verification = Verification::where('username', auth()->user()->phone)
|
||||||
->where('code', $value)
|
->where('code', $value)
|
||||||
->first();
|
->first();
|
||||||
|
|
||||||
if (! $verification) {
|
if (! $verification) {
|
||||||
$fail(__('Write a correct data please'));
|
$fail(__('Write a correct data please'));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,13 +90,7 @@
|
|||||||
</span>
|
</span>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
<div class="flex mb-6">
|
<div class="mb-6"></div>
|
||||||
<div class="ml-auto">
|
|
||||||
<a class="text-gray-500 font-bold no-underline" href="">
|
|
||||||
{{ __('Forgot your password?') }}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<button class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center" type="submit">
|
<button class="w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center cursor-pointer rounded text-sm font-bold focus:outline-none focus:ring ring-primary-200 dark:ring-gray-600 inline-flex items-center justify-center h-9 px-3 mb-3 w-full flex justify-center shadow relative bg-primary-500 hover:bg-primary-400 text-white dark:text-gray-900 w-full flex justify-center" type="submit">
|
||||||
<span class=""><span>{{ __('Register') }}</span></span>
|
<span class=""><span>{{ __('Register') }}</span></span>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Route::middleware('guest')->group(function () {
|
|||||||
Route::post('/register', [RegisterController::class, 'register']);
|
Route::post('/register', [RegisterController::class, 'register']);
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware('auth')->group(function () {
|
Route::middleware(['auth', 'un_verified'])->group(function () {
|
||||||
Route::get('sms-verification', [RegisterController::class, 'smsVerification'])->name('sms-verification');
|
Route::get('sms-verification', [RegisterController::class, 'smsVerification'])->name('sms-verification');
|
||||||
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
|
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user