<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

ob_start();
session_start();

include('../config/koneksi.php');
include('../classes/class.nexusggr.php');

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header("Location: ../index.php");
    exit();
}

/* ===============================
   AMBIL DATA POST
=================================*/

$full_name = trim($_POST['full_name']);
$user      = strtolower(trim($_POST['user']));
$user      = str_replace(' ', '', $user);
$email     = trim($_POST['email']);
$no_hp     = trim($_POST['no_hp']);
$akun      = trim($_POST['akun']);
$no_rek    = trim($_POST['no_rek']);
$sponsor   = trim($_POST['sponsor']);
$password  = $_POST['pass'];

$pass = password_hash($password, PASSWORD_DEFAULT);

$join_date = date('Y-m-d H:i:s');
$extplayer = "ab".$user;

/* ===============================
   AMBIL DATA SEO
=================================*/

$sql = $conn->prepare("SELECT urlweb FROM tb_seo WHERE cuid=?");
$cuidseo = 1;
$sql->bind_param("i",$cuidseo);
$sql->execute();
$result = $sql->get_result();
$s0 = $result->fetch_assoc();
$urlweb = $s0['urlweb'];

/* ===============================
   GENERATE USER ID
=================================*/

$cekuser = $conn->query("SELECT cuid FROM tb_user ORDER BY cuid DESC LIMIT 1");
$row = $cekuser->fetch_assoc();

if($row){
$cuid = $row['cuid'] + 1;
}else{
$cuid = 1;
}

$userid = "1".date("dmy").$cuid;

/* ===============================
   CEK USERNAME
=================================*/

$stmt = $conn->prepare("SELECT cuid FROM tb_user WHERE user=?");
$stmt->bind_param("s",$user);
$stmt->execute();
$stmt->store_result();

if($stmt->num_rows > 0){
header("Location: ../index.php/?notif=2");
exit();
}

/* ===============================
   CEK EMAIL
=================================*/

$stmt = $conn->prepare("SELECT cuid FROM tb_user WHERE email=?");
$stmt->bind_param("s",$email);
$stmt->execute();
$stmt->store_result();

if($stmt->num_rows > 0){
header("Location: ../index.php/?notif=3");
exit();
}

/* ===============================
   CEK NOMOR HP
=================================*/

$stmt = $conn->prepare("SELECT cuid FROM tb_user WHERE no_hp=?");
$stmt->bind_param("s",$no_hp);
$stmt->execute();
$stmt->store_result();

if($stmt->num_rows > 0){
header("Location: ../index.php/?notif=4");
exit();
}

/* ===============================
   CEK REKENING
=================================*/

$stmt = $conn->prepare("SELECT userID FROM tb_bank WHERE no_rek=?");
$stmt->bind_param("s",$no_rek);
$stmt->execute();
$stmt->store_result();

if($stmt->num_rows > 0){
header("Location: ../index.php/?notif=5");
exit();
}

/* ===============================
   CEK SPONSOR / UPLINE
=================================*/

if($sponsor == ''){
$uplineID = 1;
}else{

$stmt = $conn->prepare("SELECT cuid FROM tb_user WHERE user=?");
$stmt->bind_param("s",$sponsor);
$stmt->execute();
$result = $stmt->get_result();

if($result->num_rows == 0){
$uplineID = 1;
}else{
$data = $result->fetch_assoc();
$uplineID = $data['cuid'];
}

}

/* ===============================
   BUAT USER API GAME
=================================*/

$proses['msg'] = 'SUCCESS';

if($proses['msg'] != 'SUCCESS'){
header("Location: ../index.php/?notif=2");
exit();
}

/* ===============================
   INSERT USER
=================================*/

$stmt = $conn->prepare("INSERT INTO tb_user
(userid,extplayer,user,pass,token_id,image,full_name,email,no_hp,level,pinTrx,reff,uplineID,join_date,last_login,status,statusGame)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

$token = 0;
$image = "avatar5.png";
$level = "user";
$pin   = "";
$reff  = 0;
$status = 1;
$statusGame = 0;

$stmt->bind_param(
"isssissssssisssii",
$userid,
$extplayer,
$user,
$pass,
$token,
$image,
$full_name,
$email,
$no_hp,
$level,
$pin,
$reff,
$uplineID,
$join_date,
$join_date,
$status,
$statusGame
);

$stmt->execute();

/* ===============================
   INSERT BALANCE
=================================*/

$stmt = $conn->prepare("INSERT INTO tb_balance
(userID,active,pending,transfer,payout,created_date)
VALUES (?,?,?,?,?,?)");

$active=0;
$pending=0;
$transfer=0;
$payout=0;

$stmt->bind_param("iiiiis",$userid,$active,$pending,$transfer,$payout,$join_date);
$stmt->execute();

/* ===============================
   INSERT BANK USER
=================================*/

$stmt = $conn->prepare("INSERT INTO tb_bank
(image,akun,pemilik,no_rek,status,userID)
VALUES (?,?,?,?,?,?)");

$imagebank = "";
$statusbank = 1;

$stmt->bind_param("ssssii",$imagebank,$akun,$full_name,$no_rek,$statusbank,$userid);
$stmt->execute();

/* ===============================
   UPDATE REFERAL
=================================*/

$stmt = $conn->prepare("UPDATE tb_user SET reff = reff + 1 WHERE cuid=?");
$stmt->bind_param("i",$uplineID);
$stmt->execute();

/* ===============================
   SELESAI
=================================*/

header("Location: ../index.php/?notif=1");
exit();
?>
```
