PNG IHDR x sBIT|d pHYs + tEXtSoftware www.inkscape.org< ,tEXtComment
<?php
namespace App\Actions\Fortify;
use App\Mail\WelcomeEmail;
use App\Models\User;
use App\Models\Settings;
use App\Models\Agent;
use App\Models\CryptoAccount;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Laravel\Fortify\Contracts\CreatesNewUsers;
use Laravel\Jetstream\Jetstream;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
class CreateNewUser implements CreatesNewUsers
{
use PasswordValidationRules;
/**
* Validate and create a newly registered user.
*
* @param array $input
* @return \App\Models\User
*/
public function create(array $input)
{
$settings = Settings::where('id', '1')->first();
$request = request();
if ($settings->captcha == "true") {
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'username' => ['required', 'unique:users,username'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => $this->passwordRules(),
'g-recaptcha-response' => 'required|captcha',
'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['required', 'accepted'] : '',
])->validate();
} else {
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'username' => ['required', 'unique:users,username'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => $this->passwordRules(),
'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['required', 'accepted'] : '',
])->validate();
}
if (session('ref_by')) {
$ref_by = session('ref_by');
$user = User::where('username', $ref_by)->first();
$ref_by_id = $user->id;
} else {
if (!empty($input['ref_by'])) {
$sponsor = User::where('username', $input['ref_by'])->first();
$ref_by_id = $sponsor->id;
} else {
$ref_by_id = NULL;
}
}
$user = User::create([
'name' => $input['name'],
'email' => $input['email'],
'lastname' => $input['lastname'],
'middlename'=>$input['middlename'],
'phone' => $input['phone'],
'username' => $input['username'],
'country' => $input['country'],
'accounttype' => $input['accounttype'],
'pin'=> $input['pin'],
'ref_by' => $ref_by_id,
'status' => 'active',
'usernumber'=> $this->RandomStringGenerator(11),
'code1' => $this->RandomStringGenerator(7),
'code2'=>$this->RandomStringGenerator(7),
'code3' => $this->RandomStringGenerator(7),
'password' => Hash::make($input['password']),
]);
$cryptoaccnt = new CryptoAccount();
$cryptoaccnt->user_id = $user->id;
$cryptoaccnt->save();
$request->session()->forget('ref_by');
Mail::to($user->email)->send(new WelcomeEmail($user));
return $user;
}
function RandomStringGenerator($n)
{
$generated_string = "";
$domain = "12345678900123456789023456789034567890456789056789067890890";
$len = strlen($domain);
for ($i = 0; $i < $n; $i++) {
$index = rand(0, $len - 1);
$generated_string = $generated_string . $domain[$index];
}
// Return the random generated string
return $generated_string;
}
}
b IDATxytVսϓ22 A@IR:hCiZ[v*E:WũZA ^dQeQ @ !jZ'>gsV仿$|?g)&x-E