<?php
	include 'MS.php';
	include 'AdminRedirect.php';
	include 'top.php';
	
	$UserName = $Password = $RePassword = $Email = $FirstName = $LastName = "";
	$UserNameErr = $PasswordErr = $RePasswordErr = $EmailErr = $FirstNameErr = $LastNameErr = "";
	$error = 0;
	
	if ($_SERVER["REQUEST_METHOD"] == "POST")
	{
		if (empty($_POST["username"])) {
			$UserNameErr = "UserName is required";
			$error++;
		}
		else {
			$UserName = test_input($_POST["username"]);
			$UserName = filter_var($UserName, FILTER_SANITIZE_STRING);
			if (!preg_match("/^[a-zA-Z0-9]*$/", $UserName)) {
				$UserNameErr = "UserName can only have letters and numbers";
				$error++;
			}
		}
		
		if ($_POST["password"] != $_POST["repassword"]) {
			$PasswordErr = "Passwords do not match!";
			$error++;
		}
		
		if (empty($_POST["password"])) {
			$PasswordErr = "Password is required";
			$error++;
		}
		else {
			$Password = test_input($_POST["password"]);
			$Password = filter_var($Password, FILTER_SANITIZE_STRING);
			if (!preg_match("/^[a-zA-Z0-9]*$/", $Password)) {
				$PasswordErr = "Password can only have letters and numbers";
				$error++;
			}
		}
		
		if (empty($_POST["repassword"])) {
			$RePasswordErr = "Please re type password";
			$error++;
		}
		else {
			$RePassword = test_input($_POST["repassword"]);
			$RePassword = filter_var($RePassword, FILTER_SANITIZE_STRING);
			if (!preg_match("/^[a-zA-Z0-9]*$/", $RePassword)) {
				$PasswordErr = "RePassword can only have letters and numbers";
				$error++;
			}
		}
		
		if (empty($_POST["email"])) {
			$EmailErr = "Email is required";
			$error++;
		}
		else {
			$Email = test_input($_POST["email"]);
			$Email = filter_var($Email, FILTER_SANITIZE_EMAIL);
			if (!filter_var($Email, FILTER_SANITIZE_EMAIL)) {
				$EmailErr = "Invalid email format";
				$error++;
			}
		}
		
		if (empty($_POST["first"])) {
			$FirstNameErr = "First name is required";
			$error++;
		}
		else {
			$FirstName = test_input($_POST["first"]);
			$FirstName = filter_var($FirstName, FILTER_SANITIZE_STRING);
			if (!preg_match("/^[a-zA-Z]*$/", $FirstName)) {
				$FirstNameErr = "First name can only have letters";
				$error++;
			}
		}
		
		if (empty($_POST["last"])) {
			$LastNameErr = "Last name is required";
			$error++;
		}
		else {
			$LastName = test_input($_POST["last"]);
			$LastName = filter_var($LastName, FILTER_SANITIZE_STRING);
			if (!preg_match("/^[a-zA-Z]*$/", $LastName)) {
				$LastNameErr = "Last name can only have letters";
				$error++;
			}
		}
		
		if ($error == 0) {
			SignUp($UserName, $Password, $Email, $FirstName, $LastName, $ServerName, $ServerUserName, $ServerPassword);
		}
		
	}
	
	function test_input($data)
	{
		$data = trim($data);
		$data = stripslashes($data);
		$data = htmlspecialchars($data);
		return $data;
	}
	
	function SignUp($UserName, $Password, $Email, $FirstName, $LastName, $ServerName, $ServerUserName, $ServerPassword)
	{
		//Create Connection
		$conDataBase = new mysqli($ServerName, $ServerUserName, $ServerPassword);
		if ($conDataBase->connect_error) {
			die("Connection Failed: " . $conDataBase->connect_error);
		}
		
		$tmp = mysqli_escape_string($conDataBase, $UserName);
		
		$sql = "select * from brentsweldingadmin.users where username='".$tmp."';";
		$result = mysqli_query($conDataBase, $sql);
		$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
		$count = mysqli_num_rows($result);
		
		if ($count !== 1) {
			$sql = "INSERT INTO brentsweldingadmin.users (username,password,firstname,lastname,email) VALUES('".$UserName."','".$Password."','".$FirstName."','".$LastName."','".$Email."');";
			if ($conDataBase->query($sql) === TRUE) {
				echo("<script>alert('Done');</script>");
			}
		}
		else {
			echo("<script>alert('UserName already used');</script>");
		}
		
		$conDataBase->close();
	}
?>
<!DOCTYPE html>
<html>
	<head>
    	<link rel="stylesheet" type="text/css" href="body.css">
        <link rel="stylesheet" type="text/css" href="AdminSideBar.css">
        <style>
			div.SignUp {float: right; width: 75px; color: white; text-decoration: none; font-size: 20px;}
			div.SignUp:hover {background-color: white; color: black; text-decoration: underline;}
			span.error {color: red;}
		</style>
    </head>
    <body class="background">
    	<div class="sidebar">
            <div class="infoContainer"><a href="AccountManager.php">Account Manager</a></div>
            <div class="infoContainer"><a href="TextEdit.php">Page Text Editor</a></div>
            <div class="infoContainer"><a href="APhotoManager.php">Photos</a></div>
            <div class="infoContainer"><a href="AReview.php">Review Manager</a></div>
            <div class="infoContainer"><a href="ALogOut.php">LogOut</a></div>
        </div>
        <div style="float: left; width: 75%; border: 1px solid grey; background-color: black; line-height: 150%; overflow: auto; text-align: center;">
        	<form method="post" action="<?php htmlspecialchars($_SERVER['PHP_SELF']);?>">
            	<h1>SignUp</h1>
                <p><span class="error">* required field</span></p>
                <p>
                	<label>UserName</label>
                    <input type="text" name="username" value="<?php echo $UserName;?>">
                    <span class="error">* <?php echo $UserNameErr;?></span>
               	</p>
                <p>
                	<label>Password</label>
                    <input type="password" name="password">
                    <span class="error">* <?php echo $PasswordErr;?></span>
                </p>
                <p>
                	<label>Re-Password</label>
                    <input type="password" name="repassword">
                    <span class="error">* <?php echo $RePasswordErr;?></span>
                </p>
                <p>
                	<label>Email</label>
                    <input type="text" name="email" value="<?php echo $Email;?>">
                    <span class="error">* <?php echo $EmailErr;?></span>
                </p>
                <p>
                	<label>First Name</label>
                    <input type="text" name="first" value="<?php echo $FirstName;?>">
                    <span class="error">* <?php echo $FirstNameErr;?></span>
               	</p>
                <p>
                	<label>Last Name</label>
                    <input type="text" name="last" value="<?php echo $LastName;?>">
                    <span class="error">* <?php echo $LastNameErr;?></span>
                </p>
                <input type="submit" name="submit" value="SignUp">
            </form>
        </div>
        <div class="sidebarRight">
            <div class="infoContainer"><a href="AView.php">View</a></div>
            <div class="infoContainer"><a href="ASignUp.php">SignUp</a></div>
        	<div class="infoContainer"><a href="AdminAccountEdit.php">Edit Account</a></div>
            <div class="infoContainer"><a href="RemoveAccounts.php">Remove Account</a></div>
        </div>
    </body>
</html>