<?php
session_start();
require 'header.php';
if (!isset($_SESSION["login"])) {
    header("Location: login.php");
    exit;
}

// ambil id data di URL
$id = $_GET["id"];

// query data mahasiswa berdasarkan id
$mhs = query("SELECT * FROM user WHERE id= $id")[0];
?>
<!DOCTYPE html>
<html lang="en">

<head>
    <title>Lupa Password</title>

    <head>

    <body>

        <center><h2>Rubah Password</h2></center>

        <?php
        //mengatasi error notice dan warning
        //error ini biasa muncul jika dijalankan di localhost, jika online tidak ada masalah
        error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

        //proses jika tombol rubah di klik
        if ($_POST['submit']) {
            //membuat variabel untuk menyimpan data inputan yang di isikan di form
            $password_lama           = $_POST['password_lama'];
            $password_baru           = $_POST['password_baru'];
            $konfirmasi_password     = $_POST['konfirmasi_password'];

            //cek dahulu ke database dengan query SELECT
            //kondisi adalah WHERE (dimana) kolom password adalah $password_lama di encrypt m5
            //encrypt -> md5($password_lama)
            if (password_verify($password_lama, $mhs["password"])) {
                //kondisi ini jika password lama yang dimasukkan sama dengan yang ada di database
                //membuat kondisi minimal password adalah 5 karakter
                if (strlen($password_baru) >= 5) {
                    //jika password baru sudah 5 atau lebih, maka lanjut ke bawah
                    //membuat kondisi jika password baru harus sama dengan konfirmasi password
                    if ($password_baru == $konfirmasi_password) {
                        //jika semua kondisi sudah benar, maka melakukan update kedatabase
                        //query UPDATE SET password = encrypt md5 password_baru
                        //kondisi WHERE id user = session id pada saat login, maka yang di ubah hanya user dengan id tersebut

                        // enkripsi password
                        $password_baru = password_hash($password_baru, PASSWORD_DEFAULT);



                        $update         = $conn->query("UPDATE user SET password='$password_baru' WHERE id='$id'");
                        if ($update) {
                            //kondisi jika proses query UPDATE berhasil
                            echo "<script>
                                alert('Password Berhasil Diganti! Silahkan login ulang');
                                document.location.href = 'logout.php';
                                </script>";
                        } else {
                            //kondisi jika proses query gagal
                            echo 'Gagal merubah password';
                        }
                    } else {
                        //kondisi jika password baru beda dengan konfirmasi password
                        echo 'Konfirmasi password tidak cocok';
                    }
                } else {
                    //kondisi jika password baru yang dimasukkan kurang dari 5 karakter
                    echo 'Minimal password baru adalah 5 karakter';
                }
            } else {
                //kondisi jika password lama tidak cocok dengan data yang ada di database
                echo 'Password lama tidak cocok';
            }
        }
        ?>

        <div class="container">
            <form action="" method="POST" >
                <div class="form-group row">
                    <label for="username" class="col-sm-2 col-form-label">Username</label>
                    <div class="col-sm-10">
                        <input type="text" readonly class="form-control-plaintext" id="username" value="<?php echo $mhs['username'] ?>">
                    </div>
                </div>
                <div class="form-group row">
                    <label for="inputPassword" class="col-sm-2 col-form-label">Password Lama</label>
                    <div class="col-sm-10">
                        <input type="password" class="form-control" name="password_lama" required>
                    </div>
                </div>
                <div class="form-group row">
                    <label for="inputPassword" class="col-sm-2 col-form-label">Password Baru</label>
                    <div class="col-sm-10">
                        <input type="password" class="form-control" name="password_baru" required>
                    </div>
                </div>
                <div class="form-group row">
                    <label for="inputPassword" class="col-sm-2 col-form-label">Konfirmasi Password Baru</label>
                    <div class="col-sm-10">
                        <input type="password" class="form-control" name="konfirmasi_password" required>
                    </div>
                </div>
                <div class="form-group row">
                    <div class="col-sm">
                        <center>
                            <input type="submit" name="submit" class="nav-item btn btn-primary tombol" value="Rubah">
                        </center>
                    </div>
                </div>
            </form>
        </div>
    </body>

    <?php
    require 'footer.php';
    ?>

</html>