diff --git a/.gitignore b/.gitignore index dd04e98646d755c0ef3f122065eb1bcf17a0ef3f..9c39416c539b1b5aef50acb58fd01f8e226bb2cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -config/* +db/* diff --git a/app/controller/user/AuthMiddleware.php b/app/controller/user/AuthMiddleware.php index baa8c596cf88199775712145afde94a56f2fec8d..15813d0d1f6d4cae8bb59a044b77c416eee4a2a8 100644 --- a/app/controller/user/AuthMiddleware.php +++ b/app/controller/user/AuthMiddleware.php @@ -6,9 +6,9 @@ class AuthMiddleware implements IMiddleware { function run($next, $nextRequest) { if ($_COOKIE["Authorization"]){ - $user_id = verifyJWT($_COOKIE["Authorization"]); + $user_id = verifyJWT($_COOKIE["Authorization"]); if ($user_id){ - setcookie("user_id", $user_id, time()+30000, "/"); + setcookie("user_id", $user_id, time()+300, "/"); $next($nextRequest); exit; } diff --git a/app/controller/user/routes.php b/app/controller/user/routes.php index a48817ccb43ec5ff0cc4224a781d40eb7c8f6636..8e57f437cc0144e3afcb78a263b3e7006bc1430e 100644 --- a/app/controller/user/routes.php +++ b/app/controller/user/routes.php @@ -8,5 +8,4 @@ $router->add("/auth/login/", "POST", array($userUsecase,'login')); return $router; } - ?> \ No newline at end of file diff --git a/app/view/logout.php b/app/view/logout.php index 5e6bba76d9ab7a3a9a691212f7f5e4c6a5025ebc..c51bf8bfa6885f21dfacdc8681606eeda6f7027d 100644 --- a/app/view/logout.php +++ b/app/view/logout.php @@ -1,14 +1,13 @@ <?php - if ($_COOKIE["user"]){ + if ($_COOKIE["user_id"]){ unset($_COOKIE["Authorization"]); unset($_COOKIE["user_id"]); setcookie("Authorization",null,time()-3600,"/"); setcookie("user_id",null,time()-3600,"/"); } - + $url = APP_CONFIG["base_url"]."/login/"; header('Location: '.$url); die(); - ?> \ No newline at end of file diff --git a/config/devel.php b/config/devel.php index 3da4d5bcf4b2498ad3aaad777e214abdd84675a2..7a9949ef27af01a4190ad6b83cb445ec68148915 100644 --- a/config/devel.php +++ b/config/devel.php @@ -6,6 +6,8 @@ "password" => "06071998", "db_name" => "tayo_book_store" ), - "base_url" => "localhost:4000/" + "base_url" => "http://localhost:4000/", + "jwt_alg"=>"sha256", + "jwt_key"=>"weirdgenius2018" ) ?> \ No newline at end of file diff --git a/public/static/css/header.css b/public/static/css/header.css index 9c742c1d9f08e8024bc0b51d75ca6f9a01a3d844..8f36eb7ca426640ff38bb0fa3aa4817a4a8f4419 100644 --- a/public/static/css/header.css +++ b/public/static/css/header.css @@ -23,16 +23,16 @@ nav { } #header_username { - font-size: 1.5em; + font-size: 1.75em; color: #ffffff; - font-weight: bold; + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-style: italic; - margin-top:15%; + margin-top:10%; margin-right:10px; } #logo { - font-size: 3em; + font-size: 3.5em; color: white; font-weight: bold; margin-left: 25px; @@ -62,10 +62,10 @@ nav { .menu-item{ border: 1pt; - font-size: 2em; - padding-top:5%; + font-size: 3em; + padding-top:3%; font-family: 'Helvetica', Courier, monospace; - font-weight: bold; + font-weight: lighter; color:#ffffff; text-align: center; text-decoration: none; diff --git a/public/static/css/register.css b/public/static/css/register.css index 58987fb9179ddf70c7d936dbea07b1044fce254d..78faa9669426cb84c5c5059ffa7f2a0b86b34368 100644 --- a/public/static/css/register.css +++ b/public/static/css/register.css @@ -12,7 +12,7 @@ body{ font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; } -form { +.register-form { background-image: url("/static/img/form-bg.jpg"); padding: 10px; } @@ -22,6 +22,21 @@ form { margin:20px; } +.check { + margin-left: 10px; + font-size: 2.1em; + font-weight: bolder; + color:#FF6029; + display: none; +} + +input, textarea { + padding: 5px; + color:black; + border-radius: 5px; + background-color: #f7f7f7; +} + .row { display: flex; padding-bottom:10px; @@ -48,6 +63,7 @@ form { #address_form{ height:100px; } + .register-link{ display: block; } @@ -62,3 +78,7 @@ form { background-color: white; } +.submit-button:hover { + color:white; + background-color: #FF6029; +} diff --git a/public/static/html/register.html b/public/static/html/register.html index cf4aa302524cbe0b74f1e744e4df1b7b27ceba10..9ce2c82da6d84a045d9b89475f23d5d0ee3f5be7 100644 --- a/public/static/html/register.html +++ b/public/static/html/register.html @@ -2,42 +2,42 @@ <link rel="stylesheet" href="/static/css/base.css"> <div class="container"> - <form action="/api/user/" method="POST"> + <div class="register-form"> <h1 class="form-title">REGISTER</h1> <div class="row"> <label for="name_form" class="form-label">Name</label> - <input class="form-input" type="text" name="fullname" placeholder="Budi" id="name_form"> + <input class="form-input" type="text" name="fullname" id="name_form"> </div> <div class="row"> <label for="username_form" class="form-label">Username</label> - <input class="form-input validation" type="text" name="username" placeholder="Budi" id="username_form"> + <input class="form-input validation" type="text" name="username" id="username_form"> + <span class="check" id="username_check">✓</span> </div> <div class="row"> <label for="email_form" class="form-label">Email</label> - <input class="form-input validation" type="email" name="email" placeholder="Budi" id="email_form"> + <input class="form-input validation" type="email" name="email" id="email_form"> + <span class="check" id="email_check">✓</span> </div> <div class="row"> <label for="password_form" class="form-label">Password</label> - <input class="form-input" type="password" name="password" placeholder="Budi" id="password_form"> + <input class="form-input" type="password" name="password" id="password_form"> </div> <div class="row"> <label for="confirm_password_form" class="form-label">Confirm Password</label> - <input class="form-input" type="password" name="confirm_password" placeholder="Budi" id="confirm_password_form"> + <input class="form-input" type="password" name="confirm_password" id="confirm_password_form"> </div> <div class="row"> <label for="address_form" class="form-label">Address</label> - <textarea class="form-input" type="text" name="address" placeholder="Budi" id="address_form"></textarea> + <textarea class="form-input" type="text" name="address" id="address_form"></textarea> </div> <div class="row"> <label for="phone_form" class="form-label">Phone Number</label> - <input class="form-input" type="tel" name="phone_number" placeholder="Budi" id="phone_form"> + <input class="form-input" type="tel" name="phone_number" id="phone_form"> </div> - - <a class="register-link" href="/login/">Already have an account?</a> <br> <div class="row"> - <input class="submit-button" type="submit" value="Register"> - </div> - </form> + <button class="submit-button">Register</button> + </div> + </div> </div> \ No newline at end of file diff --git a/public/static/js/login.js b/public/static/js/login.js index 0570521fef7e0e290c7a553c86739ca63a69df1f..9ba787e6d97044d812bff7735ec24792cdf6c2c4 100644 --- a/public/static/js/login.js +++ b/public/static/js/login.js @@ -9,7 +9,7 @@ const doLogin = function(){ doAjax('/auth/login/',"POST", payload, function(response){ console.log(response); - setCookie("Authorization", response.data.token, 30000); + setCookie("Authorization", response.data.token, 300); window.location.replace('http://localhost:4000/browse/'); }, function(response){ alert("Invalid username or password"); diff --git a/public/static/js/register.js b/public/static/js/register.js new file mode 100644 index 0000000000000000000000000000000000000000..df4dfba0a480eeea22f05022a07f8bdf7bbc5cc3 --- /dev/null +++ b/public/static/js/register.js @@ -0,0 +1,29 @@ +const name = document.getElementById('name_form'); +const username = document.getElementById('username_form'); +const email = document.getElementById('email_form'); +const password = document.getElementById('password_form'); +const confirmPassword = document.getElementById('confirm_password_form'); +const address = document.getElementById('address_form'); +const phone = document.getElementById('phone_form'); + +function doRegister(){ + const nameValue = name.value; + const usernameValue = username.value; + const emailValue = email.value; + const passwordValue = password.value; + const confirmPasswordValue = confirmPassword.value; + const addressValue = address.value; + const phoneValue = phone.value; +} + +function validateUsername(){ + let isValid = false; + username.addEventListener("change", function(){ + + }); +} + + +window.onload = function(){ + +} \ No newline at end of file diff --git a/public/static/js/util.js b/public/static/js/util.js index 03fe828dcbfb35144a49a63ff526bcbb987e07d7..9c10a7020d3c581ef4c92ba2e9d4e0b093e6a9c6 100644 --- a/public/static/js/util.js +++ b/public/static/js/util.js @@ -26,9 +26,8 @@ function doAjax(url, method, data, successCallback,failCallback) { let req = new XMLHttpRequest(); req.open(method, url, true); req.setRequestHeader("Content-Type", "application/json"); - req.onreadystatechange = function(){ - if (this.readyState == 4 && this.status==200){ - console.log('haha') + req.onload = function(){ + if (this.status==200){ successCallback(JSON.parse(req.responseText)); } else { console.log(req.responseText);