GROUP BUTTONS AND GROUP STYLE #171

Merged
11319801 merged 33 commits from kevin-prototype into master 2017-02-01 12:29:09 +01:00
25 changed files with 145 additions and 64 deletions
Showing only changes of commit 6a7bb4670b - Show all commits

View File

@@ -4,5 +4,12 @@ session_start();
require_once ("../../queries/connect.php"); require_once ("../../queries/connect.php");
require_once ("../../queries/friendship.php"); require_once ("../../queries/friendship.php");
require_once ("../../queries/user.php");
echo selectAllFriendRequests(); if (isset($_SESSION["userID"]) &&
getRoleByID($_SESSION["userID"]) != 'frozen' &&
getRoleByID($_SESSION["userID"]) != 'banned') {
echo selectAllFriendRequests();
} else {
echo "[]";
}

View File

@@ -6,11 +6,15 @@ require_once ("../../queries/connect.php");
require_once ("../../queries/checkInput.php"); require_once ("../../queries/checkInput.php");
require_once ("../../queries/friendship.php"); require_once ("../../queries/friendship.php");
if (isset($_POST["limit"])) { if (isset($_SESSION["userID"])) {
echo selectLimitedFriends($_SESSION["userID"], (int) test_input($_POST["limit"])); if (isset($_POST["limit"])) {
} else if (isset($_GET["limit"])) { echo selectLimitedFriends($_SESSION["userID"], (int)test_input($_POST["limit"]));
echo selectLimitedFriends($_SESSION["userID"], (int) test_input($_GET["limit"])); } else if (isset($_GET["limit"])) {
echo selectLimitedFriends($_SESSION["userID"], (int)test_input($_GET["limit"]));
} else {
echo selectFriends($_SESSION["userID"]);
}
} else { } else {
echo selectFriends($_SESSION["userID"]); echo "[]";
} }

View File

@@ -2,28 +2,36 @@
session_start(); session_start();
require("../../queries/post.php"); require_once("../../queries/post.php");
require_once("../../queries/connect.php"); require_once("../../queries/connect.php");
require("../../queries/checkInput.php"); require_once("../../queries/checkInput.php");
print_r($_POST); require_once("../../queries/user.php");
if ($_POST['button'] == 'reaction') {
if (empty($_POST['newcomment-content'])) {
echo 0; if (isset($_SESSION["userID"]) &&
} else { getRoleByID($_SESSION["userID"]) != 'frozen' &&
if (makeComment($_POST['postID'], getRoleByID($_SESSION["userID"]) != 'banned') {
$_SESSION['userID'], if ($_POST['button'] == 'reaction') {
test_input($_POST['newcomment-content']))) { 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; echo 1;
} else { } else {
echo 0; echo 0;
} }
}
} else if ($_POST['button'] == 'nietslecht') {
if (makeNietSlecht($_POST["postID"], $_SESSION["userID"])) {
echo 1;
} else { } else {
echo 0; echo 0;
} }
} else { } else {
echo 0; echo "frozen";
} }

View File

@@ -4,14 +4,22 @@ session_start();
require_once("../../queries/connect.php"); require_once("../../queries/connect.php");
require_once("../../queries/private_message.php"); require_once("../../queries/private_message.php");
require_once("../../queries/checkInput.php"); require_once("../../queries/checkInput.php");
require_once("../../queries/user.php");
if (!empty(test_input($_POST["destination"])) && if (isset($_SESSION["userID"]) &&
!empty(test_input($_POST["content"]))) { getRoleByID($_SESSION["userID"]) != 'frozen' &&
if (sendMessage(test_input($_POST["destination"]), test_input($_POST["content"]))) { getRoleByID($_SESSION["userID"]) != 'banned') {
echo 1; 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 { } else {
echo 0; echo 0;
} }
} else { } else {
echo 0; echo "frozen";
} }

View File

@@ -19,9 +19,9 @@
include_once ("../queries/user.php"); include_once ("../queries/user.php");
// auth // 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"); header("location:profile.php");
} }

View File

