<?php
session_start();
require_once('config.php');

$error = NULL;  // Error Message Container

// Form Sanitization Function
function sanitize($data) {
  	$data = trim($data);
  	$data = stripslashes($data);
  	$data = htmlspecialchars($data);
  	return $data;
}

// Process Login Transaction
if (!empty($_POST['submit'])) {
    // Connect to Database
    $connection = mysqli_connect($db_host, $db_username, $db_password);
    if (!$connection) die ("Could not connect to the database: <br />". mysqli_error());

    // Select Database
    $db_select=mysqli_select_db($connection, $db_database);
    if (!$db_select) die ("Could not select the database: <br />". mysqli_error());

    // Register User
    if (sanitize($_POST['email']) == NULL || sanitize($_POST['password']) == NULL || sanitize($_POST['email']) == "" || sanitize($_POST['password']) == "") {
        $error = "Please enter a valid username and password.";
    } else {
        // Parse Credentials
        $email = sanitize($_POST['email']);
        $password = hash('sha256', sanitize($_POST['password']));

        // Query Credentials
        $query = "SELECT id, is_confirmed, banned from users where email='".$email."' and password='".$password."' LIMIT 1";
        $result = mysqli_query($connection, $query);

        if ($row = mysqli_fetch_array($result)) {
            if ($row['is_confirmed'] != 1) {
                $error = "Please check your email for an activation link.";
            } else if ($row['banned'] == 1) {
                header('Location: banned.php');
            } else {
                $_SESSION['uid'] = $row['id'];

                // TODO: Create redirect script based on clicked link -> Use GET Protocol
                header('Location: index.php');
            }
        } else {
            $error = "The username or password you have provided is invalid.";
        }
    }
}
?>

<!DOCTYPE html>
<html>

<head>
    <script src="js/jquery-2.1.1.min.js"></script>
    <script src="js/header.js"></script>
</head>

<body>
<!-- Navigation -->
<nav class="light-blue lighten-1" role="navigation">
    <div class="nav-wrapper container">
        <script src="js/navibar.js"></script>
        <ul id="nav-mobile" class="right">
            <?php require_once('navigation.php'); ?>
        </ul>

    </div>
</nav>

<div class="section no-pad-bot center">
    <center>
        <h4><b>Account Login</b></h4>
        <?php if ($error) echo "<p style='color: red'><b>Error: </b>$error</p>"; ?><br />
    </center>

    <div class="container">
        <div class="z-depth-1 grey lighten-4 row" style="display: inline-block; padding: 0px 48px 0px 48px; border: 1px solid #EEE;">
            <form class="col s12" method="post" action="<?php echo(htmlentities($_SERVER['PHP_SELF'])); ?>">
                <div class='row'><div class='col s12'></div></div>

                <div class='row'>
                    <div class='input-field col s12'>
                        <input class='validate' type='email' name='email' id='email'/>
                        <label for='email'>Email</label>
                    </div>
                </div>

                <div class='row'>
                    <div class='input-field col s12'>
                        <input class='validate' type='password' name='password' id='password' />
                        <label for='password'>Password</label>
                    </div>

                    <div class='row'>
                        <label style='float: right;'><a class='pink-text' href='forgot.php'><b>Forgot Password?</b></a></label><br />

                        <label style='float: right;'><a class='pink-text' href='resend_confirm.php'><b>Didn't Get Confirmation?</b></a></label>
                    </div>

                </div>

                <br />

                <center>
                    <div class='row'>
                        <button type='submit' name='submit' value='submit' class='col s12 btn btn-large waves-effect indigo'>Login</button>
                    </div>
                </center>
            </form>
        </div>
    </div>
    <a href="register.php">Create account</a>
</div>
</body>
<script src="js/footer.js"></script>
</html>
