0% found this document useful (0 votes)
7 views

UserController.php

Uploaded by

Kamlesh kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

UserController.php

Uploaded by

Kamlesh kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

<?

php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
use App\UserData;
use App\UserBankDetail;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Redirect;
use Validator;
use Alert;
use App\Bonus;
use App\BonusHistory;
use App\TransactionHistory;

class UserController extends Controller


{
public $successStatus = 200;

public function login(Request $request){


echo $request->referral_code;
/* Log::info($request);
if(Auth::attempt(['mobile' => request('mobile'), 'password' =>
request('password')])){
return view('home');
}
else{
return Redirect::back ();
}*/
}

public function index(Request $request){

$referral_code = $request->query('referral');
return view('auth.register', compact('referral_code'));

}
public function registerStep1(Request $request)
{
//dd($request);
$validator = Validator::make($request->all(), [
'name' => 'required',
'mobile' => 'required|unique:users',
'reffered_by' => '',
]);

if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}

$otp = rand(100000, 999999);

$key =
"3lhYftCFLD8mrPd5X0jnTWo2iZJe9gAMKSOcN7zpIxUVvuQwksGldcfYJDXNpQk6LmwqBPW3AbtxKM1g";
$route = "dlt";
$sender_id = "VTPLAY";
$message = "173069";
$language = "english";
$flash = "0";
$numbers = $request->mobile;

$message = urlencode($message);

//dd($message);
$data = "authorization=".$key."&route=".$route."&sender_id=".
$sender_id."&message=".$message."&variables_values=".$otp."&language=".
$language."&flash=".$flash."&numbers=".$numbers;
//echo 'https://www.fast2sms.com/dev/bulkV2?'.$data;exit;
$ch = curl_init('https://www.fast2sms.com/dev/bulkV2?'.$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
//dd($response);
curl_close($ch);
session([
'temp_user' => [
'name' => $request->name,
'mobile' => $request->mobile,
'reffered_by' => $request->reffered_by,
'otp' => $otp,
'otp_expires_at' => now()->addMinutes(5),
]
]);

return redirect()->route('register.step2');
}

public function showStep2Form()


{
return view('auth.verify_otp');
}
public function showStep3Form()
{
return view('auth.step_three');
}

public function registerStep2(Request $request)


{
$validator = Validator::make($request->all(), [
'otp' => 'required|digits:6',
]);

//dd(session('temp_user'));
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}

$sessionData = session('temp_user');
//dd( $sessionData);
//dd($sessionData);
if (!$sessionData) {
return redirect()->back()->withErrors(['otp' => 'Session expired'])-
>withInput();
}

if ($request->otp != $sessionData['otp'] || now()-


>greaterThan($sessionData['otp_expires_at'])) {
return redirect()->back()->withErrors(['otp' => 'Invalid or expired OTP'])-
>withInput();
}

//session()->forget('temp_user');

return redirect()->route('register.step3');
}

public function registerStep3(Request $request)


{
$validator = Validator::make($request->all(), [
'username' => 'required|string|max:255|unique:users',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:8|confirmed',
]);

if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}

$sessionData = session('temp_user');
//dd( $sessionData['reffered_by']);
if (!$sessionData) {
return redirect()->back()->withErrors(['error' => 'Session expired'])-
>withInput();
}

$uservplayid = substr(str_shuffle("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0,
5) . rand(111, 999);
$userreferralcode = substr(str_shuffle("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
0, 5) . rand(111, 999);
//dd($uservplayid);
$user = User::create([
'name' => $sessionData['name'],
'mobile' => $sessionData['mobile'],
'reffered_by' => $sessionData['reffered_by'],
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($request->password),
'user_type' => 2,
'vplay_id' => $request->username,
'referral_code' => $userreferralcode,
]);

$signup_bonus = Bonus::first();
if ($signup_bonus) {
$user->wallet = $signup_bonus->amount;
$user->save();

$bonus = new BonusHistory();


$bonus->user_id = $user->id;
$bonus->amount = $signup_bonus->amount;
$bonus->bonus_type = 'SignUp';
$bonus->save();
$order_id = 'order_' . rand(1111111111, 9999999999);
$trans_hist = new TransactionHistory();
$trans_hist->user_id = $user->id;
$trans_hist->payment_id = 0;
$trans_hist->order_id = $order_id;
$trans_hist->day = date('d');
$trans_hist->month = date('M');
$trans_hist->year = date('Y');
$trans_hist->paying_time = date('h:i A');
$trans_hist->amount = $signup_bonus->amount;
$trans_hist->add_or_withdraw = 'add';
$trans_hist->closing_balance = $signup_bonus->amount;
$trans_hist->remark = 'Signup Bonus';
$trans_hist->save();
}

$user_data = new UserData();


$user_data->user_id = $user->id;
$user_data-> vplay_id = $uservplayid;
$user_data->save();

$user_bank = new UserBankDetail();


$user_bank->user_id = $user->id;
$user_bank->save();

Auth::login($user);
session()->forget(['temp_user']);

return redirect('/user/dashboard');
}

public function loginWithOtp(Request $request ){


$loginField = $request->input('login_field');
$password = $request->input('password');

// Check if login field is email or mobile


$fieldType = filter_var($loginField, FILTER_VALIDATE_EMAIL) ? 'email' :
'mobile';

// Check if user is blocked


$user = User::where($fieldType, $loginField)->where('is_blocked', 1)->first();
if ($user) {
Alert::error('', 'Your Account is blocked');
return redirect()->back();
}

// Attempt to log in the user


if (Auth::attempt([$fieldType => $loginField, 'password' => $password])) {
$user = Auth::user();
if ($user->user_type == 1) {
return redirect('/admin/dashboard');
} elseif ($user->user_type == 2) {
return redirect('/user/dashboard');
} else {
return redirect('/employee/dashboard');
}
} else {
Alert::error('', 'Invalid Credentials');
return redirect()->back();
}
}

public function loginWithOtpForm(){


return view('auth/OtpLogin');
}
public function loginWithOtpForm1(){
return redirect("/referral");
}

public function rules(){


return view('user.rules');
}

public function info_conditions(){


return view('user.info_conditions');
}
}

You might also like