<div style="margin-top: 100px;"></div>
<?php
session_start();
include_once '../system/set.php';
$_title = "Ninja School Online" . $_name_site;
include_once '../system/head.php';
$alert = null;
if ($_login == null) {


	$config = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
	if (!$config) {
		die("KHÔNG THỂ KẾT NỐI ĐẾN CSDL! VUI LÒNG KIỂM TRA LẠI");
	} else {
		mysqli_set_charset($config, 'utf8mb4');
	}
	// Hàm kiểm tra và chuẩn hóa tên đăng nhập
	function normalizeUsername($username)
	{
		$username = trim($username);
		$username = strtolower($username);
		$username = preg_replace('/[^a-z0-9_]/', '', $username);
		if ($username !== $_POST['username']) {
			echo "<script>
            Swal.fire({
                title: 'Lỗi',
                text: 'Tên đăng nhập chứa ký tự, hoặc viết hoa, viết cách, không phù hợp',
                icon: 'error',
                timer: 2000, // Thời gian hiển thị thông báo (2 giây)
                showConfirmButton: false // Ẩn nút xác nhận
            });
            setTimeout(function() {
                window.location.href = '/retrieval'; // quay lại form nhập ban đầu
            }, 2000); // Thời gian chuyển hướng (2 giây)
        </script>";
			exit;
		}
		return $username;
	}

	// Hàm kiểm tra và chuẩn hóa mật khẩu
	function normalizePassword($password)
	{
		$password = trim($password);
		if (!preg_match('/^[a-zA-Z0-9]+$/', $password)) {
			echo "<script>
            Swal.fire({
                title: 'Lỗi',
                text: 'Mật khẩu chứa ký tự không hợp lệ',
                icon: 'error',
                timer: 2000,
                showConfirmButton: false
            });
            setTimeout(function() {
                window.location.href = '/retrieval';
            }, 2000);
        </script>";
			exit;
		}
		return $password;
	}


	// Hàm kiểm tra và chuẩn hóa số điện thoại
	function normalizePhone($phone)
	{
		$phone = trim($phone);
		$phone = strtolower($phone);
		$phone = preg_replace('/[^0-9]/', '', $phone);
		if ($phone !== $_POST['phone']) {
			echo "<script>
            Swal.fire({
                title: 'Lỗi',
                text: 'Số điện thoại chứa ký tự, hoặc viết hoa, viết cách, không phù hợp',
                icon: 'error',
                timer: 2000, // Thời gian hiển thị thông báo (2 giây)
                showConfirmButton: false // Ẩn nút xác nhận
            });
            setTimeout(function() {
                window.location.href = '/retrieval'; // quay lại form nhập ban đầu
            }, 2000); // Thời gian chuyển hướng (2 giây)
        </script>";
			exit;
		}
		return $phone;
	}

	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		// Lấy giá trị từ form và chuẩn hóa
		$username = normalizeUsername($_POST["username"]);
		$phone = normalizePhone($_POST["phone"]);

		// Kiểm tra thông tin đăng nhập
		$sql = "SELECT * FROM player WHERE username = '$username' AND phone = '$phone'";
		$result = mysqli_query($config, $sql);

		if (mysqli_num_rows($result) > 0) {
			echo "<script>
            Swal.fire({
                title: 'Thông báo',
                text: 'Đã kết nối tài khoản: $username',
                icon: 'info',
                timer: 2000, // Thời gian tự động tắt thông báo (2 giây)
                showConfirmButton: false // Ẩn nút xác nhận
            });
        </script>";
		}

		if (isset($_POST["newPassword"])) {
			// Lấy giá trị mật khẩu mới và chuẩn hóa
			$newPassword = normalizePassword($_POST["newPassword"]);

			if (mysqli_num_rows($result) > 0) {
				// Cập nhật mật khẩu mới
				$updateSql = "UPDATE player SET password = '$newPassword' WHERE username = '$username' AND phone = '$phone'";
				if (mysqli_query($config, $updateSql)) {
					echo "<script>
                    Swal.fire({
                        title: 'Thành công',
                        html: 'Đã cập nhật mật khẩu thành công.<br>Mật khẩu mới là: [ $newPassword ]',
                        icon: 'success',
                        showCancelButton: false,
                        showConfirmButton: true,
                        confirmButtonText: 'oke'
                    }).then((result) => {
                        if (result.isConfirmed) {
                            window.location.href = 'trang-chu';
                        }
                    });
                </script>";
				} else {
					echo "<script>
                    Swal.fire({
                        title: 'Lỗi',
                        text: 'Đã xảy ra lỗi. Vui lòng thử lại sau.',
                        icon: 'error',
                        timer: 2000, // Thời gian hiển thị thông báo (2 giây)
                        showConfirmButton: false // Ẩn nút xác nhận
                    });

                    setTimeout(function() {
                        window.location.href = '/retrieval'; // quay lại form nhập ban đầu
                    }, 2000); // Thời gian chuyển hướng (2 giây)
                </script>";
				}
			} else {
				echo "<script>
                Swal.fire({
                    title: 'Lỗi',
                    text: 'Thông tin đăng nhập không hợp lệ nhé.',
                    icon: 'error',
                    timer: 2000, // Thời gian hiển thị thông báo (2 giây)
                    showConfirmButton: false // Ẩn nút xác nhận
                });

                setTimeout(function() {
                    window.location.href = '/retrieval'; // quay lại form nhập ban đầu
                }, 2000); // Thời gian chuyển hướng (2 giây)
            </script>";
			}
		} else {
			if (mysqli_num_rows($result) > 0) {
				// Hiển thị form đổi mật khẩu
				echo '
                    <div style="margin-top: 100px;"></div>
                <div class="card-3d-wrap mx-auto">
                    <div class="card-3d-wrapper">
                        <div class="card-front">
                            <div class="center-wrap">
                                <div class="section text-center">
                                    <h4 class="mb-4 pb-3" style="color: #a7d4ff;">NHẬP MẬT KHẨU MỚI</h4>
                                   <form id="newPasswordForm" method="POST" action="">

								   <div class="form-group mt-2">
								   <input type="password" class="form-style" name="newPassword" id="newPassword"
									placeholder=" Nhập mật khẩu mới" required="" autocomplete="off">
									<i class="iconify" data-icon="mdi:password-add-outline"></i><br>
									</div>
                                   <input type="hidden" name="username" value="' . $username . '">

                                   <input type="hidden" name="phone" value="' . $phone . '">

								   <div class="form-group mt-5">
		                                <button type="submit" class="btn btn-dangky-dangnhap btn-primary">
					                    <i style="margin-right: 10px;" class="fas fa-user-plus"></i>CẬP NHẬT</button>
					                </div>
									<div class="tex-from-check">
                                        <p>Bạn quên mật khẩu ? <a class="tex-check-a" href="/login">Đăng nhập ngay</a>
                                        <br>Bạn chưa có tài khoản? <a class="tex-check-a" href="/register">Đăng ký ngay</a><p>
                                    </div>
                                   </form>
								</div>
							</div>
						</div>
					</div>
				</div>
                ';
			} else {
				echo "<script>
                Swal.fire({
                    title: 'Lỗi',
                    text: 'Thông tin nhập vào không hợp lệ.',
                    icon: 'error',
                    timer: 2000, // Thời gian hiển thị thông báo (2 giây)
                    showConfirmButton: false // Ẩn nút xác nhận
                });

                setTimeout(function() {
                    window.location.href = '/retrieval'; // quay lại form nhập ban đầu
                }, 2000); // Thời gian chuyển hướng (2 giây)
            </script>";
			}
		}
	} else {
		// Form nhập thông tin
		echo '
			<div style="margin-top: 100px;"></div>
                <div class="card-3d-wrap mx-auto">
                    <div class="card-3d-wrapper">
                        <div class="card-front">
                            <div class="center-wrap">
                                <div class="section text-center">
                                    <h4 class="mb-4 pb-3" style="color: #a7d4ff;">LẤY LẠI MẬT KHẨU</h4>
                                        <form class="needs-validation" id="recoveryForm" method="POST" action="">
		                                    <div class="form-group mt-2">
		                                    <input type="text" class="form-style" name="username" id="username"
		                                    placeholder=" Tài Khoản đã đăng ký" required="" autocomplete="off">
	                                        <i class="iconify" data-icon="ph:user-plus"></i><br>
		                                    </div>
		                                    <div class="form-group mt-2">
                                            <input type="tel" name="phone" class="form-style" id="phone"
									        placeholder=" Số điện thoại đã đăng ký" required="" autocomplete="off">
								            <i class="iconify" data-icon="mdi:phone-plus-outline"></i><br>
		                                    </div>
		                                    <div class="form-group mt-5">
		                                    <button type="submit" class="btn btn-dangky-dangnhap btn-primary">
					                        <i style="margin-right: 10px;" class="fas fa-user-plus"></i>XÁC NHẬN</button>
					                        </div>
											<div class="tex-from-check">
                                            <p>Bạn quên mật khẩu ? <a class="tex-check-a" href="/login">Đăng nhập ngay</a>
                                            <br>Bạn chưa có tài khoản? <a class="tex-check-a" href="/register">Đăng ký ngay</a><p>
                                            </div>
                                        </form>
	                            </div>
                           </div>
                        </div>
                    </div>
                </div>
            ';
	}
}
mysqli_close($config);
?>
<?php
include_once '../system/end.php';
?>