From 96f70e1a113ee487e65af9e0ab3adebf3d5a29e7 Mon Sep 17 00:00:00 2001 From: Joey Lai Date: Thu, 26 Jan 2017 14:50:41 +0100 Subject: [PATCH 1/6] Fixed date and other extras --- website/public/login.php | 6 +-- website/public/register.php | 17 ++++++-- website/public/styles/index.css | 7 ++- website/queries/checkInput.php | 23 +++++++--- website/queries/login.php | 6 +-- website/queries/register.php | 26 ++++++----- website/views/login-view.php | 77 +++++++++++++++++---------------- website/views/register-view.php | 66 ++++++++++++++++++++++++---- 8 files changed, 156 insertions(+), 72 deletions(-) diff --git a/website/public/login.php b/website/public/login.php index 0515793..d4dd991 100644 --- a/website/public/login.php +++ b/website/public/login.php @@ -20,15 +20,15 @@ } // Define variables and set to empty values - $uname = $psw =""; + $user = $psw =""; $loginErr = $resetErr =""; if ($_SERVER["REQUEST_METHOD"] == "POST") { switch ($_POST["submit"]) { case "login": try { - $uname = ($_POST["uname"]); - validateLogin($_POST["uname"], $_POST["psw"]); + $user = ($_POST["user"]); + validateLogin($_POST["user"], $_POST["psw"]); } catch(loginException $e) { $loginErr = $e->getMessage(); } diff --git a/website/public/register.php b/website/public/register.php index 1ce4817..0077e62 100644 --- a/website/public/register.php +++ b/website/public/register.php @@ -14,9 +14,12 @@ header("location: login.php"); } // define variables and set to empty values - $name = $surname = $bday = $username = $password = $confirmpassword = $location = $housenumber = $email = $captcha = $ip = ""; - $genericErr = $nameErr = $surnameErr = $bdayErr = $usernameErr = $passwordErr = $confirmpasswordErr = $locationErr = $housenumberErr = $emailErr = $captchaErr = ""; + $name = $surname = $bday = $username = $password = $confirmpassword = $location = $housenumber = $email = $confirmEmail = $captcha = $ip = ""; + $genericErr = $nameErr = $surnameErr = $bdayErr = $usernameErr = $passwordErr = $confirmpasswordErr = $locationErr = $housenumberErr = $emailErr = $confirmEmailErr = $captchaErr = ""; $correct = true; + $day_date = "dag"; + $month_date = "maand"; + $year_date = "jaar"; // Trying to register an account if ($_SERVER["REQUEST_METHOD"] == "POST") { @@ -38,7 +41,10 @@ } try{ - $bday = test_input(($_POST["bday"])); + $day_date = test_input(($_POST["day_date"])); + $month_date = test_input(($_POST["month_date"])); + $year_date = test_input(($_POST["year_date"])); + $bday = $year_date . "-" . $month_date . "-" . $day_date; checkInputChoice($bday, "bday"); } catch(bdayException $e){ $correct = false; @@ -76,9 +82,14 @@ try{ $email = test_input(($_POST["email"])); checkInputChoice($email, "email"); + $confirmEmail = test_input(($_POST["confirmEmail"])); + matchEmail(); } catch(emailException $e){ $correct = false; $emailErr = $e->getMessage(); + } catch(confirmEmailException $e){ + $correct = false; + $confirmEmailErr = $e->getMessage(); } try{ diff --git a/website/public/styles/index.css b/website/public/styles/index.css index 97d6f63..9829688 100644 --- a/website/public/styles/index.css +++ b/website/public/styles/index.css @@ -133,6 +133,10 @@ label { width: 45%; } +select{ + width: 18%; +} + ul { font-family: Arial; font-size: 16px; @@ -203,7 +207,6 @@ ul { .modal-body {padding: 2px 16px;} .modal-footer { - padding: 2px 16px; background-color: #FBC02D; color: black; -} \ No newline at end of file +} diff --git a/website/queries/checkInput.php b/website/queries/checkInput.php index 9b91833..fbf64a7 100644 --- a/website/queries/checkInput.php +++ b/website/queries/checkInput.php @@ -38,8 +38,7 @@ function checkName($variable){ if (empty($variable)) { throw new lettersAndSpacesException("Verplicht!"); } else if (!preg_match("/^[a-zA-Z ]*$/", $variable)) { - - throw new lettersAndSpacesException("Alleen letters en spaties zijn toegestaan!"); + throw new lettersAndSpacesException("Alleen letters en spaties zijn toegestaan!"); } } @@ -48,12 +47,12 @@ function validateBday($variable){ if (empty($variable)) { throw new bdayException("Verplicht!"); } else { - if (!(validateDate($variable, "Y/m/d"))) { + if (!(validateDate($variable, "Y-m-d"))) { throw new bdayException("Geen geldige datum"); } else { - $dateNow = date("Y/m/d"); + $dateNow = date("Y-m-d"); if ($dateNow < $variable) { - throw new bdayException("Geen geldige datum"); + throw new bdayException("Geen geldige datum!"); } } } @@ -97,6 +96,12 @@ function validateEmail($variable){ } } +function matchEmail(){ + if (strtolower($_POST["email"]) != strtolower($_POST["confirmEmail"])){ + throw new confirmEmailException("Emails matchen niet!"); + } +} + /* checks if an input is a valid email. */ function resetEmail($variable){ if (empty($variable)) { @@ -206,6 +211,14 @@ class emailException extends Exception } } +class confirmEmailException extends Exception +{ + public function __construct($message = "", $code = 0, Exception $previous = null) + { + parent::__construct($message, $code, $previous); + } +} + class captchaException extends Exception { public function __construct($message = "", $code = 0, Exception $previous = null) diff --git a/website/queries/login.php b/website/queries/login.php index 2af255a..15a5de1 100644 --- a/website/queries/login.php +++ b/website/queries/login.php @@ -9,10 +9,10 @@ function getUser() { FROM `user` WHERE - `username` LIKE :username + `username` LIKE :username OR + `email` LIKE :username "); - $stmt->bindParam(":username", $_POST["uname"]); $stmt->execute(); return $stmt->fetch(PDO::FETCH_ASSOC); } @@ -20,7 +20,7 @@ function getUser() { function validateLogin($username, $password){ // Empty username or password field if (empty($username) || empty($password)) { - throw new loginException("Gebruikersnaam of wachtwoord is niet ingevuld"); + throw new loginException("Inloggegevens zijn niet ingevuld"); } else { $psw = test_input($password); diff --git a/website/queries/register.php b/website/queries/register.php index 738ef43..be9d415 100644 --- a/website/queries/register.php +++ b/website/queries/register.php @@ -10,7 +10,7 @@ function getExistingUsername() { `username` LIKE :username "); - $stmt->bindParam(":username", $_POST["username"]); + $stmt->bindParam(":username", test_input($_POST["username"])); $stmt->execute(); return $stmt->rowCount(); @@ -26,7 +26,7 @@ function getExistingEmail() { `email` LIKE :email "); - $stmt->bindParam(":email", $_POST["email"]); + $stmt->bindParam(":email", test_input($_POST["email"])); $stmt->execute(); return $stmt->rowCount(); @@ -42,7 +42,7 @@ function getResetEmail() { `email` LIKE :email "); - $stmt->bindParam(":email", $_POST["forgotEmail"]); + $stmt->bindParam(":email", test_input($_POST["forgotEmail"])); $stmt->execute(); return $stmt->rowCount(); @@ -70,15 +70,21 @@ function registerAccount() { $hash=password_hash($_POST["password"], PASSWORD_DEFAULT); - $stmt->bindParam(":fname", $_POST["name"]); - $stmt->bindParam(":lname", $_POST["surname"]); - $stmt->bindParam(":bday", $_POST["bday"]); - $stmt->bindParam(":username", $_POST["username"]); - $stmt->bindParam(":password", $hash); - $stmt->bindParam(":location", $_POST["location"]); - $stmt->bindParam(":email", (strtolower($_POST["email"]))); + $stmt->bindParam(":fname", test_input($_POST["name"])); + $stmt->bindParam(":lname", test_input($_POST["surname"])); + $stmt->bindParam(":bday", test_input($_POST["bday"])); + $stmt->bindParam(":username", test_input($_POST["username"])); + $stmt->bindParam(":password", test_input($hash)); + $stmt->bindParam(":location", test_input($_POST["location"])); + $stmt->bindParam(":email", test_input(strtolower($_POST["email"]))); $stmt->execute(); $stmt->rowCount(); } + +function submitselect($date, $value){ + if ($date == $value){ + echo "selected"; + } +} ?> diff --git a/website/views/login-view.php b/website/views/login-view.php index de4c48b..c64590e 100644 --- a/website/views/login-view.php +++ b/website/views/login-view.php @@ -13,11 +13,11 @@
- +
@@ -47,46 +47,47 @@ - -
- Registreer een account + + + + + + + +
From 032e25b044c11d0018dfb506de4a9d3d21496f05 Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Thu, 26 Jan 2017 21:50:47 +0100 Subject: [PATCH 4/6] You can now only chat with friends --- website/public/API/sendMessage.php | 1 + website/queries/private_message.php | 2 +- website/views/chat-view.php | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/website/public/API/sendMessage.php b/website/public/API/sendMessage.php index c5d47d1..f84cb11 100644 --- a/website/public/API/sendMessage.php +++ b/website/public/API/sendMessage.php @@ -3,6 +3,7 @@ session_start(); require_once("../../queries/connect.php"); require_once("../../queries/private_message.php"); +require_once("../../queries/friendship.php"); require_once("../../queries/checkInput.php"); if (!empty(test_input($_POST["destination"])) && diff --git a/website/queries/private_message.php b/website/queries/private_message.php index d2b1537..369ee40 100644 --- a/website/queries/private_message.php +++ b/website/queries/private_message.php @@ -58,7 +58,7 @@ function sendMessage($destination, $content) { } function getNewChatMessages($lastID, $destination) { - if (getFriendshipStatus($user2ID) == 1) { + if (getFriendshipStatus($destination) == 1) { $stmt = $GLOBALS["db"]->prepare(" SELECT * diff --git a/website/views/chat-view.php b/website/views/chat-view.php index 0d90149..974b441 100644 --- a/website/views/chat-view.php +++ b/website/views/chat-view.php @@ -74,6 +74,7 @@ name="content" id="newContent" placeholder="Schrijf een bericht..." + autocomplete="off" autofocus required /> From d89e672990325f96c060f3cbb74854eed4519289 Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Thu, 26 Jan 2017 21:54:47 +0100 Subject: [PATCH 5/6] Also fixed unread chat --- website/public/API/sendMessage.php | 1 - website/queries/private_message.php | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/website/public/API/sendMessage.php b/website/public/API/sendMessage.php index f84cb11..c5d47d1 100644 --- a/website/public/API/sendMessage.php +++ b/website/public/API/sendMessage.php @@ -3,7 +3,6 @@ session_start(); require_once("../../queries/connect.php"); require_once("../../queries/private_message.php"); -require_once("../../queries/friendship.php"); require_once("../../queries/checkInput.php"); if (!empty(test_input($_POST["destination"])) && diff --git a/website/queries/private_message.php b/website/queries/private_message.php index 369ee40..4d48d3a 100644 --- a/website/queries/private_message.php +++ b/website/queries/private_message.php @@ -30,6 +30,7 @@ function getOldChatMessages($user2ID) { } function sendMessage($destination, $content) { + require_once("friendship.php"); if (getFriendshipStatus($destination) == 1) { $stmt = $GLOBALS["db"]->prepare(" INSERT INTO @@ -58,6 +59,7 @@ function sendMessage($destination, $content) { } function getNewChatMessages($lastID, $destination) { + require_once("friendship.php"); if (getFriendshipStatus($destination) == 1) { $stmt = $GLOBALS["db"]->prepare(" SELECT @@ -91,13 +93,13 @@ function getNewChatMessages($lastID, $destination) { function selectAllUnreadChat() { $stmt = $GLOBALS["db"]->prepare(" SELECT - LEFT(CONCAT(`user`.`fname`, ' ', `user`.`lname`), 15) as `fullname`, + LEFT(CONCAT(`user`.`fname`, ' ', `user`.`lname`), 15) AS `fullname`, `user`.`userID`, IFNULL( `profilepicture`, '../img/avatar-standard.png' ) AS profilepicture, - LEFT(`private_message`.`content`, 15) as `content` + LEFT(`private_message`.`content`, 15) AS `content` FROM `private_message`, `friendship`, From f1bfc89e6afafc61456c4652fade6f197ebd6a26 Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Thu, 26 Jan 2017 22:33:32 +0100 Subject: [PATCH 6/6] Custom scrollbar --- website/public/styles/main.css | 13 +++++++++++++ website/public/styles/profile.css | 1 + 2 files changed, 14 insertions(+) diff --git a/website/public/styles/main.css b/website/public/styles/main.css index abda8be..0c37afa 100644 --- a/website/public/styles/main.css +++ b/website/public/styles/main.css @@ -275,3 +275,16 @@ div[data-title]:hover:after { display: inline-block; vertical-align: middle; } + +::-webkit-scrollbar { + width: 5px; + height: 5px; +} +::-webkit-scrollbar-track { + background: none; +} +::-webkit-scrollbar-thumb { + -webkit-border-radius: 20px; + border-radius: 20px; + background: #4CAF50; +} \ No newline at end of file diff --git a/website/public/styles/profile.css b/website/public/styles/profile.css index 85b2db5..becbeca 100644 --- a/website/public/styles/profile.css +++ b/website/public/styles/profile.css @@ -30,6 +30,7 @@ div.posts div.post { width: calc(100% - 40px); cursor: pointer; transition-duration: 250ms; + word-wrap: break-word; } div.posts div.post:hover {