Merge branch 'master' into hendrik-testing

This commit is contained in:
Hendrik
2017-01-27 16:15:42 +01:00
33 changed files with 901 additions and 573 deletions

View File

@@ -0,0 +1,41 @@
<?php
session_start();
require_once ("../queries/connect.php");
require_once ("../queries/checkInput.php");
function getNietSlechtCountForPost(int $postID) : int {
$stmt = $GLOBALS["db"]->prepare("
SELECT
`userID`
FROM
`niet_slecht`
WHERE
`postID` = :postID
");
$stmt->bindParam(":postID", $postID);
$stmt->execute();
return $stmt->rowCount();
}
function getNietSlechtUsersForPost(int $postID) {
$stmt = $GLOBALS["db"]->prepare("
SELECT
`fname`,
`lname`,
CONCAT(`user`.`fname`, ' ', `user`.`lname`) as `fullname`
FROM
`user`
INNER JOIN
`niet_slecht`
WHERE
`user`.`userID` = `niet_slecht`.`userID` AND
`niet_slecht`.`postID` = :postID
");
$stmt->bindParam(":postID", $postID);
$stmt->execute();
$rows = $stmt->fetchAll();
foreach ($rows as $row) {
print($row["fullname"]);
}
}

View File

@@ -5,14 +5,25 @@ session_start();
require("../../queries/post.php"); require("../../queries/post.php");
require("../../queries/connect.php"); require("../../queries/connect.php");
require("../../queries/checkInput.php"); require("../../queries/checkInput.php");
if (empty($_POST['newcomment-content'])) { print_r($_POST);
echo 0; if ($_POST['button'] == 'reaction') {
} else { if (empty($_POST['newcomment-content'])) {
if(makeComment($_POST['postID'], echo 0;
$_SESSION['userID'], } else {
test_input($_POST['newcomment-content']))) { if (makeComment($_POST['postID'],
$_SESSION['userID'],
test_input($_POST['newcomment-content']))) {
echo 1;
} else {
echo 0;
}
}
} else if ($_POST['button'] == 'nietslecht') {
if (makeNietSlecht($_POST["postID"], $_SESSION["userID"])) {
echo 1; echo 1;
} else { } else {
echo 0; echo 0;
} }
} else {
echo 0;
} }

View File

@@ -8,6 +8,17 @@
</head> </head>
<body> <body>
<?php <?php
include("../queries/group_page.php");
$group = selectGroupByName($_GET["groupname"]);
$members = selectGroupMembers(2);
?>
<script>alert("<?= $members[0] ?>");</script>
<script>alert("<?= $members[1] ?>");</script>
<?php
/* /*
* This view adds the main layout over the screen. * This view adds the main layout over the screen.
* Header, menu, footer. * Header, menu, footer.

View File

@@ -1,3 +1,5 @@
var previousDate = new Date("1970-01-01 00:00:00");
$(document).ready(function() { $(document).ready(function() {
loadMessages(); loadMessages();
sayEmpty(); sayEmpty();
@@ -31,17 +33,28 @@ function sendMessage() {
} }
function addMessages(messages) { function addMessages(messages) {
for(i in messages) { for(var i in messages) {
thisDate = new Date(messages[i].creationdate);
thisDate.setHours(0,0,0,0);
if (messages[i].destination == $(".destinationID").val()) { if (messages[i].destination == $(".destinationID").val()) {
type = "chat-message-self"; type = "chat-message-self";
} else { } else {
type = "chat-message-other"; type = "chat-message-other";
} }
if (thisDate > previousDate) {
previousDate = thisDate;
$("#chat-history").append('\
<div class="day-message"> \
<div class="day-message-content">\
' + days[thisDate.getDay()] + " " + thisDate.getDate() + " " + months[thisDate.getMonth()] + " " + thisDate.getFullYear() + '\
</div> \
</div>\
');
}
$("#chat-history").append('\ $("#chat-history").append('\
<div class="chat-message"> \ <div class="chat-message"> \
<div class="' + type + '">\ <div class="' + type + '">\
' + messages[i].content + '\ ' + fancyText(messages[i].content) + '\
</div> \ </div> \
</div>\ </div>\
'); ');
@@ -49,6 +62,7 @@ function addMessages(messages) {
} }
function switchUser(userID) { function switchUser(userID) {
previousDate = new Date("1970-01-01 00:00:00");
$(".chat-field").show(); $(".chat-field").show();
$(".destinationID").val(userID); $(".destinationID").val(userID);
$("#chat-history").html(""); $("#chat-history").html("");

View File

@@ -1,5 +1,4 @@
$(document).ready(function() { $(document).ready(function() {
// Toggle menu // Toggle menu
$("#own-profile-picture, #open-notifications").click(function() { $("#own-profile-picture, #open-notifications").click(function() {
if ($("#notification-center").css('right') == "-256px") { if ($("#notification-center").css('right') == "-256px") {
@@ -8,12 +7,22 @@ $(document).ready(function() {
$(".modal").width("calc(100% - 512px)"); $(".modal").width("calc(100% - 512px)");
$(".content").css("margin-right", "256px"); $(".content").css("margin-right", "256px");
$("#notification-center").css("right", "0px"); $("#notification-center").css("right", "0px");
// Add cookie so the menu stays open on other pages
document.cookie = "menu=open; path=/";
} else { } else {
// Make the menu invisible and move the content to the right. // Make the menu invisible and move the content to the right.
$("#chat-history").width("calc(100% - 331px)"); $("#chat-history").width("calc(100% - 331px)");
$(".modal").width("calc(100% - 256px)"); $(".modal").width("calc(100% - 256px)");
$(".content").css("margin-right", "0px"); $(".content").css("margin-right", "0px");
$("#notification-center").css("right", "-256px"); $("#notification-center").css("right", "-256px");
// Change menu cookie to close
document.cookie = "menu=closed; path=/";
} }
}); });
if (getCookie("menu") == "open") {
$("#own-profile-picture").click();
}
}); });

View File

@@ -1,3 +1,34 @@
var days = ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"];
var months = ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"]
function fancyText(text) {
// Add images and gifs.
var regex = /(https:\/\/.[^ ]*\.(?:png|jpg|jpeg|gif))/ig;
text = text.replace(regex, function(img) {
return "<img src='" + img + "' />";
});
// Add links.
// regex = /(https:\/\/.[^ ]*\.(?:net|com|nl))/ig;
// text = text.replace(regex, function(link) {
// return "<a href='" + link + "'>LINK</a>";
// });
return text;
}
function getCookie(key) {
cookies = document.cookie.split("; ");
for (var i in cookies) {
cookie = cookies[i].split("=");
if (cookie[0] == key) {
return cookie[1];
}
}
return false;
}
function editFriendship(userID, value) { function editFriendship(userID, value) {
$.post("API/editFriendship.php", { usr: userID, action: value }) $.post("API/editFriendship.php", { usr: userID, action: value })
.done(function() { .done(function() {

View File

@@ -70,9 +70,7 @@ function masonry(mode) {
$form.append($("<input value=\"Plaats!\" type=\"submit\">")); $form.append($("<input value=\"Plaats!\" type=\"submit\">"));
columns[0][1].append($postInput); columns[0][1].append($postInput);
$postInput.on("load", function() { columns[0][0] = $postInput.height() + margin;
columns[0][0] = $postInput.height() + margin;
});
} }
/* /*
@@ -99,11 +97,12 @@ function masonry(mode) {
/* /*
* Rearange the objects. * Rearange the objects.
*/ */
jQuery.each(posts, function() { $.each(posts, function() {
$post = $("<div class=\"post platform\" onclick=\"requestPost(\'"+this['postID']+"\')\">"); $post = $("<div class=\"post platform\" onclick=\"requestPost(\'"+this['postID']+"\')\">");
$post.append($("<h2>").text(this["title"])); $post.append($("<h2>").html(this["title"]));
$post.append($("<p>").html(this["content"])); $post.append($("<p>").html(this["content"]));
$post.append($("<p class=\"subscript\">").text(this["nicetime"])); $post.append($("<p class=\"subscript\">").text(this["nicetime"]));
$post.append($("<p class=\"subscript\">").text("comments: " + this["comments"] + ", niet slechts: " + this["niet_slechts"]));
shortestColumn = getShortestColumn(columns); shortestColumn = getShortestColumn(columns);
shortestColumn[1].append($post); shortestColumn[1].append($post);

View File

@@ -1,7 +1,9 @@
function postComment() { function postComment(buttonValue) {
formData = $("#newcommentform").serializeArray();
formData.push({name: "button", value: buttonValue});
$.post( $.post(
"API/postComment.php", "API/postComment.php",
$("#newcommentform").serialize() formData
); );
$("#newcomment").val(""); $("#newcomment").val("");
@@ -14,5 +16,3 @@ function postComment() {
$('#modal-response').html(data); $('#modal-response').html(data);
}); });
} }

View File

@@ -1,5 +1,5 @@
function checkLoggedIn() { function checkLoggedIn() {
if (confirm("You are already logged in!\nDo you want to logout?\nPress ok to logout.") == true) { if (confirm("U bent al ingelogd!!\nWilt u uitloggen?\nKlik ok om uit te loggen.") == true) {
window.location.href = "logout.php"; window.location.href = "logout.php";
} else { } else {
window.location.href = "profile.php"; window.location.href = "profile.php";
@@ -7,9 +7,9 @@ function checkLoggedIn() {
} }
function bannedAlert(){ function bannedAlert(){
alert("Your account is banned"); alert("Uw account is geband!");
} }
function emailNotConfirmed(){ function emailNotConfirmed(){
alert("Your account has not been verified yet!\nAnother email has been sent to you") alert("Uw account is nog niet bevestigd!\nEr is een nieuwe email gestuurd om uw account te bevestigen");
} }

View File

@@ -8,7 +8,6 @@ function searchUsers(n, m) {
filter: $("#search-filter").val() filter: $("#search-filter").val()
} }
).done(function(data) { ).done(function(data) {
console.log(data);
if (!showFriends(data, "#search-users-list", 0, "profile.php", "GET")) { if (!showFriends(data, "#search-users-list", 0, "profile.php", "GET")) {
$("#search-users-list").text("Niemand gevonden"); $("#search-users-list").text("Niemand gevonden");
} }
@@ -25,7 +24,6 @@ function searchGroups(n, m) {
filter: $("#search-filter").val() filter: $("#search-filter").val()
} }
).done(function(data) { ).done(function(data) {
console.log(data);
if (!showGroups(data, "#search-groups-list")) { if (!showGroups(data, "#search-groups-list")) {
$("#search-groups-list").text("Geen groepen gevonden"); $("#search-groups-list").text("Geen groepen gevonden");
} }

View File

@@ -28,7 +28,7 @@
$year_date = "jaar"; $year_date = "jaar";
// Define variables and set to empty values // Define variables and set to empty values
$user = $psw =""; $user = $psw = $remember ="";
$loginErr = $resetErr =""; $loginErr = $resetErr ="";
if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($_SERVER["REQUEST_METHOD"] == "POST") {
@@ -55,107 +55,9 @@
} }
break; break;
case "register": case "register":
try { include("register.php");
$name = test_input(($_POST["name"]));
checkInputChoice($name, "lettersAndSpaces");
} catch(lettersAndSpacesException $e){
$correct = false;
$nameErr = $e->getMessage();
}
try {
$surname = test_input(($_POST["surname"]));
checkInputChoice($surname, "lettersAndSpaces");
}
catch(lettersAndSpacesException $e){
$correct = false;
$surnameErr = $e->getMessage();
}
try{
$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;
$bdayErr = $e->getMessage();
}
try{
$username = str_replace(' ', '', test_input(($_POST["username"])));
checkInputChoice($username, "username");
} catch(usernameException $e){
$correct = false;
$usernameErr = $e->getMessage();
}
try{
$password = str_replace(' ', '', test_input(($_POST["password"])));
checkInputChoice($password, "longerEight");
matchPassword();
} catch(passwordException $e){
$correct = false;
$passwordErr = $e->getMessage();
} catch(confirmPasswordException $e){
$correct = false;
$confirmPasswordErr = $e->getMessage();
}
try{
$location = test_input(($_POST["location"]));
checkInputChoice($location, "lettersAndSpaces");
} catch(lettersAndSpacesException $e){
$correct = false;
$locationErr = $e->getMessage();
}
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{
$captcha = $_POST['g-recaptcha-response'];
checkCaptcha($captcha);
} catch(captchaException $e){
$correct = false;
$captchaErr = $e->getMessage();
}
try {
getIp();
registerCheck($correct);
sendConfirmEmailUsername($username);
} catch(registerException $e){
echo "<script>
window.onload = function() {
$('#registerModal').show();
}
</script>";
$genericErr = $e->getMessage();
}
} }
} }
// // Trying to login
// if ($_SERVER["REQUEST_METHOD"] == "POST") {
// try{
// $uname = ($_POST["uname"]);
// validateLogin($_POST["uname"], $_POST["psw"]);
// } catch(loginException $e) {
// $loginErr = $e->getMessage();
// }
// }
/* This view adds login view */ /* This view adds login view */
include("../views/login-view.php"); include("../views/login-view.php");
?> ?>

View File

@@ -8,6 +8,7 @@
<style> <style>
@import url("styles/profile.css"); @import url("styles/profile.css");
@import url("styles/post-popup.css"); @import url("styles/post-popup.css");
@import url('https://fonts.googleapis.com/css?family=Anton');
</style> </style>
</head> </head>
<body> <body>

View File

@@ -0,0 +1,115 @@
<!DOCTYPE html>
<html>
<?php
include("../views/login_head.php");
require_once("../queries/connect.php");
include_once("../queries/register.php");
include_once("../queries/checkInput.php");
include_once("../queries/emailconfirm.php");
?>
<body>
<?php
session_start();
if(isset($_SESSION["userID"])){
header("location: login.php");
}
// define variables and set to empty values
$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") {
try {
$name = test_input(($_POST["name"]));
checkInputChoice($name, "lettersAndSpaces");
} catch(lettersAndSpacesException $e){
$correct = false;
$nameErr = $e->getMessage();
}
try {
$surname = test_input(($_POST["surname"]));
checkInputChoice($surname, "lettersAndSpaces");
}
catch(lettersAndSpacesException $e){
$correct = false;
$surnameErr = $e->getMessage();
}
try{
$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;
$bdayErr = $e->getMessage();
}
try{
$username = str_replace(' ', '', test_input(($_POST["username"])));
checkInputChoice($username, "username");
} catch(usernameException $e){
$correct = false;
$usernameErr = $e->getMessage();
}
try{
$password = str_replace(' ', '', test_input(($_POST["password"])));
checkInputChoice($password, "longerEight");
matchPassword();
} catch(passwordException $e){
$correct = false;
$passwordErr = $e->getMessage();
} catch(confirmPasswordException $e){
$correct = false;
$confirmPasswordErr = $e->getMessage();
}
try{
$location = test_input(($_POST["location"]));
checkInputChoice($location, "lettersAndSpaces");
} catch(lettersAndSpacesException $e){
$correct = false;
$locationErr = $e->getMessage();
}
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{
$captcha = $_POST['g-recaptcha-response'];
checkCaptcha($captcha);
} catch(captchaException $e){
$correct = false;
$captchaErr = $e->getMessage();
}
try {
getIp();
registerCheck($correct);
sendConfirmEmailUsername($username);
} catch(registerException $e){
$genericErr = $e->getMessage();
}
}
/* This view adds register view */
include("../views/register-view.php");
?>
</body>
</html>

View File

@@ -1,115 +1,91 @@
<!DOCTYPE html>
<html>
<?php <?php
include("../views/login_head.php");
require_once("../queries/connect.php"); try {
include_once("../queries/register.php"); $name = test_input(($_POST["name"]));
include_once("../queries/checkInput.php"); checkInputChoice($name, "lettersAndSpaces");
include_once("../queries/emailconfirm.php"); } catch(lettersAndSpacesException $e){
?> $correct = false;
<body> $nameErr = $e->getMessage();
<?php
session_start();
if(isset($_SESSION["userID"])){
header("location: login.php");
} }
// define variables and set to empty values
$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 try {
if ($_SERVER["REQUEST_METHOD"] == "POST") { $surname = test_input(($_POST["surname"]));
try { checkInputChoice($surname, "lettersAndSpaces");
$name = test_input(($_POST["name"])); }
checkInputChoice($name, "lettersAndSpaces"); catch(lettersAndSpacesException $e){
} catch(lettersAndSpacesException $e){ $correct = false;
$correct = false; $surnameErr = $e->getMessage();
$nameErr = $e->getMessage(); }
}
try{
try { $day_date = test_input(($_POST["day_date"]));
$surname = test_input(($_POST["surname"])); $month_date = test_input(($_POST["month_date"]));
checkInputChoice($surname, "lettersAndSpaces"); $year_date = test_input(($_POST["year_date"]));
} $bday = $year_date . "-" . $month_date . "-" . $day_date;
catch(lettersAndSpacesException $e){ checkInputChoice($bday, "bday");
$correct = false; } catch(bdayException $e){
$surnameErr = $e->getMessage(); $correct = false;
} $bdayErr = $e->getMessage();
}
try{
$day_date = test_input(($_POST["day_date"])); try{
$month_date = test_input(($_POST["month_date"])); $username = str_replace(' ', '', test_input(($_POST["username"])));
$year_date = test_input(($_POST["year_date"])); checkInputChoice($username, "username");
$bday = $year_date . "-" . $month_date . "-" . $day_date; } catch(usernameException $e){
checkInputChoice($bday, "bday"); $correct = false;
} catch(bdayException $e){ $usernameErr = $e->getMessage();
$correct = false; }
$bdayErr = $e->getMessage();
} try{
$password = str_replace(' ', '', test_input(($_POST["password"])));
try{ checkInputChoice($password, "longerEight");
$username = str_replace(' ', '', test_input(($_POST["username"]))); matchPassword();
checkInputChoice($username, "username"); } catch(passwordException $e){
} catch(usernameException $e){ $correct = false;
$correct = false; $passwordErr = $e->getMessage();
$usernameErr = $e->getMessage(); } catch(confirmPasswordException $e){
} $correct = false;
$confirmPasswordErr = $e->getMessage();
try{ }
$password = str_replace(' ', '', test_input(($_POST["password"])));
checkInputChoice($password, "longerEight"); try{
matchPassword(); $location = test_input(($_POST["location"]));
} catch(passwordException $e){ checkInputChoice($location, "lettersAndSpaces");
$correct = false; } catch(lettersAndSpacesException $e){
$passwordErr = $e->getMessage(); $correct = false;
} catch(confirmPasswordException $e){ $locationErr = $e->getMessage();
$correct = false; }
$confirmPasswordErr = $e->getMessage();
} try{
$email = test_input(($_POST["email"]));
try{ checkInputChoice($email, "email");
$location = test_input(($_POST["location"])); $confirmEmail = test_input(($_POST["confirmEmail"]));
checkInputChoice($location, "lettersAndSpaces"); matchEmail();
} catch(lettersAndSpacesException $e){ } catch(emailException $e){
$correct = false; $correct = false;
$locationErr = $e->getMessage(); $emailErr = $e->getMessage();
} } catch(confirmEmailException $e){
$correct = false;
try{ $confirmEmailErr = $e->getMessage();
$email = test_input(($_POST["email"])); }
checkInputChoice($email, "email");
$confirmEmail = test_input(($_POST["confirmEmail"])); try{
matchEmail(); $captcha = $_POST['g-recaptcha-response'];
} catch(emailException $e){ checkCaptcha($captcha);
$correct = false; } catch(captchaException $e){
$emailErr = $e->getMessage(); $correct = false;
} catch(confirmEmailException $e){ $captchaErr = $e->getMessage();
$correct = false; }
$confirmEmailErr = $e->getMessage();
} try {
getIp();
try{ registerCheck($correct);
$captcha = $_POST['g-recaptcha-response']; sendConfirmEmailUsername($username);
checkCaptcha($captcha); } catch(registerException $e){
} catch(captchaException $e){ echo "<script>
$correct = false; window.onload = function() {
$captchaErr = $e->getMessage(); $('#registerModal').show();
} }
</script>";
try { $genericErr = $e->getMessage();
getIp();
registerCheck($correct);
sendConfirmEmailUsername($username);
} catch(registerException $e){
$genericErr = $e->getMessage();
}
} }
/* This view adds register view */
include("../views/register-view.php");
?>
</body>
</html>

View File

@@ -1,3 +1,8 @@
body {
overflow: hidden;
}
/* Overall chat-screen */ /* Overall chat-screen */
.chat { .chat {
position: fixed; position: fixed;
@@ -37,6 +42,22 @@
} }
/* Chat-message takes the whole width of the chat area */ /* Chat-message takes the whole width of the chat area */
.day-message {
width: 100%;
min-height: 40px;
padding: 10px 0;
clear: both;
text-align: center;
}
.day-message-content {
width: auto;
padding: 10px;
background-color: #F8F8F8;
color: #666;
}
.chat-message { .chat-message {
width: 100%; width: 100%;
min-height: 40px; min-height: 40px;
@@ -106,3 +127,7 @@
background: #4CAF50; background: #4CAF50;
color: white; color: white;
} }
.chat-message img {
max-width: 100%;
}

View File

@@ -28,10 +28,10 @@ body {
form { form {
/*background-color: #a87a87;*/ /*background-color: #a87a87;*/
border-radius: 12px; border-radius: 12px;
height: 80%; height: 85%;
margin: auto; margin: auto;
width: 600px; width: 600px;
overflow-y:auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
@@ -46,13 +46,13 @@ h1 {
/* registreer titel*/ /* registreer titel*/
h2 { h2 {
padding: 16px; padding: 8px;
text-align: left; text-align: left;
font-size: 2.0em; font-size: 2.0em;
} }
h3 { h3 {
padding: 16px; padding: 8px;
text-align: center; text-align: center;
font-size: 1.5em; font-size: 1.5em;
} }
@@ -63,11 +63,15 @@ input[type=text], input[type=password], input[type=email], input[type="date"] {
display: inline-block; display: inline-block;
height: 60%; height: 60%;
font-size: 16px; font-size: 16px;
padding: 8px 20px; padding: 8px 10px;
margin: 4px 0; margin: 4px 0;
width: 55%; width: 55%;
} }
.middle{
text-align: center;
}
.center{ .center{
text-align: center; text-align: center;
} }
@@ -79,7 +83,7 @@ button {
cursor: pointer; cursor: pointer;
height: 50%; height: 50%;
padding: 8px 20px; padding: 8px 20px;
margin: 10px; margin: 5px;
font-family: Arial; font-family: Arial;
font-size: 22px; font-size: 22px;
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
@@ -90,6 +94,7 @@ button {
font-family: Arial; font-family: Arial;
font-size: 15px; font-size: 15px;
color: red; color: red;
text-align: left;
} }
label { label {
@@ -98,19 +103,19 @@ label {
/* padding voor registreer container */ /* padding voor registreer container */
.login_containerregister { .login_containerregister {
padding: 16px; padding: 8px;
text-align: left; text-align: left;
} }
/* padding voor login_containers */ /* padding voor login_containers */
.login_containerlogin { .login_containerlogin {
padding:16px; padding:8px;
text-align: center; text-align: center;
} }
/* padding voor foutmelding login */ /* padding voor foutmelding login */
.login_containerfault { .login_containerfault {
padding: 16px; padding: 4px;
text-align: center; text-align: center;
color: red; color: red;
} }
@@ -129,7 +134,7 @@ label {
background-attachment: fixed;*/ background-attachment: fixed;*/
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
height: 400px; height: 400px;
margin: 34px auto; margin: 16px auto;
overflow-y: auto; overflow-y: auto;
padding: 20px; padding: 20px;
width: 600px; width: 600px;
@@ -149,12 +154,12 @@ ul {
display: none; /* Hidden by default */ display: none; /* Hidden by default */
position: fixed; /* Stay in place */ position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */ z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */ padding-top: 30px; /* Location of the box */
left: 0; left: 0;
top: 0; top: 0;
width: 100%; /* Full width */ width: 100%; /* Full width */
height: 100%; /* Full height */ height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */ overflow: hidden; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */ background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
} }
@@ -166,7 +171,7 @@ ul {
margin: auto; margin: auto;
padding: 0; padding: 0;
border: 1px solid #888; border: 1px solid #888;
width: 589px; width: 600px;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
-webkit-animation-name: animatetop; -webkit-animation-name: animatetop;
-webkit-animation-duration: 0.4s; -webkit-animation-duration: 0.4s;
@@ -189,7 +194,7 @@ ul {
.close { .close {
color: white; color: white;
float: right; float: right;
font-size: 28px; font-size: 36px;
font-weight: bold; font-weight: bold;
} }
@@ -201,7 +206,7 @@ ul {
} }
.modal-header { .modal-header {
padding: 2px 16px; padding: 4px 16px;
background-color: #FBC02D; background-color: #FBC02D;
color: black; color: black;
} }

View File

@@ -70,3 +70,8 @@
margin: 5px auto; margin: 5px auto;
width: 95%; width: 95%;
} }
.nietslecht {
font-family: Impact, Anton, sans-serif;
text-shadow: -1.5px 0 1px black, 0 1.5px 1px black, 1px 0 1.5px black, 0 -1.5px 1px black;
}

View File

@@ -124,11 +124,11 @@ function matchPassword(){
/* Checks if captcha is correctly filled in */ /* Checks if captcha is correctly filled in */
function checkCaptcha($captcha){ function checkCaptcha($captcha){
if(!$captcha){ if(!$captcha){
throw new captchaException("Captcha needs to be filled in!"); throw new captchaException("Captcha moet ingevuld worde!");
} else { } else {
$response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lc72xIUAAAAAPizuF3nUbklCPljVCVzgYespz8o&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR'])); $response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lc72xIUAAAAAPizuF3nUbklCPljVCVzgYespz8o&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']));
if($response->success==false) { if($response->success==false) {
throw new captchaException("You are a spammer!"); throw new captchaException("Je bent een spammer!");
} }
} }
} }

View File

@@ -1,5 +1,58 @@
<?php <?php
require("connect.php");
function selectGroupByName($name) {
$stmt = $GLOBALS["db"]->prepare("
SELECT
`group_page`.`groupID`,
`name`,
`description`,
`picture`,
`status`,
COUNT(`group_member`.`groupID`) as `members`
FROM
`group_page`
LEFT JOIN
`group_member`
ON
`group_page`.`groupID` = `group_member`.`groupID`
WHERE
name LIKE :name
");
$stmt->bindParam(':name', $name);
if (!$stmt->execute()) {
return False;
}
return $stmt->fetch();
}
function selectGroupMembers(int $groupID) {
$stmt = $GLOBALS["db"]->prepare("
SELECT
`username`,
`fname`,
`lname`,
`profilepicture`
FROM
`group_member`
LEFT JOIN
`user`
ON
`group_member`.`userID` = `user`.`userID`
WHERE
`groupID` = :groupID
LIMIT 20
");
$stmt->bindParam(':groupID', $groupID);
if (!$stmt->execute()) {
return False;
}
return $stmt->fetchAll();
}
function selectGroupById($groupID) { function selectGroupById($groupID) {
$q = $GLOBALS["db"]->prepare(" $q = $GLOBALS["db"]->prepare("
SELECT SELECT

View File

@@ -13,7 +13,7 @@ function getUser() {
`email` LIKE :username `email` LIKE :username
"); ");
$stmt->bindParam(":username", test_input($_POST["user"])); $stmt->bindValue(":username", test_input($_POST["user"]));
$stmt->execute(); $stmt->execute();
return $stmt->fetch(PDO::FETCH_ASSOC); return $stmt->fetch(PDO::FETCH_ASSOC);
} }
@@ -42,6 +42,9 @@ function validateLogin($username, $password){
</script>"; </script>";
} else { } else {
$_SESSION["userID"] = $userID; $_SESSION["userID"] = $userID;
// if($_POST[rememberMe] == 1){
// ini_set("session.gc_maxlifetime", "10");
// }
header("location: profile.php"); header("location: profile.php");
} }
} else { } else {

View File

@@ -75,7 +75,7 @@ function makePost($userID, $groupID, $title, $content) {
$stmt->execute(); $stmt->execute();
} }
function makeComment($postID, $userID, $content) { function makeComment($postID, $userID, $content) : int {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
INSERT INTO INSERT INTO
`comment` ( `comment` (
@@ -94,4 +94,55 @@ function makeComment($postID, $userID, $content) {
$stmt->bindParam(':userID', $userID); $stmt->bindParam(':userID', $userID);
$stmt->bindParam(':content', $content); $stmt->bindParam(':content', $content);
$stmt->execute(); $stmt->execute();
return $stmt->rowCount();
}
function makeNietSlecht(int $postID, int $userID) : int {
if (checkNietSlecht($postID, $userID)) {
return deleteNietSlecht($postID, $userID);
} else {
return addNietSlecht($postID, $userID);
}
}
function checkNietSlecht(int $postID, int $userID) {
$stmt = $GLOBALS["db"]->prepare("
SELECT
*
FROM
`niet_slecht`
WHERE
`userID` = :userID AND
`postID` = :postID
");
$stmt->bindParam(":userID", $userID);
$stmt->bindParam(":postID", $postID);
$stmt->execute();
return $stmt->rowCount();
}
function addNietSlecht(int $postID, int $userID) {
$stmt = $GLOBALS["db"]->prepare("
INSERT INTO
`niet_slecht` (`userID`, `postID`)
VALUES (:userID, :postID)
");
$stmt->bindParam(":userID", $userID);
$stmt->bindParam(":postID", $postID);
$stmt->execute();
return $stmt->rowCount();
}
function deleteNietSlecht(int $postID, int $userID) {
$stmt = $GLOBALS["db"]->prepare("
DELETE FROM
`niet_slecht`
WHERE
`userID` = :userID AND
`postID` = :postID
");
$stmt->bindParam(":userID", $userID);
$stmt->bindParam(":postID", $postID);
$stmt->execute();
return $stmt->rowCount();
} }

View File

@@ -10,7 +10,7 @@ function getExistingUsername() {
`username` LIKE :username `username` LIKE :username
"); ");
$stmt->bindParam(":username", test_input($_POST["username"])); $stmt->bindValue(":username", test_input($_POST["username"]));
$stmt->execute(); $stmt->execute();
return $stmt->rowCount(); return $stmt->rowCount();
@@ -26,7 +26,7 @@ function getExistingEmail() {
`email` LIKE :email `email` LIKE :email
"); ");
$stmt->bindParam(":email", test_input($_POST["email"])); $stmt->bindValue(":email", test_input($_POST["email"]));
$stmt->execute(); $stmt->execute();
return $stmt->rowCount(); return $stmt->rowCount();
@@ -42,7 +42,7 @@ function getResetEmail() {
`email` LIKE :email `email` LIKE :email
"); ");
$stmt->bindParam(":email", test_input($_POST["forgotEmail"])); $stmt->bindValue(":email", test_input($_POST["forgotEmail"]));
$stmt->execute(); $stmt->execute();
return $stmt->rowCount(); return $stmt->rowCount();
@@ -70,13 +70,13 @@ function registerAccount() {
$hash=password_hash($_POST["password"], PASSWORD_DEFAULT); $hash=password_hash($_POST["password"], PASSWORD_DEFAULT);
$stmt->bindParam(":fname", test_input($_POST["name"])); $stmt->bindValue(":fname", test_input($_POST["name"]));
$stmt->bindParam(":lname", test_input($_POST["surname"])); $stmt->bindValue(":lname", test_input($_POST["surname"]));
$stmt->bindParam(":bday", test_input($_POST["bday"])); $stmt->bindValue(":bday", test_input($_POST["bday"]));
$stmt->bindParam(":username", test_input($_POST["username"])); $stmt->bindValue(":username", test_input($_POST["username"]));
$stmt->bindParam(":password", test_input($hash)); $stmt->bindValue(":password", test_input($hash));
$stmt->bindParam(":location", test_input($_POST["location"])); $stmt->bindValue(":location", test_input($_POST["location"]));
$stmt->bindParam(":email", test_input(strtolower($_POST["email"]))); $stmt->bindValue(":email", test_input(strtolower($_POST["email"])));
$stmt->execute(); $stmt->execute();
$stmt->rowCount(); $stmt->rowCount();

View File

@@ -50,5 +50,5 @@ function setHashToDatabase(int $userID, string $hash) {
$stmt->bindParam(":hash", $hash); $stmt->bindParam(":hash", $hash);
$stmt->bindParam(":userID", $userID); $stmt->bindParam(":userID", $userID);
$stmt->execute(); $stmt->execute();
return $stmt->rowCount(); $stmt->rowCount();
} }

View File

@@ -1,6 +1,10 @@
<?php <?php
include_once "../queries/emailconfirm.php"; include_once "../queries/emailconfirm.php";
/**
* Class AlertMessage
* abstract class for alertMessages used in
*/
abstract class AlertMessage extends Exception { abstract class AlertMessage extends Exception {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
{ {
@@ -10,6 +14,10 @@ abstract class AlertMessage extends Exception {
abstract public function getClass(); abstract public function getClass();
} }
/**
* Class HappyAlert
* class for a happy alert as an exception.
*/
class HappyAlert extends AlertMessage { class HappyAlert extends AlertMessage {
public function __construct($message = "Gelukt!", $code = 0, Exception $previous = null) public function __construct($message = "Gelukt!", $code = 0, Exception $previous = null)
@@ -22,6 +30,10 @@ class HappyAlert extends AlertMessage {
} }
} }
/**
* Class AngryAlert
* class for an angry alert as as exception.
*/
class AngryAlert extends AlertMessage { class AngryAlert extends AlertMessage {
public function __construct($message = "Er is iets fout gegaan.", $code = 0, Exception $previous = null) public function __construct($message = "Er is iets fout gegaan.", $code = 0, Exception $previous = null)
{ {
@@ -46,7 +58,9 @@ function getSettings() {
`location`, `location`,
`birthdate`, `birthdate`,
`bio`, `bio`,
`profilepicture` `profilepicture`,
`showBday`,
`showEmail`
FROM FROM
`user` `user`
WHERE WHERE
@@ -58,6 +72,10 @@ function getSettings() {
return $stmt->fetch(); return $stmt->fetch();
} }
/**
* Gets the passwordHas form the database
* @return mixed passwordhash
*/
function getPasswordHash() { function getPasswordHash() {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
SELECT SELECT
@@ -73,6 +91,10 @@ function getPasswordHash() {
return $stmt->fetch(); return $stmt->fetch();
} }
/**
* Changes the setting from post.
* @throws HappyAlert
*/
function updateSettings() { function updateSettings() {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
UPDATE UPDATE
@@ -82,7 +104,9 @@ function updateSettings() {
`lname` = :lname, `lname` = :lname,
`location` = :location, `location` = :location,
`birthdate` = :bday, `birthdate` = :bday,
`bio` = :bio `bio` = :bio,
`showEmail` = :showEmail,
`showBday` = :showBday
WHERE WHERE
`userID` = :userID `userID` = :userID
"); ");
@@ -92,15 +116,22 @@ function updateSettings() {
$stmt->bindValue(":location", test_input($_POST["location"])); $stmt->bindValue(":location", test_input($_POST["location"]));
$stmt->bindValue(":bday", test_input($_POST["bday"])); $stmt->bindValue(":bday", test_input($_POST["bday"]));
$stmt->bindValue(":bio", test_input($_POST["bio"])); $stmt->bindValue(":bio", test_input($_POST["bio"]));
$stmt->bindValue(":showEmail", test_input($_POST["showEmail"]));
$stmt->bindValue(":showBday", test_input($_POST["showBday"]));
$stmt->bindValue(":userID", $_SESSION["userID"]); $stmt->bindValue(":userID", $_SESSION["userID"]);
$stmt->execute(); $stmt->execute();
throw new HappyAlert("Instellingen zijn opgeslagen."); throw new HappyAlert("Instellingen zijn opgeslagen.");
} }
/**
* Change
* @throws AngryAlert
*/
function changePassword() { function changePassword() {
$user = getPasswordHash(); $user = getPasswordHash();
if (password_verify($_POST["password-old"], $user["password"])) { if (password_verify($_POST["password-old"], test_input($user["password"]))) {
if ($_POST["password-new"] == $_POST["password-confirm"] && (strlen($_POST["password-new"]) >= 8)) { if (test_input($_POST["password-new"]) == test_input($_POST["password-confirm"]) && (strlen(test_input($_POST["password-new"])) >= 8)) {
doChangePassword(); doChangePassword();
} else { } else {
throw new AngryAlert("Wachtwoorden komen niet overeen."); throw new AngryAlert("Wachtwoorden komen niet overeen.");
@@ -110,6 +141,10 @@ function changePassword() {
} }
} }
/**
* @throws AngryAlert
* @throws HappyAlert
*/
function doChangePassword() { function doChangePassword() {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
UPDATE UPDATE
@@ -134,8 +169,8 @@ function doChangePassword() {
function changeEmail() { function changeEmail() {
if ($_POST["email"] == $_POST["email-confirm"]) { if (test_input($_POST["email"]) == test_input($_POST["email-confirm"])) {
$email = strtolower($_POST["email"]); $email = strtolower(test_input($_POST["email"]));
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
//check if email exists //check if email exists
emailIsAvailableInDatabase($email); emailIsAvailableInDatabase($email);
@@ -193,7 +228,6 @@ function updateAvatar() {
$tmpImg = $_FILES["pp"]["tmp_name"]; $tmpImg = $_FILES["pp"]["tmp_name"];
checkAvatarSize($tmpImg); checkAvatarSize($tmpImg);
removeOldAvatar();
if (getimagesize($tmpImg)["mime"] == "image/gif") { if (getimagesize($tmpImg)["mime"] == "image/gif") {
if ($_FILES["pp"]["size"] > 4000000) { if ($_FILES["pp"]["size"] > 4000000) {
throw new AngryAlert("Bestand is te groot, maximaal 4MB toegestaan."); throw new AngryAlert("Bestand is te groot, maximaal 4MB toegestaan.");
@@ -205,6 +239,7 @@ function updateAvatar() {
$scaledImg = scaleAvatar($tmpImg); $scaledImg = scaleAvatar($tmpImg);
imagepng($scaledImg, $profilePictureDir . $relativePath); imagepng($scaledImg, $profilePictureDir . $relativePath);
} }
removeOldAvatar();
setAvatarToDatabase("../" . $relativePath); setAvatarToDatabase("../" . $relativePath);
throw new HappyAlert("Profielfoto veranderd."); throw new HappyAlert("Profielfoto veranderd.");
} }

View File

@@ -106,24 +106,36 @@ function selectAllUserGroups($userID) {
function selectAllUserPosts($userID) { function selectAllUserPosts($userID) {
$stmt = $GLOBALS["db"]->prepare(" $stmt = $GLOBALS["db"]->prepare("
SELECT SELECT
`postID`, `post`.`postID`,
`author`, `post`.`author`,
`title`, `title`,
CASE LENGTH(`content`) >= 150 AND `content` NOT LIKE '<img%' CASE LENGTH(`post`.`content`) >= 150 AND `post`.`content` NOT LIKE '<img%'
WHEN TRUE THEN WHEN TRUE THEN
CONCAT(LEFT(`content`, 150), '...') CONCAT(LEFT(`post`.`content`, 150), '...')
WHEN FALSE THEN WHEN FALSE THEN
`content` `post`.`content`
END END
AS `content`, AS `content`,
`creationdate` `post`.`creationdate`,
COUNT(`commentID`) AS `comments`,
COUNT(`niet_slecht`.`postID`) AS `niet_slechts`
FROM FROM
`post` `post`
LEFT JOIN
`niet_slecht`
ON
`post`.`postID` = `niet_slecht`.`postID`
LEFT JOIN
`comment`
ON
`post`.`postID` = `comment`.`postID`
WHERE WHERE
`author` = :userID AND `post`.`author` = :userID AND
`groupID` IS NULL `groupID` IS NULL
GROUP BY
`post`.`postID`
ORDER BY ORDER BY
`creationdate` DESC `post`.`creationdate` DESC
"); ");
$stmt->bindParam(':userID', $userID, PDO::PARAM_INT); $stmt->bindParam(':userID', $userID, PDO::PARAM_INT);

View File

@@ -0,0 +1,37 @@
<select name="day_date" >
<option>dag</option>
<?php
for($i=1; $i<32; $i++) {
$i = sprintf("%02d", $i);
?>
<option value="<?= $i ?>" <?php submitselect($day_date, $i)?>><?= $i ?></option>
<?php
}
?>
</select>
<select name="month_date">
<option>Maand</option>
<option value="01" <?php submitselect($month_date, "01")?>>januari</option>
<option value="02" <?php submitselect($month_date, "02")?>>februari</option>
<option value="03" <?php submitselect($month_date, "03")?>>maart</option>
<option value="04" <?php submitselect($month_date, "04")?>>april</option>
<option value="05" <?php submitselect($month_date, "05")?>>mei</option>
<option value="06" <?php submitselect($month_date, "06")?>>juni</option>
<option value="07" <?php submitselect($month_date, "07")?>>juli</option>
<option value="08" <?php submitselect($month_date, "08")?>>augustus</option>
<option value="09" <?php submitselect($month_date, "09")?>>september</option>
<option value="10" <?php submitselect($month_date, "10")?>>oktober</option>
<option value="11" <?php submitselect($month_date, "11")?>>november</option>
<option value="12" <?php submitselect($month_date, "12")?>>december</option>
</select>
<select name="year_date">
<option>Jaar</option>
<?php
$year = (new DateTime)->format("Y");
for($i=$year; $i > $year - 100; $i--) {
?>
<option value="<?= $i ?>" <?php submitselect($year_date, $i)?>><?= $i ?></option>
<?php
}
?>
</select>

View File

@@ -0,0 +1,36 @@
<!-- Trigger/Open The Modal -->
<button id="myBtn" class="button">Wachtwoord vergeten</button>
<!-- The Modal -->
<div id="myModal" class="modal">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post"
name="forgotPassword">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times;</span>
<h3>Voer uw emailadres in</h3>
</div>
<div class="modal-body">
<input type="text"
class="middle"
placeholder="Voer uw email in"
name="forgotEmail"
title="Voer een email in">
</div>
<div class="modal-footer">
<div class="login_containerfault"><span><?php echo $resetErr; ?></span></div>
<button type="submit"
value="reset"
name="submit"
id="frm1_submit">
Reset password
</button>
</div>
</div>
</form>
</div>

View File

@@ -1,43 +1,21 @@
<div class="content"> <div class="content">
<div class="profile-box platform"> <div class="profile-box platform">
<img class="left group-picture" src="http://i.imgur.com/afjEUx2.jpg"> <img class="left group-picture" src="<?= $group['picture'] ?>">
<div class="profile-button"> <div class="profile-button">
<p><img src="img/leave-group.png"> Groep verlaten</p> <p><img src="img/leave-group.png"> Groep verlaten</p>
</div> </div>
<h1 class="profile-username">[groepnaam]</h1> <h1 class="profile-username"><?= $group['name'] ?></h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dictum turpis quam, eu ultrices sapien hendrerit tincidunt. Nunc aliquam neque turpis, id porta quam iaculis id. Sed suscipit, nisl a fermentum congue, nunc augue finibus lectus, id varius nunc purus nec dolor. Integer laoreet tellus sit amet sapien auctor congue. Mauris laoreet eu elit vel rhoncus. Nam et tortor arcu. Maecenas sit amet leo quis tellus varius gravida. Sed quis fermentum odio, sed dictum nulla. Donec aliquam rutrum orci cursus tempus. Quisque sit amet ipsum eget velit aliquam facilisis ultricies quis ligula. Nunc nisi lacus, luctus non bibendum quis, sagittis sit amet odio.</p> <p><?= $group['description'] ?></p>
</div> </div>
<div class="item-box-full-width platform"> <div class="item-box-full-width platform">
<h2>Leden</h2> <h2>Leden (<?= $group['members'] ?>)</h2>
<p> <p>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a> <?php
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a> foreach($members as $member) {
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a> echo "<a href=\"profile.php?username=" . $member["username"] . "\" data-title=\"" . $member["username"] . "\"><img class=\"profile-picture\" src=\"" . $member["profilepicture"] . "\" alt=\"" . $member["username"] . "'s profielfoto\">";
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a> }
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a> ?>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#" data-title="[gebruikersnaam]"><img class="profile-picture" src="http://i.imgur.com/afjEUx2.jpg" alt="[gebruikersnaam]'s profielfoto"></a>
<a href="#vrienden">...en nog 25 anderen!</a>
</p> </p>
</div> </div>

View File

@@ -15,6 +15,7 @@
<div class="login_containerlogin"> <div class="login_containerlogin">
<label><b>Gebruikersnaam/Email</b></label> <label><b>Gebruikersnaam/Email</b></label>
<input type="text" <input type="text"
class="middle"
placeholder="Voer uw gebruikersnaam/email in" placeholder="Voer uw gebruikersnaam/email in"
name="user" name="user"
value="<?php echo $user ?>" value="<?php echo $user ?>"
@@ -26,6 +27,7 @@
<div class="login_containerlogin"> <div class="login_containerlogin">
<label><b>Wachtwoord</b></label> <label><b>Wachtwoord</b></label>
<input type="password" <input type="password"
class="middle"
placeholder="Voer uw wachtwoord in" placeholder="Voer uw wachtwoord in"
name="psw" name="psw"
title="Moet minstens 8 karakters lang zijn" title="Moet minstens 8 karakters lang zijn"
@@ -44,274 +46,65 @@
Inloggen Inloggen
</button> </button>
</div> </div>
<div class="login_containerlogin">
<label><b>Onthoud mij</b></label>
<input type="checkbox" name="rememberMe" value=1><br>
</div>
</form> </form>
</div> </div>
<!-- Button for going to the register screen --> <!-- Button for going to the register screen -->
<div class="login_containerlogin"> <div class="login_containerlogin">
<a href="https://myhyvesbookplus.nl/register" class="button">Registreer een account</a> <!-- <a href="https://myhyvesbookplus.nl/register" class="button">Registreer een account</a>-->
<!-- Trigger/Open The Modal --> <?php
<button id="myBtn" class="button">Wachtwoord vergeten</button> include("../views/forgotPasswordModal.php");
include("../views/registerModal.php");
?>
<!-- The Modal -->
<div id="myModal" class="modal">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post"
name="forgotPassword">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times;</span>
<h3>Voer uw emailadres in</h3>
</div>
<div class="modal-body">
<input type="text"
placeholder="Voer uw email in"
name="forgotEmail"
title="Voer een email in">
</div>
<div class="modal-footer">
<div class="login_containerfault"><span><?php echo $resetErr; ?></span></div>
<button type="submit"
value="reset"
name="submit"
id="frm1_submit">
Reset password
</button>
</div>
</div>
</form>
</div>
<!-- Trigger/Open The Modal -->
<button id="registerBtn" class="button">Registreer een account</button>
<!-- The Modal -->
<div id="registerModal" class="modal">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post"
name="forgotPassword">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times;</span>
<h3>Registreer uw account</h3>
</div>
<div class="modal-body">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post">
<!-- Error message -->
<div class="login_containerfault"><?php echo $genericErr;?></span></div>
<!-- Register name -->
<div class="login_containerregister">
<label><b>Naam</b></label>
<input type="text"
placeholder="Voer uw naam in"
name="name"
value="<?php echo $name ?>"
title="Mag alleen letters bevatten"
>
*<span class="error"><?php echo $nameErr;?></span>
</div>
<!-- Register surname -->
<div class="login_containerregister">
<label><b>Achternaam</b></label>
<input type="text"
placeholder="Voer uw achternaam in"
name="surname"
value="<?php echo $surname ?>"
title="Mag alleen letters bevatten"
>
*<span class="error"> <?php echo $surnameErr;?></span>
</div>
<!-- Register birthday -->
<div class="login_containerregister">
<label><b>Geboortedatum</b></label>
<!-- <input type="date"-->
<!-- name="bday"-->
<!-- value="--><?php //echo $bday ?><!--"-->
<!-- id="bday"-->
<!-- placeholder="1996/01/01"-->
<!-- data-fv-date-max=""-->
<!-- data-date="" data-date-format="DD MMMM YYYY"-->
<!-- >-->
<select name="day_date" >
<option>dag</option>
<?php
for($i=1; $i<32; $i++) {
$i = sprintf("%02d", $i);
?>
<option value="<?= $i ?>" <?php submitselect($day_date, $i)?>><?= $i ?></option>
<?php
}
?>
</select>
<select name="month_date">
<option>Maand</option>
<option value="01" <?php submitselect($month_date, "01")?>>Januari</option>
<option value="02" <?php submitselect($month_date, "02")?>>Februari</option>
<option value="03" <?php submitselect($month_date, "03")?>>Maart</option>
<option value="04" <?php submitselect($month_date, "04")?>>April</option>
<option value="05" <?php submitselect($month_date, "05")?>>Mei</option>
<option value="06" <?php submitselect($month_date, "06")?>>Juni</option>
<option value="07" <?php submitselect($month_date, "07")?>>Juli</option>
<option value="08" <?php submitselect($month_date, "08")?>>Augustus</option>
<option value="09" <?php submitselect($month_date, "09")?>>September</option>
<option value="10" <?php submitselect($month_date, "10")?>>Oktober</option>
<option value="11" <?php submitselect($month_date, "11")?>>November</option>
<option value="12" <?php submitselect($month_date, "12")?>>December</option>
</select>
<select name="year_date">
<option>Jaar</option>
<?php
$year = (new DateTime)->format("Y");
for($i=$year; $i > $year - 100; $i--) {
?>
<option value="<?= $i ?>" <?php submitselect($year_date, $i)?>><?= $i ?></option>
<?php
}
?>
</select>
*<span class="error"> <?php echo $bdayErr;?></span>
</div>
<!-- Register username -->
<div class="login_containerregister">
<label><b>Gebruikersnaam</b></label>
<input type="text"
placeholder="Voer uw gebruikersnaam in"
name="username"
value="<?php echo $username ?>"
title="Moet minimaal 6 karakters bevatten"
>
*<span class="error"> <?php echo $usernameErr;?></span>
<ul>
<li>Minstens 6 karakters</li>
</ul>
</div>
<!-- Register password -->
<div class="login_containerregister">
<label><b>Wachtwoord</b></label>
<input type="password"
placeholder="Voer uw wachtwoord in"
name="password"
value="<?php echo $password ?>"
id="password"
>
*<span class="error"> <?php echo $passwordErr;?></span>
<ul>
<li>Minstens 8 karakters</li>
</ul>
</div>
<!-- Repeat password -->
<div class="login_containerregister">
<label><b>Herhaal wachtwoord</b></label>
<input type="password"
placeholder="Herhaal wachtwoord"
name="confirmpassword"
value="<?php echo $confirmpassword ?>"
id="confirmpassword"
title="Herhaal wachtwoord"
>
*<span class="error"> <?php echo $confirmpasswordErr;?></span>
</div>
<!-- Register location -->
<div class="login_containerregister">
<label><b>Locatie</b></label>
<input type="text"
placeholder="Voer uw woonplaats in"
name="location"
value="<?php echo $location ?>"
pattern="[A-Za-z]{1,}"
title="Mag alleen letters bevatten">
*<span class="error"> <?php echo $locationErr;?></span>
</div>
<!-- Register email -->
<div class="login_containerregister">
<label><b>Email</b></label>
<input type="text"
placeholder="Voer uw email in"
name="email"
value="<?php echo $email ?>"
id="email"
title="Voer een geldige email in">
*<span class="error"> <?php echo $emailErr;?></span>
</div>
<!-- Register email -->
<div class="login_containerregister">
<label><b>Herhaal email</b></label>
<input type="text"
placeholder="Herhaal uw email"
name="confirmEmail"
value="<?php echo $confirmEmail ?>"
id="email"
title="Herhaal uw email">
*<span class="error"> <?php echo $confirmEmailErr;?></span>
</div>
<div class="login_containerregister">
<div class="g-recaptcha" data-sitekey="6Lc72xIUAAAAADumlWetgENm7NGd9Npyo0c_tYYQ"></div>
<span class="error"> <?php echo $captchaErr;?></span>
</div>
</div>
<div class="modal-footer">
<div class="login_containerfault"><span><?php echo $resetErr; ?></span></div>
<button type="submit"
value="register"
name="submit"
id="frm1_submit">
Registreer
</button>
</div>
</div>
</form>
</div>
</div> </div>
<script> <script>
// Get the button that opens the modal // Get the button that opens the modal
var modal = document.getElementById('myModal'); var modal = document.getElementById('myModal');
var btn = document.getElementById("myBtn"); var btn = document.getElementById("myBtn");
// Get the modal // Get the modal
var registerModal = document.getElementById('registerModal'); var registerModal = document.getElementById('registerModal');
var registerBtn = document.getElementById("registerBtn"); var registerBtn = document.getElementById("registerBtn");
// Get the <span> element that closes the modal // Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0]; var span = document.getElementsByClassName("close")[0];
var registerSpan = document.getElementsByClassName("close")[1]; var registerSpan = document.getElementsByClassName("close")[1];
// When the user clicks the button, open the modal // When the user clicks the button, open the modal
btn.onclick = function() { btn.onclick = function () {
// modal.style.display = "block";
modal.style.display = "block"; modal.style.display = "block";
window.onload=emailSent();
} }
registerBtn.onclick = function() {
registerBtn.onclick = function () {
registerModal.style.display = "block"; registerModal.style.display = "block";
} }
// When the user clicks on <span> (x), close the modal // When the user clicks on <span> (x), close the modal
span.onclick = function() { span.onclick = function () {
modal.style.display = "none"; modal.style.display = "none";
} }
registerSpan.onclick = function() { registerSpan.onclick = function () {
registerModal.style.display = "none"; registerModal.style.display = "none";
} }
// When the user clicks anywhere outside of the modal, close it
window.onclick = function (event) {
if (event.target == modal) {
modal.style.display = "none";
}
if (event.target == registerModal) {
registerModal.style.display = "none";
}
}
</script> </script>

View File

@@ -2,6 +2,7 @@
$postID = $_GET['postID']; $postID = $_GET['postID'];
$post = selectPostById($postID)->fetch(PDO::FETCH_ASSOC); $post = selectPostById($postID)->fetch(PDO::FETCH_ASSOC);
$fullname = $post['fname'] . " " . $post['lname'] . " (" . $post['username'] . ")"; $fullname = $post['fname'] . " " . $post['lname'] . " (" . $post['username'] . ")";
session_start();
echo(" echo("
<div class='post-header header'> <div class='post-header header'>
@@ -21,10 +22,20 @@ echo("
<div class='post-comments'> <div class='post-comments'>
<div class="commentfield"> <div class="commentfield">
<form id="newcommentform" action="javascript:postComment();"> <form id="newcommentform" onsubmit="return false;">
<input type="hidden" id="newcomment-textarea" name="postID" value="<?= $postID ?>"> <input type="hidden" id="newcomment-textarea" name="postID" value="<?= $postID ?>">
<textarea id="newcomment" name="newcomment-content" placeholder="Laat een reactie achter..."></textarea> <br> <textarea id="newcomment" name="newcomment-content" placeholder="Laat een reactie achter..."></textarea> <br>
<input type="submit" value="Reageer!"> <button onclick="postComment('reaction')" name="button" value="reaction">Reageer!</button>
<!-- TODO: if/else op "niet slecht." button voor like/unlike-->
<button onclick="postComment('nietslecht')" name="button" value="nietslecht">
<?php
if (checkNietSlecht($postID, $_SESSION["userID"])) {
echo 'Trek <span class="nietslecht">"Niet slecht."</span> terug';
} else {
echo 'Vind ik <span class="nietslecht">"Niet slecht."</span>';
}
?>
</button>
</form> </form>
</div> </div>

View File

@@ -41,14 +41,6 @@
<!-- Register birthday --> <!-- Register birthday -->
<div class="login_containerregister"> <div class="login_containerregister">
<label><b>Geboortedatum(Dag/Maand/Jaar)</b></label> <label><b>Geboortedatum(Dag/Maand/Jaar)</b></label>
<!-- <input type="date"-->
<!-- name="bday"-->
<!-- value="--><?php //echo $bday ?><!--"-->
<!-- id="bday"-->
<!-- placeholder="1996/01/01"-->
<!-- data-fv-date-max=""-->
<!-- data-date="" data-date-format="DD MMMM YYYY"-->
<!-- >-->
<select name="day_date" > <select name="day_date" >
<option>dag</option> <option>dag</option>
<?php <?php

View File

@@ -0,0 +1,158 @@
<!-- Trigger/Open The Modal -->
<button id="registerBtn" class="button">Registreer een account</button>
<!-- The Modal -->
<div id="registerModal" class="modal">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post"
name="forgotPassword">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times;</span>
<h3>Registreer uw account</h3>
</div>
<div class="modal-body">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
return= $correct
method="post">
<div class="login_containerregister"><label>U krijgt een bevestigingsemail na het registreren</label></div>
<!-- Error message -->
<div class="login_containerfault"><?php echo $genericErr;?></span></div>
<!-- Register name -->
<div class="login_containerregister">
<label><b>Naam</b></label>
<input type="text"
placeholder="Voer uw naam in"
name="name"
value="<?php echo $name ?>"
title="Mag alleen letters bevatten"
>
*<span class="error"><?php echo $nameErr;?></span>
</div>
<!-- Register surname -->
<div class="login_containerregister">
<label><b>Achternaam</b></label>
<input type="text"
placeholder="Voer uw achternaam in"
name="surname"
value="<?php echo $surname ?>"
title="Mag alleen letters bevatten"
>
*<span class="error"> <?php echo $surnameErr;?></span>
</div>
<!-- Register birthday -->
<div class="login_containerregister">
<label><b>Geboortedatum</b></label>
<?php
include("../views/bdayInput.php");
?>
*<span class="error"> <?php echo $bdayErr;?></span>
</div>
<!-- Register username -->
<div class="login_containerregister">
<label><b>Gebruikersnaam</b></label>
<input type="text"
placeholder="Voer uw gebruikersnaam in"
name="username"
value="<?php echo $username ?>"
title="Moet minimaal 6 karakters bevatten"
>
*<span class="error"> <?php echo $usernameErr;?></span>
<ul>
<li>Minstens 6 karakters</li>
</ul>
</div>
<!-- Register password -->
<div class="login_containerregister">
<label><b>Wachtwoord</b></label>
<input type="password"
placeholder="Voer uw wachtwoord in"
name="password"
value="<?php echo $password ?>"
id="password"
>
*<span class="error"> <?php echo $passwordErr;?></span>
<ul>
<li>Minstens 8 karakters</li>
</ul>
</div>
<!-- Repeat password -->
<div class="login_containerregister">
<label><b>Herhaal wachtwoord</b></label>
<input type="password"
placeholder="Herhaal wachtwoord"
name="confirmpassword"
value="<?php echo $confirmpassword ?>"
id="confirmpassword"
title="Herhaal wachtwoord"
>
*<span class="error"> <?php echo $confirmpasswordErr;?></span>
</div>
<!-- Register location -->
<div class="login_containerregister">
<label><b>Locatie</b></label>
<input type="text"
placeholder="Voer uw woonplaats in"
name="location"
value="<?php echo $location ?>"
pattern="[A-Za-z]{1,}"
title="Mag alleen letters bevatten">
*<span class="error"> <?php echo $locationErr;?></span>
</div>
<!-- Register email -->
<div class="login_containerregister">
<label><b>Email</b></label>
<input type="text"
placeholder="Voer uw email in"
name="email"
value="<?php echo $email ?>"
id="email"
title="Voer een geldige email in">
*<span class="error"> <?php echo $emailErr;?></span>
</div>
<!-- Register email -->
<div class="login_containerregister">
<label><b>Herhaal email</b></label>
<input type="text"
placeholder="Herhaal uw email"
name="confirmEmail"
value="<?php echo $confirmEmail ?>"
id="email"
title="Herhaal uw email">
*<span class="error"> <?php echo $confirmEmailErr;?></span>
</div>
<div class="login_containerregister">
<div class="g-recaptcha" data-sitekey="6Lc72xIUAAAAADumlWetgENm7NGd9Npyo0c_tYYQ">
</div>
<span class="error"> <?php echo $captchaErr;?></span>
</div>
</div>
<div class="modal-footer">
<div class="login_containerfault"><span><?php echo $resetErr; ?></span></div>
<button type="submit"
value="register"
name="submit"
id="frm1_submit">
Registreer
</button>
</div>
</div>
</form>
</div>

View File

@@ -51,6 +51,32 @@ $settings = getSettings();
value="<?= $settings["birthdate"]?>" value="<?= $settings["birthdate"]?>"
> >
</li> </li>
<li>
<label for="showBday">Toon leeftijd</label>
<input type="radio"
name="showBday"
value="1"
<?php echo ($settings["showBday"] ? "checked" : "")?>
> Ja
<input type="radio"
name="showBday"
value="0"
<?php echo ($settings["showBday"] ? "" : "checked")?>
> Nee
</li>
<li>
<label for="showEmail">Toon Email</label>
<input type="radio"
name="showEmail"
value="1"
<?php echo ($settings["showEmail"] ? "checked" : "")?>
> Ja
<input type="radio"
name="showEmail"
value="0"
<?php echo ($settings["showEmail"] ? "" : "checked")?>
> Nee
</li>
<li> <li>
<label for="bio">Bio</label> <label for="bio">Bio</label>
<textarea name="bio" <textarea name="bio"