diff --git a/website/public/API/loadFriendRequest.php b/website/public/API/loadFriendRequest.php index b99d2c3..02dedb3 100644 --- a/website/public/API/loadFriendRequest.php +++ b/website/public/API/loadFriendRequest.php @@ -4,5 +4,12 @@ session_start(); require_once ("../../queries/connect.php"); require_once ("../../queries/friendship.php"); +require_once ("../../queries/user.php"); -echo selectAllFriendRequests(); \ No newline at end of file +if (isset($_SESSION["userID"]) && + getRoleByID($_SESSION["userID"]) != 'frozen' && + getRoleByID($_SESSION["userID"]) != 'banned') { + echo selectAllFriendRequests(); +} else { + echo "[]"; +} diff --git a/website/public/API/loadFriends.php b/website/public/API/loadFriends.php index 38158c9..c5c8797 100644 --- a/website/public/API/loadFriends.php +++ b/website/public/API/loadFriends.php @@ -6,11 +6,15 @@ require_once ("../../queries/connect.php"); require_once ("../../queries/checkInput.php"); require_once ("../../queries/friendship.php"); -if (isset($_POST["limit"])) { - echo selectLimitedFriends($_SESSION["userID"], (int) test_input($_POST["limit"])); -} else if (isset($_GET["limit"])) { - echo selectLimitedFriends($_SESSION["userID"], (int) test_input($_GET["limit"])); +if (isset($_SESSION["userID"])) { + if (isset($_POST["limit"])) { + echo selectLimitedFriends($_SESSION["userID"], (int)test_input($_POST["limit"])); + } else if (isset($_GET["limit"])) { + echo selectLimitedFriends($_SESSION["userID"], (int)test_input($_GET["limit"])); + } else { + echo selectFriends($_SESSION["userID"]); + } } else { - echo selectFriends($_SESSION["userID"]); + echo "[]"; } diff --git a/website/public/API/postComment.php b/website/public/API/postComment.php index e1d7617..3864cc8 100644 --- a/website/public/API/postComment.php +++ b/website/public/API/postComment.php @@ -2,28 +2,36 @@ session_start(); -require("../../queries/post.php"); +require_once("../../queries/post.php"); require_once("../../queries/connect.php"); -require("../../queries/checkInput.php"); -print_r($_POST); -if ($_POST['button'] == 'reaction') { - if (empty($_POST['newcomment-content'])) { - echo 0; - } else { - if (makeComment($_POST['postID'], - $_SESSION['userID'], - test_input($_POST['newcomment-content']))) { +require_once("../../queries/checkInput.php"); +require_once("../../queries/user.php"); + + +if (isset($_SESSION["userID"]) && + getRoleByID($_SESSION["userID"]) != 'frozen' && + getRoleByID($_SESSION["userID"]) != 'banned') { + if ($_POST['button'] == 'reaction') { + if (empty($_POST['newcomment-content'])) { + echo 0; + } else { + 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; } else { echo 0; } - } -} else if ($_POST['button'] == 'nietslecht') { - if (makeNietSlecht($_POST["postID"], $_SESSION["userID"])) { - echo 1; } else { echo 0; } } else { - echo 0; + echo "frozen"; } \ No newline at end of file diff --git a/website/public/API/sendMessage.php b/website/public/API/sendMessage.php index c5d47d1..2d0b092 100644 --- a/website/public/API/sendMessage.php +++ b/website/public/API/sendMessage.php @@ -4,14 +4,22 @@ session_start(); require_once("../../queries/connect.php"); require_once("../../queries/private_message.php"); require_once("../../queries/checkInput.php"); +require_once("../../queries/user.php"); -if (!empty(test_input($_POST["destination"])) && - !empty(test_input($_POST["content"]))) { - if (sendMessage(test_input($_POST["destination"]), test_input($_POST["content"]))) { - echo 1; +if (isset($_SESSION["userID"]) && + getRoleByID($_SESSION["userID"]) != 'frozen' && + getRoleByID($_SESSION["userID"]) != 'banned') { + if (!empty(test_input($_POST["destination"])) && + !empty(test_input($_POST["content"])) + ) { + if (sendMessage(test_input($_POST["destination"]), test_input($_POST["content"]))) { + echo 1; + } else { + echo 0; + } } else { echo 0; } } else { - echo 0; + echo "frozen"; } \ No newline at end of file diff --git a/website/public/admin.php b/website/public/admin.php index 2785606..b264c25 100644 --- a/website/public/admin.php +++ b/website/public/admin.php @@ -19,9 +19,9 @@ include_once ("../queries/user.php"); // auth -$userinfo = getRoleByID($_SESSION['userID'])->fetch(PDO::FETCH_ASSOC); +$role = getRoleByID($_SESSION['userID']); -if ($userinfo['role'] != 'admin' AND $userinfo['role'] != 'owner') { +if ($role != 'admin' AND $role != 'owner') { header("location:profile.php"); } diff --git a/website/public/bits/friend-item.php b/website/public/bits/friend-item.php index a69d12a..40bc8a8 100644 --- a/website/public/bits/friend-item.php +++ b/website/public/bits/friend-item.php @@ -33,7 +33,7 @@ foreach($friends as $i => $friend) { } ?>'>
- PF + PF
fullname ?>
"]*)/ig; text = text.replace(regex, function(link) { // Add images if (link.match(/(https?:\/\/.[^ ]*\.(?:png|jpg|jpeg|gif))/ig)) { @@ -93,4 +93,14 @@ function showGroups(groups, list) { } else { return false; } -} \ No newline at end of file +} + +$(document).ready(function() { + $("body").delegate("textarea[maxlength]", "keydown", function() { + if ($(this).val().length / .9 >= $(this).attr("maxlength")) { + $(this).next().text($(this).val().length + "/" + $(this).attr("maxlength")); + } else { + $(this).next().text(""); + } + }); +}); \ No newline at end of file diff --git a/website/public/js/masonry.js b/website/public/js/masonry.js index d73c33c..b4370b7 100644 --- a/website/public/js/masonry.js +++ b/website/public/js/masonry.js @@ -19,7 +19,7 @@ function requestPost(postID) { var scrollBarWidth = window.innerWidth - document.body.offsetWidth; scrollbarMargin(scrollBarWidth, 'hidden'); $('#modal-response').show(); - $('#modal-response').html(data); + $('#modal-response').html(fancyText(data)); }); } @@ -78,7 +78,7 @@ function masonry(mode) { * Initialise columns. */ var columns = new Array(columnCount); - var $columns = new Array(columnCount); + for (i = 0; i < columnCount; i++) { $column = $("
"); $column.width(100/columnCount + "%"); @@ -96,7 +96,7 @@ function masonry(mode) { } $form.append($("")); - $form.append($("")); $form.append($("")); columns[0][1].append($postInput); @@ -130,7 +130,7 @@ function masonry(mode) { $.each(posts, function() { $post = $("
"); $post.append($("

").html(this["title"])); - $post.append($("

").html(this["content"])); + $post.append($("

").html(fancyText(this["content"]))); $post.append($("

").text(this["nicetime"])); $post.append($("

").text("comments: " + this["comments"] + ", niet slechts: " + this["niet_slechts"])); diff --git a/website/public/js/post.js b/website/public/js/post.js index 4a8ebc7..27bc34e 100644 --- a/website/public/js/post.js +++ b/website/public/js/post.js @@ -4,8 +4,10 @@ function postComment(buttonValue) { $.post( "API/postComment.php", formData - ).done(function(data) { - console.log(data); + ).done(function (response) { + if (response == "frozen") { + alert("Je account is bevroren, dus je kan geen comments plaatsen of \"niet slechten\". Contacteer een admin als je denkt dat dit onjuist is."); + } }); $("#newcomment").val(""); @@ -15,6 +17,6 @@ function postComment(buttonValue) { "API/loadPost.php", $("#newcommentform").serialize() ).done(function (data) { - $('#modal-response').html(data); + $('#modal-response').html(fancyText(data)); }); } \ No newline at end of file diff --git a/website/public/profile.php b/website/public/profile.php index 83b9d10..c67b60d 100644 --- a/website/public/profile.php +++ b/website/public/profile.php @@ -13,10 +13,10 @@ = DATE_SUB(NOW(),INTERVAL 15 MINUTE) + WHEN TRUE THEN 'online' + WHEN FALSE THEN 'offline' + END AS `onlinestatus`, `role` FROM `user` @@ -28,11 +32,8 @@ function selectLimitedFriends($userID, $limit) { `friendship`.`user1ID` = `user`.`userID`) AND `user`.`role` != 'banned' AND `friendship`.`status` = 'confirmed' - ORDER BY - CASE - WHEN `friendship`.`user2ID` = `user`.`userID` THEN `friendship`.`chatLastVisted1` - WHEN `friendship`.`user1ID` = `user`.`userID` THEN `friendship`.`chatLastVisted2` - END + ORDER BY + `user`.`lastactivity` DESC LIMIT :limitCount "); diff --git a/website/queries/private_message.php b/website/queries/private_message.php index 430fddb..4ac04a7 100644 --- a/website/queries/private_message.php +++ b/website/queries/private_message.php @@ -16,6 +16,8 @@ function getOldChatMessages($user2ID) { `destination` = :user1 ORDER BY `creationdate` ASC + LIMIT + 100 "); $stmt->bindParam(":user1", $user1ID); diff --git a/website/queries/user.php b/website/queries/user.php index 005fdcf..2d6a8c0 100644 --- a/website/queries/user.php +++ b/website/queries/user.php @@ -2,6 +2,19 @@ require_once ("connect.php"); +function updateLastActivity() { + $stmt = prepareQuery(" + UPDATE + `user` + SET + `lastactivity` = NOW() + WHERE + `userID` = :userID + "); + $stmt->bindParam(":userID", $_SESSION["userID"]); + return $stmt->execute(); +} + function getUserID($username) { $stmt = prepareQuery(" SELECT @@ -363,5 +376,5 @@ function getRoleByID($userID) { $stmt->bindParam(':userID', $userID); $stmt->execute(); - return $stmt; + return $stmt->fetch()["role"]; } \ No newline at end of file diff --git a/website/views/head.php b/website/views/head.php index 6e8ca0a..284abb4 100644 --- a/website/views/head.php +++ b/website/views/head.php @@ -19,9 +19,12 @@ require_once ("../queries/checkInput.php"); require_once ("../queries/connect.php"); +require_once ("../queries/user.php"); session_start(); if(!isset($_SESSION["userID"])){ header("location:login.php"); -} \ No newline at end of file +} else { + updateLastActivity(); +} diff --git a/website/views/header.php b/website/views/header.php index 9d2aa56..c1379fc 100644 --- a/website/views/header.php +++ b/website/views/header.php @@ -25,8 +25,7 @@ $userinfo = getHeaderInfo();

- "/> - + "/>
diff --git a/website/views/notification-center.php b/website/views/notification-center.php index 7630b75..7bd03ea 100644 --- a/website/views/notification-center.php +++ b/website/views/notification-center.php @@ -7,9 +7,9 @@ include_once ("../queries/user.php"); // auth - $userinfo = getRoleByID($_SESSION['userID'])->fetch(PDO::FETCH_ASSOC); + $role = getRoleByID($_SESSION['userID']); - if ($userinfo['role'] == 'admin' OR $userinfo['role'] == 'owner') { + if ($role == 'admin' OR $role == 'owner') { echo ""; echo ""; } diff --git a/website/views/post-view.php b/website/views/post-view.php index 264d67c..d961334 100644 --- a/website/views/post-view.php +++ b/website/views/post-view.php @@ -24,7 +24,7 @@ echo("
-
+
diff --git a/website/views/settings-view.php b/website/views/settings-view.php index b7f554a..41f093e 100644 --- a/website/views/settings-view.php +++ b/website/views/settings-view.php @@ -99,7 +99,8 @@ $settings = getSettings(); rows="5" title="bio" id="bio" - > + maxlength="1000" + >