@@ -33,7 +33,7 @@ foreach($friends as $i => $friend) {
} }
?>'> ?>'>
<div class='friend'> <div class='friend'>
<img alt='PF' class='profile-picture' src='<?= $friend->profilepicture ?>'/> <img alt='PF' class='profile-picture <?= $friend->onlinestatus ?>' src='<?= $friend->profilepicture ?>'/>
<div class='friend-name'> <div class='friend-name'>
<?= $friend->fullname ?><br/> <?= $friend->fullname ?><br/>
<span style='color: #666'><?php <span style='color: #666'><?php

View File

@@ -11,7 +11,7 @@
<body> <body>
<?php <?php
include("../queries/group_page.php"); include_once("../queries/group_page.php");
$group = selectGroupByName($_GET["groupname"]); $group = selectGroupByName($_GET["groupname"]);
$members = selectGroupMembers(2); $members = selectGroupMembers(2);

View File

@@ -33,7 +33,11 @@ function sendMessage() {
$.post( $.post(
"API/sendMessage.php", "API/sendMessage.php",
$("#sendMessageForm").serialize() $("#sendMessageForm").serialize()
); ).done(function(response) {
if (response == "frozen") {
alert("Je account is bevroren, dus je kan niet chat berichten versturen. Contacteer een admin als je denkt dat dit onjuist is.");
}
});
$("#newContent").val(""); $("#newContent").val("");
loadMessages(); loadMessages();

View File

@@ -3,7 +3,7 @@ var months = ["januari", "februari", "maart", "april", "mei", "juni", "juli", "a
function fancyText(text) { function fancyText(text) {
// Add links, images, gifs and (youtube) video's. // Add links, images, gifs and (youtube) video's.
var regex = /(https?:\/\/.[^ ]*)/ig; var regex = /(https?:\/\/.[^ <>"]*)/ig;
text = text.replace(regex, function(link) { text = text.replace(regex, function(link) {
// Add images // Add images
if (link.match(/(https?:\/\/.[^ ]*\.(?:png|jpg|jpeg|gif))/ig)) { if (link.match(/(https?:\/\/.[^ ]*\.(?:png|jpg|jpeg|gif))/ig)) {
@@ -94,3 +94,13 @@ function showGroups(groups, list) {
return false; return false;
} }
} }
$(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("");
}
});
});

View File

@@ -19,7 +19,7 @@ function requestPost(postID) {
var scrollBarWidth = window.innerWidth - document.body.offsetWidth; var scrollBarWidth = window.innerWidth - document.body.offsetWidth;
scrollbarMargin(scrollBarWidth, 'hidden'); scrollbarMargin(scrollBarWidth, 'hidden');
$('#modal-response').show(); $('#modal-response').show();
$('#modal-response').html(data); $('#modal-response').html(fancyText(data));
}); });
} }
@@ -78,7 +78,7 @@ function masonry(mode) {
* Initialise columns. * Initialise columns.
*/ */
var columns = new Array(columnCount); var columns = new Array(columnCount);
var $columns = new Array(columnCount);
for (i = 0; i < columnCount; i++) { for (i = 0; i < columnCount; i++) {
$column = $("<div class=\"column\">"); $column = $("<div class=\"column\">");
$column.width(100/columnCount + "%"); $column.width(100/columnCount + "%");
@@ -96,7 +96,7 @@ function masonry(mode) {
} }
$form.append($("<input class=\"newpost\" name=\"title\" placeholder=\"Titel\" type=\"text\">")); $form.append($("<input class=\"newpost\" name=\"title\" placeholder=\"Titel\" type=\"text\">"));
$form.append($("<textarea class=\"newpost\" name=\"content\" placeholder=\"Schrijf een berichtje...\">")); $form.append($("<textarea class=\"newpost\" name=\"content\" placeholder=\"Schrijf een berichtje...\" maxlength='1000'></textarea><span></span>"));
$form.append($("<input value=\"Plaats!\" type=\"submit\">")); $form.append($("<input value=\"Plaats!\" type=\"submit\">"));
columns[0][1].append($postInput); columns[0][1].append($postInput);
@@ -130,7 +130,7 @@ function masonry(mode) {
$.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>").html(this["title"])); $post.append($("<h2>").html(this["title"]));
$post.append($("<p>").html(this["content"])); $post.append($("<p>").html(fancyText(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"])); $post.append($("<p class=\"subscript\">").text("comments: " + this["comments"] + ", niet slechts: " + this["niet_slechts"]));

View File

@@ -4,8 +4,10 @@ function postComment(buttonValue) {
$.post( $.post(
"API/postComment.php", "API/postComment.php",
formData formData
).done(function(data) { ).done(function (response) {
console.log(data); 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(""); $("#newcomment").val("");
@@ -15,6 +17,6 @@ function postComment(buttonValue) {
"API/loadPost.php", "API/loadPost.php",
$("#newcommentform").serialize() $("#newcommentform").serialize()
).done(function (data) { ).done(function (data) {
$('#modal-response').html(data); $('#modal-response').html(fancyText(data));
}); });
} }

View File

@@ -13,10 +13,10 @@
</head> </head>
<body> <body>
<?php <?php
include("../queries/user.php"); include_once("../queries/user.php");
include("../queries/friendship.php"); include_once("../queries/friendship.php");
include("../queries/nicetime.php"); include_once("../queries/nicetime.php");
include("../queries/post.php"); include_once("../queries/post.php");
if(empty($_GET["username"])) { if(empty($_GET["username"])) {
$userID = $_SESSION["userID"]; $userID = $_SESSION["userID"];

View File

@@ -4,7 +4,7 @@
.admin-panel input[type="radio"], input[type="checkbox"] { .admin-panel input[type="radio"], input[type="checkbox"] {
vertical-align: middle; vertical-align: middle;
height: auto; height: 28px;
margin: 2px; margin: 2px;
} }
@@ -34,7 +34,6 @@
width: 100%; width: 100%;
} }
.usertable .table-checkbox {width: 20px}
.usertable .table-username {width: 150px} .usertable .table-username {width: 150px}
.usertable .table-status {width: 100px} .usertable .table-status {width: 100px}
.usertable .table-action {width: 200px} .usertable .table-action {width: 200px}

View File

@@ -49,7 +49,7 @@ header div {
} }
#open-notifications { #open-notifications {
padding: 5px 20px 5px 0px; padding: 20px 20px 20px 0px;
} }
@media only screen and (max-width: 1080px) { @media only screen and (max-width: 1080px) {

View File

@@ -92,6 +92,14 @@ p {
border-radius: 50%; border-radius: 50%;
} }
.online {
border: #4CAF50 solid 3px;
}
.offline {
border: #666666 solid 3px;
}
.group-picture { .group-picture {
border-radius: 5px; border-radius: 5px;
} }
@@ -299,8 +307,16 @@ div[data-title]:hover:after {
body { body {
font-size: 28px!important; font-size: 28px!important;
} }
button { button, input, select {
font-size: 28px; font-size: 28px;
height: 42px;
}
textarea {
font-size: 28px;
}
input[type="checkbox"], input[type="radio"] {
width: 28px;
height: 28px;
} }
} }

View File

@@ -45,7 +45,7 @@
.main-picture { .main-picture {
position: relative; position: relative;
border: #4CAF50 solid 5px; border-width: 5px;
display: inline-block; display: inline-block;
width: 150px; width: 150px;
@@ -120,4 +120,8 @@ div.posts .post form textarea.newpost {
.post-box { .post-box {
width: calc(100% - 65px); width: calc(100% - 65px);
} }
.modal {
left: 0!important;
width: 100%!important;
}
} }

View File

@@ -16,6 +16,10 @@ function selectLimitedFriends($userID, $limit) {
`profilepicture`, `profilepicture`,
'../img/avatar-standard.png' '../img/avatar-standard.png'
) AS profilepicture, ) AS profilepicture,
CASE `lastactivity` >= DATE_SUB(NOW(),INTERVAL 15 MINUTE)
WHEN TRUE THEN 'online'
WHEN FALSE THEN 'offline'
END AS `onlinestatus`,
`role` `role`
FROM FROM
`user` `user`
@@ -29,10 +33,7 @@ function selectLimitedFriends($userID, $limit) {
`user`.`role` != 'banned' AND `user`.`role` != 'banned' AND
`friendship`.`status` = 'confirmed' `friendship`.`status` = 'confirmed'
ORDER BY ORDER BY
CASE `user`.`lastactivity`
WHEN `friendship`.`user2ID` = `user`.`userID` THEN `friendship`.`chatLastVisted1`
WHEN `friendship`.`user1ID` = `user`.`userID` THEN `friendship`.`chatLastVisted2`
END
DESC DESC
LIMIT :limitCount LIMIT :limitCount
"); ");

View File

@@ -16,6 +16,8 @@ function getOldChatMessages($user2ID) {
`destination` = :user1 `destination` = :user1
ORDER BY ORDER BY
`creationdate` ASC `creationdate` ASC
LIMIT
100
"); ");
$stmt->bindParam(":user1", $user1ID); $stmt->bindParam(":user1", $user1ID);

View File

@@ -2,6 +2,19 @@
require_once ("connect.php"); 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) { function getUserID($username) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -363,5 +376,5 @@ function getRoleByID($userID) {
$stmt->bindParam(':userID', $userID); $stmt->bindParam(':userID', $userID);
$stmt->execute(); $stmt->execute();
return $stmt; return $stmt->fetch()["role"];
} }

View File

@@ -19,9 +19,12 @@
require_once ("../queries/checkInput.php"); require_once ("../queries/checkInput.php");
require_once ("../queries/connect.php"); require_once ("../queries/connect.php");
require_once ("../queries/user.php");
session_start(); session_start();
if(!isset($_SESSION["userID"])){ if(!isset($_SESSION["userID"])){
header("location:login.php"); header("location:login.php");
} else {
updateLastActivity();
} }

View File

@@ -25,8 +25,7 @@ $userinfo = getHeaderInfo();
</div> </div>
<?=$userinfo["fname"]?> <?=$userinfo["fname"]?>
</div> </div>
<img id="own-profile-picture" class="profile-picture" src="<?=$userinfo["profilepicture"]?>"/> <img id="own-profile-picture" class="profile-picture" src="<?=$userinfo["profilepicture"]?>"/><i id="open-notifications" class="fa fa-bars"></i>
<i id="open-notifications" class="fa fa-bars"></i>
</div> </div>
</header> </header>
<?php include("notification-center.php"); ?> <?php include("notification-center.php"); ?>

View File

@@ -7,9 +7,9 @@
include_once ("../queries/user.php"); include_once ("../queries/user.php");
// auth // 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 "<a href=\"admin.php\" data-title=\"Admin\"><i class=\"fa fa-lock\"></i></a>"; echo "<a href=\"admin.php\" data-title=\"Admin\"><i class=\"fa fa-lock\"></i></a>";
echo "<style>@import url('styles/adminbutton.css'); </style>"; echo "<style>@import url('styles/adminbutton.css'); </style>";
} }

View File

@@ -24,7 +24,7 @@ echo("
<div class="commentfield"> <div class="commentfield">
<form id="newcommentform" onsubmit="return false;"> <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..." maxlength="1000"></textarea><span></span> <br>
<button onclick="postComment('reaction')" name="button" value="reaction">Reageer!</button> <button onclick="postComment('reaction')" name="button" value="reaction">Reageer!</button>
<button onclick="postComment('nietslecht')" name="button" value="nietslecht" class="nietslecht"> <button onclick="postComment('nietslecht')" name="button" value="nietslecht" class="nietslecht">
<?php <?php

View File

@@ -1,10 +1,10 @@
<div class="content"> <div class="content">
<div class="user-box"> <div class="user-box">
<img class="profile-picture main-picture" src="<?= $user["profilepicture"] ?>"><br /> <img class="profile-picture main-picture <?= $user["onlinestatus"] ?>" src="<?= $user["profilepicture"] ?>"><br />
<div class="platform"> <div class="platform">
<div class="status-buttons-container"> <div class="status-buttons-container">
<button disabled class="gray"> <button disabled class="gray">
<?= $user["onlinestatus"] ?> <?= $user["onlinestatus"] ?>
</button> </button>
<button disabled class="gray"><?= $user["role"] ?></button> <button disabled class="gray"><?= $user["role"] ?></button>
</div> </div>

View File

@@ -99,7 +99,8 @@ $settings = getSettings();
rows="5" rows="5"
title="bio" title="bio"
id="bio" id="bio"
><?=$settings["bio"]?></textarea> maxlength="1000"
><?=$settings["bio"]?></textarea><span></span>
</li> </li>
<li> <li>
<label></label> <label></label>