17 Commits

Author SHA1 Message Date
Lars van Hijfte
490d39ba47 Merge branch 'joey-testing' into 'master'
Added fbModal button

See merge request !208
2017-02-03 21:20:25 +01:00
Lars van Hijfte
1193078e8f Merge branch 'kevin-prototype' into 'master'
Added comments to javascript code

See merge request !211
2017-02-03 21:19:50 +01:00
K. Nobel
bcb01e3296 Merge branch 'master' into kevin-prototype 2017-02-03 13:22:59 +01:00
K. Nobel
7cc6450e6a Added comments to javascript code. 2017-02-03 13:19:00 +01:00
Joey Lai
4643dfcddb Fixed comments and links 2017-02-03 12:42:30 +01:00
Lars van Hijfte
833bfd3292 Merge branch 'lars' into 'master'
Lars

See merge request !209
2017-02-03 12:42:15 +01:00
Lars van Hijfte
1ac6a7da87 Changed admin checkbox buttons 2017-02-03 12:40:33 +01:00
Lars van Hijfte
52ce787241 Merge remote-tracking branch 'origin/hendrik-testing' into lars 2017-02-03 12:34:19 +01:00
Lars van Hijfte
fb5f76c499 ? 2017-02-03 12:32:57 +01:00
Hendrik
f3aebddfea commentses 2017-02-03 12:21:37 +01:00
Lars van Hijfte
3aae884bb5 Added comments 2017-02-03 12:12:16 +01:00
Hendrik
b07d0712aa Merge branch 'marijn-groups' into hendrik-testing 2017-02-03 12:08:42 +01:00
Joey Lai
05d6bf8aa6 Added fbModal button 2017-02-03 11:47:16 +01:00
Marijn Jansen
1e60941a3f Merge branch 'marijn-favicon' into 'master'
Favicon

See merge request !207
2017-02-03 11:42:40 +01:00
Lars van Hijfte
1fd984cc02 Merge branch 'marijn-groups' into lars 2017-02-03 11:31:58 +01:00
Marijn Jansen
6d5de98c1d comments 2017-02-03 11:31:18 +01:00
Marijn Jansen
ac2ce3d07b Merge branch 'master' into marijn-groups 2017-02-03 11:13:20 +01:00
24 changed files with 567 additions and 40 deletions

View File

@@ -1,6 +1,8 @@
// Show the right friendship buttonsto the user.
function placeFriendButtons() { function placeFriendButtons() {
$.post("API/getFriendshipStatus.php", { usr: userID }) $.post("API/getFriendshipStatus.php", { usr: userID })
.done(function(data) { .done(function(data) {
//save the friendship status
var friendshipStatus = data; var friendshipStatus = data;
var $buttonContainer = $("div.friend-button-container"); var $buttonContainer = $("div.friend-button-container");
$("#start-profile-chat").hide(); $("#start-profile-chat").hide();
@@ -22,6 +24,7 @@ function placeFriendButtons() {
text1 = "Word vrienden"; text1 = "Word vrienden";
icon1 = "fa-user-plus"; icon1 = "fa-user-plus";
break; break;
// Users are friends.
case "1": case "1":
value1 = userID; value1 = userID;
class1 = "green"; class1 = "green";
@@ -32,12 +35,14 @@ function placeFriendButtons() {
text2 = "Ontvriend"; text2 = "Ontvriend";
icon2 = "fa-user-times"; icon2 = "fa-user-times";
break; break;
// This user sent request.
case "2": case "2":
value1 = "delete"; value1 = "delete";
class1 = "red"; class1 = "red";
text1 = "Trek verzoek in"; text1 = "Trek verzoek in";
icon1 = "fa-times"; icon1 = "fa-times";
break; break;
// Other user sent request.
case "3": case "3":
value1 = "accept"; value1 = "accept";
class1 = "green"; class1 = "green";
@@ -50,6 +55,7 @@ function placeFriendButtons() {
break; break;
} }
// Append buttons to the container.
$buttonContainer.append( $buttonContainer.append(
"<div><button class='"+ class1 +" fancy-button friend-button' value='"+ value1 +"'>" + "<div><button class='"+ class1 +" fancy-button friend-button' value='"+ value1 +"'>" +
"<span>"+ text1 +"</span>" + "<span>"+ text1 +"</span>" +
@@ -61,7 +67,7 @@ function placeFriendButtons() {
"<i class='fa fa-fw "+ icon2 +"'></i> " + "<i class='fa fa-fw "+ icon2 +"'></i> " +
"</button></div>"); "</button></div>");
// Gets triggered when a friend button is triggered.
$buttonContainer.find("button").click(function() { $buttonContainer.find("button").click(function() {
if (isNaN(this.value)) if (isNaN(this.value))
editFriendship(userID, this.value); editFriendship(userID, this.value);

View File

@@ -3,22 +3,28 @@ function placeGroupButtons() {
.done(function(data) { .done(function(data) {
var $buttonContainer = $("div.group-button-container"); var $buttonContainer = $("div.group-button-container");
// Append the right group button to the button container.
// When user is not a member
if(data == 'none') { if(data == 'none') {
$buttonContainer.append( $buttonContainer.append(
"<button class='green group-button fancy-button' value='request'>" + "<button class='green group-button fancy-button' value='request'>" +
"<span>Treed toe</span><i class='fa fa-plus'></i>" + "<span>Treed toe</span><i class='fa fa-plus'></i>" +
"</button>"); "</button>");
// when user sent a request to become a member.
} else if(data == 'request') { } else if(data == 'request') {
$buttonContainer.append( $buttonContainer.append(
"<button class='red group-button fancy-button' value='none'>" + "<button class='red group-button fancy-button' value='none'>" +
"<span>Trek verzoek in</span><i class='fa fa-times'></i>" + "<span>Trek verzoek in</span><i class='fa fa-times'></i>" +
"</button>"); "</button>");
// When user is a member of the group.
} else if (data == 'admin') { } else if (data == 'admin') {
$buttonContainer.append( $buttonContainer.append(
"<button class='group-button fancy-button' value='admin'>" + "<button class='group-button fancy-button' value='admin'>" +
"<span>Instellingen</span><i class='fa fa-cogs'></i>" + "<span>Instellingen</span><i class='fa fa-cogs'></i>" +
"</button>" "</button>"
); );
} else { } else {
$buttonContainer.append( $buttonContainer.append(
"<button class='red group-button fancy-button' value='none'>" + "<button class='red group-button fancy-button' value='none'>" +
@@ -26,6 +32,7 @@ function placeGroupButtons() {
"</button>"); "</button>");
} }
// Gets triggered when a group button is clicked.
$buttonContainer.children().click(function() { $buttonContainer.children().click(function() {
if (this.value == 'admin') { if (this.value == 'admin') {
window.location.href='groupAdmin.php?groupID=' + groupID; window.location.href='groupAdmin.php?groupID=' + groupID;

View File

@@ -7,7 +7,7 @@ var facebookModal = document.getElementById("fbModal");
// Get the button that opens the modal // Get the button that opens the modal
var registerBtn = document.getElementById("registerBtn"); var registerBtn = document.getElementById("registerBtn");
var btn = document.getElementById("myBtn"); var btn = document.getElementById("myBtn");
var fbBtn = document.getElementById("fbBtn");
// 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];
@@ -24,6 +24,9 @@ btn.onclick = function () {
registerBtn.onclick = function () { registerBtn.onclick = function () {
registerModal.style.display = "block"; registerModal.style.display = "block";
} }
fbBtn.onclick = function () {
facebookModal.style.display = "block";
}
/** /**
* WHen the user clicks on (X), close the modal * WHen the user clicks on (X), close the modal

View File

@@ -1,3 +1,4 @@
// Vertical margin between two posts.
margin = 20; margin = 20;
// scrolling modal taken from http://stackoverflow.com/questions/10476632/how-to-scroll-the-page-when-a-modal-dialog-is-longer-than-the-screen // scrolling modal taken from http://stackoverflow.com/questions/10476632/how-to-scroll-the-page-when-a-modal-dialog-is-longer-than-the-screen
@@ -11,9 +12,12 @@ function scrollbarMargin(width, overflow) {
}); });
} }
// Get post from the server.
function requestPost(postID) { function requestPost(postID) {
// Make the modal view visible.
$(".modal").show(); $(".modal").show();
// Send get request to the server to load the post.
$.get("API/loadPost.php", { postID : postID }).done(function(data) { $.get("API/loadPost.php", { postID : postID }).done(function(data) {
$('.modal-default').hide(); $('.modal-default').hide();
var scrollBarWidth = window.innerWidth - document.body.offsetWidth; var scrollBarWidth = window.innerWidth - document.body.offsetWidth;
@@ -23,11 +27,14 @@ function requestPost(postID) {
}); });
} }
// Create a new post.
function postPost() { function postPost() {
title = $("input.newpost[name='title']").val(); title = $("input.newpost[name='title']").val();
content = $("textarea.newpost[name='content']").val(); content = $("textarea.newpost[name='content']").val();
console.log(masonryMode);
// Masonrymode 2: when on group page and user is an admin.
if (masonryMode == 2) { if (masonryMode == 2) {
// Create the new group post.
$.post("API/postPost.php", { title: title, $.post("API/postPost.php", { title: title,
content : content, content : content,
group : groupID }) group : groupID })
@@ -46,6 +53,7 @@ function postPost() {
} }
}); });
} else { } else {
// Create the new user post.
$.post("API/postPost.php", { title: title, $.post("API/postPost.php", { title: title,
content : content }) content : content })
.done(function(data) { .done(function(data) {
@@ -76,6 +84,7 @@ var postAmount = 0;
var noposts = false; var noposts = false;
$(document).ready(function () { $(document).ready(function () {
// Initialise variables for masonry.
windowWidth = $(window).width(); windowWidth = $(window).width();
columnCount = Math.floor($(".posts").width() / 250); columnCount = Math.floor($(".posts").width() / 250);
columns = new Array(columnCount); columns = new Array(columnCount);
@@ -86,6 +95,7 @@ $(window).on("load", function() {
$(".modal-close").click(function (){closeModal()}); $(".modal-close").click(function (){closeModal()});
// http://stackoverflow.com/questions/9439725/javascript-how-to-detect-if-browser-window-is-scrolled-to-bottom // http://stackoverflow.com/questions/9439725/javascript-how-to-detect-if-browser-window-is-scrolled-to-bottom
// Infinite scroll.
window.onscroll = function(ev) { window.onscroll = function(ev) {
if($(window).scrollTop() + $(window).height() == $(document).height() ) { if($(window).scrollTop() + $(window).height() == $(document).height() ) {
loadMorePosts(userID, groupID, postAmount, postLimit); loadMorePosts(userID, groupID, postAmount, postLimit);
@@ -108,6 +118,7 @@ $(window).on("load", function() {
}); });
// Hide modal view from the screen.
function closeModal() { function closeModal() {
$(".modal").hide(); $(".modal").hide();
scrollbarMargin(0, 'auto'); scrollbarMargin(0, 'auto');
@@ -115,23 +126,30 @@ function closeModal() {
$('.modal-default').show(); $('.modal-default').show();
} }
// Will fire when user resizes the window.
$(window).resize(function() { $(window).resize(function() {
clearTimeout(window.resizedFinished); clearTimeout(window.resizedFinished);
window.resizeFinished = setTimeout(function() { window.resizeFinished = setTimeout(function() {
// Check if the width of the screen changed.
if ($(window).width() != windowWidth) { if ($(window).width() != windowWidth) {
// Save width.
windowWidth = $(window).width(); windowWidth = $(window).width();
// Check if there fit more or less columns in the new width.
if (columnCount != Math.floor($(".posts").width() / 250)) { if (columnCount != Math.floor($(".posts").width() / 250)) {
columnCount = Math.floor($(".posts").width() / 250); columnCount = Math.floor($(".posts").width() / 250);
// Respawn the masonry grid.
masonry(masonryMode); masonry(masonryMode);
} }
} }
}, 250); }, 250);
}); });
// Select the container for masonry.
var $container = $(".posts"); var $container = $(".posts");
// Spawn the masonry grid.
function masonry(mode) { function masonry(mode) {
// save the masonry mode.
masonryMode = mode; masonryMode = mode;
$container.children().remove(); $container.children().remove();
@@ -139,10 +157,7 @@ function masonry(mode) {
noposts = false; noposts = false;
postAmount = 0; postAmount = 0;
/* // Initialise columns.
* Initialise columns.
*/
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 + "%");
@@ -150,11 +165,13 @@ function masonry(mode) {
columns[i] = [0, $column]; columns[i] = [0, $column];
} }
// Place the form for new posts.
if(mode > 0) { if(mode > 0) {
$postInput = $("<div class=\"post platform\">"); $postInput = $("<div class=\"post platform\">");
$form = $("<form class=\"newpost\" action=\"API/postPost.php\" method=\"post\" onsubmit=\"postPost(); return false;\">"); $form = $("<form class=\"newpost\" action=\"API/postPost.php\" method=\"post\" onsubmit=\"postPost(); return false;\">");
$postInput.append($form); $postInput.append($form);
//Add extra input for group posts.
if(mode == 2) { if(mode == 2) {
$form.append($("<input class=\"newpost\" type=\"hidden\" name=\"group\" value=\"" + groupID + "\">")); $form.append($("<input class=\"newpost\" type=\"hidden\" name=\"group\" value=\"" + groupID + "\">"));
} }
@@ -167,17 +184,11 @@ function masonry(mode) {
columns[0][0] = $postInput.height() + margin; columns[0][0] = $postInput.height() + margin;
} }
/* // Get the posts from the server.
* Function will find the column with the shortest height.
*/
/*
* Get the posts from the server.
*/
loadMorePosts(userID, groupID, 0, postLimit); loadMorePosts(userID, groupID, 0, postLimit);
} }
// Find the column with the shortest hight.
function getShortestColumn(columns) { function getShortestColumn(columns) {
column = columns[0]; column = columns[0];
@@ -189,17 +200,20 @@ function getShortestColumn(columns) {
return column; return column;
} }
// Load certain range of posts.
function loadMorePosts(uID, gID, offset, limit) { function loadMorePosts(uID, gID, offset, limit) {
if (noposts) { if (noposts) {
return; return;
} }
// Get a list of posts from the server.
$.post("API/getPosts.php", { usr : uID, $.post("API/getPosts.php", { usr : uID,
grp : gID, grp : gID,
offset : offset, offset : offset,
limit : limit}) limit : limit})
.done(function(data) { .done(function(data) {
if (!data) { if (!data) {
// No posts were found, show noposts bar to user.
$('.noposts').show(); $('.noposts').show();
noposts = true; noposts = true;
return; return;
@@ -207,9 +221,7 @@ function loadMorePosts(uID, gID, offset, limit) {
posts = JSON.parse(data); posts = JSON.parse(data);
/* // Rearange the objects.
* Rearange the objects.
*/
$.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"]));

View File

@@ -1,9 +1,9 @@
.admin-panel input[type="radio"], input[type="checkbox"] { .admin-panel input[type="radio"], input[type="checkbox"] {
vertical-align: middle; vertical-align: middle;
height: 28px; height: 14px;
width: 28px; width: 14px;
margin: 2px; margin: 7px;
} }
.table-checkbox { .table-checkbox {

View File

@@ -41,7 +41,11 @@ function checkInputChoice($variable, $option){
} }
} }
/* Checks for only letters and spaces. */ /**
* Checks for only letters and spaces.
* @param $variable
* @throws lettersAndSpacesException
*/
function checkName($variable){ function checkName($variable){
if (empty($variable)) { if (empty($variable)) {
throw new lettersAndSpacesException("Verplicht!"); throw new lettersAndSpacesException("Verplicht!");
@@ -52,7 +56,11 @@ function checkName($variable){
} }
} }
/* Checks for bday */ /**
* Checks for bday
* @param $variable
* @throws bdayException
*/
function validateBday($variable){ function validateBday($variable){
if (empty($variable)) { if (empty($variable)) {
throw new bdayException("Verplicht!"); throw new bdayException("Verplicht!");
@@ -220,6 +228,9 @@ function test_input($data) {
return $data; return $data;
} }
/**
* Class lettersAndSpacesException
*/
class lettersAndSpacesException extends Exception class lettersAndSpacesException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -228,7 +239,9 @@ class lettersAndSpacesException extends Exception
} }
} }
/**
* Class bdayException
*/
class bdayException extends Exception class bdayException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -237,6 +250,9 @@ class bdayException extends Exception
} }
} }
/**
* Class usernameException
*/
class usernameException extends Exception class usernameException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -245,6 +261,9 @@ class usernameException extends Exception
} }
} }
/**
* Class passwordException
*/
class passwordException extends Exception class passwordException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -253,6 +272,9 @@ class passwordException extends Exception
} }
} }
/**
* Class confirmPasswordException
*/
class confirmPasswordException extends Exception class confirmPasswordException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -261,6 +283,9 @@ class confirmPasswordException extends Exception
} }
} }
/**
* Class fbConfirmPasswordException
*/
class fbConfirmPasswordException extends Exception class fbConfirmPasswordException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -269,6 +294,9 @@ class fbConfirmPasswordException extends Exception
} }
} }
/**
* Class emailException
*/
class emailException extends Exception class emailException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -277,6 +305,9 @@ class emailException extends Exception
} }
} }
/**
* Class confirmEmailException
*/
class confirmEmailException extends Exception class confirmEmailException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -285,6 +316,9 @@ class confirmEmailException extends Exception
} }
} }
/**
* Class captchaException
*/
class captchaException extends Exception class captchaException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)
@@ -293,6 +327,9 @@ class captchaException extends Exception
} }
} }
/**
* Class registerException
*/
class registerException extends Exception class registerException extends Exception
{ {
public function __construct($message = "", $code = 0, Exception $previous = null) public function __construct($message = "", $code = 0, Exception $previous = null)

View File

@@ -8,6 +8,7 @@ require_once "../queries/alerts.php";
*/ */
function createGroup() function createGroup()
{ {
// Creates the group.
$createGroup = prepareQuery(" $createGroup = prepareQuery("
INSERT INTO INSERT INTO
`group_page` (`name`, `description`) `group_page` (`name`, `description`)
@@ -17,6 +18,7 @@ function createGroup()
$createGroup->bindValue(':description', test_input($_POST["bio"])); $createGroup->bindValue(':description', test_input($_POST["bio"]));
$createGroup->execute(); $createGroup->execute();
// Gets the groupID just created.
$getGroupID = prepareQuery(" $getGroupID = prepareQuery("
SELECT SELECT
`groupID` `groupID`
@@ -28,6 +30,7 @@ function createGroup()
$getGroupID->execute(); $getGroupID->execute();
$groupID = $getGroupID->fetch()["groupID"]; $groupID = $getGroupID->fetch()["groupID"];
// Adds the user as an admin.
$makeUserAdmin = prepareQuery(" $makeUserAdmin = prepareQuery("
INSERT INTO INSERT INTO
`group_member` (userID, groupID, role) `group_member` (userID, groupID, role)

View File

@@ -1,5 +1,8 @@
<?php <?php
/**
* Sends a confirm email if you know the username.
* @param string $username
*/
function sendConfirmEmailUsername(string $username) { function sendConfirmEmailUsername(string $username) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -15,6 +18,10 @@ function sendConfirmEmailUsername(string $username) {
sendConfirmEmail($userID); sendConfirmEmail($userID);
} }
/**
* Sends a confirm email if you know the userID.
* @param int $userID
*/
function sendConfirmEmail(int $userID) { function sendConfirmEmail(int $userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -2,10 +2,21 @@
require_once ("connect.php"); require_once ("connect.php");
/**
* Selects all friends of a user.
* @param $userID
* @return string
*/
function selectFriends($userID) { function selectFriends($userID) {
return selectLimitedFriends($userID, 9999); return selectLimitedFriends($userID, 9999);
} }
/**
* Returns a limited amount of friends of a user.
* @param $userID
* @param $limit
* @return string
*/
function selectLimitedFriends($userID, $limit) { function selectLimitedFriends($userID, $limit) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -46,7 +57,11 @@ function selectLimitedFriends($userID, $limit) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Selects all friends of a user.
* @param $userID
* @return PDOStatement
*/
function selectAllFriends($userID) { function selectAllFriends($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -83,6 +98,10 @@ function selectAllFriends($userID) {
return $stmt; return $stmt;
} }
/**
* Returns all friend requests of the current user.
* @return string
*/
function selectAllFriendRequests() { function selectAllFriendRequests() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -119,6 +138,11 @@ function selectAllFriendRequests() {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Gets the friendship status from current user and userID.
* @param $userID
* @return int
*/
function getFriendshipStatus($userID) { function getFriendshipStatus($userID) {
# -2: Query failed. # -2: Query failed.
# -1: user1 and 2 are the same user # -1: user1 and 2 are the same user
@@ -162,6 +186,11 @@ function getFriendshipStatus($userID) {
return intval($stmt->fetch()["friend_state"]); return intval($stmt->fetch()["friend_state"]);
} }
/**
* Request friendship from current user to target user.
* @param $userID
* @return bool
*/
function requestFriendship($userID) { function requestFriendship($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO `friendship` (user1ID, user2ID) INSERT INTO `friendship` (user1ID, user2ID)
@@ -173,6 +202,11 @@ function requestFriendship($userID) {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Removes friendship between current and target user.
* @param $userID
* @return bool
*/
function removeFriendship($userID) { function removeFriendship($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
DELETE FROM `friendship` DELETE FROM `friendship`
@@ -189,6 +223,11 @@ function removeFriendship($userID) {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Sets the friendship between current and target user to accepted.
* @param $userID
* @return bool
*/
function acceptFriendship($userID) { function acceptFriendship($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE `friendship` UPDATE `friendship`
@@ -204,6 +243,11 @@ function acceptFriendship($userID) {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Sets the last time the user visited the chat with specified friend.
* @param $friend
* @return PDOStatement
*/
function setLastVisited($friend) { function setLastVisited($friend) {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE UPDATE
@@ -234,6 +278,13 @@ function setLastVisited($friend) {
return $stmt; return $stmt;
} }
/**
* Searches m friends from n filtered by search.
* @param $n
* @param $m
* @param $search
* @return string
*/
function searchSomeFriends($n, $m, $search) { function searchSomeFriends($n, $m, $search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -281,6 +332,11 @@ function searchSomeFriends($n, $m, $search) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Counts all friends of current user filtered by search.
* @param $search
* @return string
*/
function countSomeFriends($search) { function countSomeFriends($search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -52,7 +52,7 @@ function updateGroupSettings(int $groupID)
} }
/** /**
* Checks if an user is an admin for a page. * Checks if a user is an admin for a page.
* @param int $groupID * @param int $groupID
* @param int $userID * @param int $userID
* @return bool * @return bool

View File

@@ -1,9 +1,20 @@
<?php <?php
/**
* Returns all groups a user is member of.
* @param $userID
* @return string
*/
function selectAllGroupsFromUser($userID) { function selectAllGroupsFromUser($userID) {
return selectLimitedGroupsFromUser($userID, 9999); return selectLimitedGroupsFromUser($userID, 9999);
} }
/**
* Selects number of groups that a user is member of.
* @param $userID
* @param $limit
* @return string
*/
function selectLimitedGroupsFromUser($userID, $limit) { function selectLimitedGroupsFromUser($userID, $limit) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -27,6 +38,13 @@ function selectLimitedGroupsFromUser($userID, $limit) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Returns m groups offset by n filtered by search that the current user is part of.
* @param $n
* @param $m
* @param $search
* @return string
*/
function searchSomeOwnGroups($n, $m, $search) { function searchSomeOwnGroups($n, $m, $search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -55,6 +73,11 @@ function searchSomeOwnGroups($n, $m, $search) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Counts all groups filtered by search that the current user is member of.
* @param $search
* @return string
*/
function countSomeOwnGroups($search) { function countSomeOwnGroups($search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -78,6 +101,13 @@ function countSomeOwnGroups($search) {
return $stmt->fetchColumn(); return $stmt->fetchColumn();
} }
/**
* Adds a user by userID to a group by groupID with a specified role.
* @param $groupID
* @param $userID
* @param $role
* @return bool
*/
function addMember($groupID, $userID, $role) { function addMember($groupID, $userID, $role) {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -92,6 +122,13 @@ function addMember($groupID, $userID, $role) {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Changes te role of a user within a group to the specified one.
* @param $groupID
* @param $userID
* @param $role
* @return bool
*/
function changeMember($groupID, $userID, $role) { function changeMember($groupID, $userID, $role) {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE UPDATE
@@ -109,6 +146,12 @@ function changeMember($groupID, $userID, $role) {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Removes a user from a group.
* @param $groupID
* @param $userID
* @return bool
*/
function deleteMember($groupID, $userID) { function deleteMember($groupID, $userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
DELETE FROM DELETE FROM

View File

@@ -2,6 +2,10 @@
require_once("connect.php"); require_once("connect.php");
/**
* Selects some info from a group by name.
* @return bool|mixed
*/
function selectGroupByName($name) { function selectGroupByName($name) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -41,6 +45,11 @@ function selectGroupByName($name) {
return $row; return $row;
} }
/**
* Selects the current user's role within a group by the group's ID.
* @param int $groupID
* @return bool|string
*/
function selectGroupRole(int $groupID) { function selectGroupRole(int $groupID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -63,6 +72,11 @@ function selectGroupRole(int $groupID) {
return $stmt->fetch()["role"]; return $stmt->fetch()["role"];
} }
/**
* Returns the status of a group by it's ID.
* @param int $groupID
* @return bool
*/
function selectGroupStatus(int $groupID) { function selectGroupStatus(int $groupID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -80,6 +94,11 @@ function selectGroupStatus(int $groupID) {
return $stmt->fetch()["status"]; return $stmt->fetch()["status"];
} }
/**
* Returns some info of all group members.
* @param int $groupID
* @return bool|PDOStatement
*/
function selectGroupMembers(int $groupID) { function selectGroupMembers(int $groupID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -105,9 +124,14 @@ function selectGroupMembers(int $groupID) {
if (!$stmt->execute()) { if (!$stmt->execute()) {
return False; return False;
} }
return $stmt->fetchAll(); return $stmt;
} }
/**
* Returns group info by it's ID.
* @param $groupID
* @return PDOStatement
*/
function selectGroupById($groupID) { function selectGroupById($groupID) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -127,6 +151,11 @@ function selectGroupById($groupID) {
return $q; return $q;
} }
/**
* Returns some info of 20 groups offset by n.
* @param $n
* @return PDOStatement
*/
function select20GroupsFromN($n) { function select20GroupsFromN($n) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -149,6 +178,12 @@ function select20GroupsFromN($n) {
return $q; return $q;
} }
/**
* Returns info of 20 groups offset by n, filtered by status.
* @param $n
* @param $status
* @return PDOStatement
*/
function select20GroupsByStatusFromN($n, $status) { function select20GroupsByStatusFromN($n, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -174,6 +209,13 @@ function select20GroupsByStatusFromN($n, $status) {
return $q; return $q;
} }
/**
* Returns info of 20 groups offset by n, filtered by status, filtered by search.
* @param $n
* @param $keyword
* @param $status
* @return PDOStatement
*/
function search20GroupsFromNByStatus($n, $keyword, $status) { function search20GroupsFromNByStatus($n, $keyword, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -201,6 +243,14 @@ function search20GroupsFromNByStatus($n, $keyword, $status) {
return $q; return $q;
} }
/**
* Returns info of n groups offset by m, filtered by status and search.
* @param $n
* @param $m
* @param $search
* @param $status
* @return PDOStatement
*/
function searchSomeGroupsByStatus($n, $m, $search, $status) { function searchSomeGroupsByStatus($n, $m, $search, $status) {
// parentheses not needed in where clause, for clarity as // parentheses not needed in where clause, for clarity as
// role search should override status filter. // role search should override status filter.
@@ -233,6 +283,12 @@ function searchSomeGroupsByStatus($n, $m, $search, $status) {
return $q; return $q;
} }
/**
* Count all groups filtered by status and search.
* @param $search
* @param $status
* @return PDOStatement
*/
function countSomeGroupsByStatus($search, $status) { function countSomeGroupsByStatus($search, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -256,6 +312,12 @@ function countSomeGroupsByStatus($search, $status) {
return $q; return $q;
} }
/**
* Changes the status of a group with the given ID.
* @param $id
* @param $status
* @return PDOStatement
*/
function changeGroupStatusByID($id, $status) { function changeGroupStatusByID($id, $status) {
$q = prepareQuery(" $q = prepareQuery("
UPDATE UPDATE
@@ -272,6 +334,12 @@ function changeGroupStatusByID($id, $status) {
return $q; return $q;
} }
/**
* Changes the status of multiple groups to 1 status by an array of IDs.
* @param $ids
* @param $status
* @return PDOStatement
*/
function changeMultipleGroupStatusByID($ids, $status) { function changeMultipleGroupStatusByID($ids, $status) {
$q = prepareQuery(" $q = prepareQuery("
UPDATE UPDATE
@@ -289,6 +357,13 @@ function changeMultipleGroupStatusByID($ids, $status) {
return $q; return $q;
} }
/**
* Returns m groups offset by n, filtered by search.
* @param $n
* @param $m
* @param $search
* @return string
*/
function searchSomeGroups($n, $m, $search) { function searchSomeGroups($n, $m, $search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -312,6 +387,11 @@ function searchSomeGroups($n, $m, $search) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Counts all group filtered by search.
* @param $search
* @return PDOStatement
*/
function countSomeGroups($search) { function countSomeGroups($search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -1,6 +1,9 @@
<?php <?php
//Find matching password with the inputted username/emailadress. /**
* Find matching password with the inputted username/emailadress.
* @return mixed
*/
function getUser() { function getUser() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -1,9 +1,16 @@
<?php <?php
/**
* Return a relative dutch and readable text when given a datetime.
* @param $date
* @return string
*/
function nicetime($date) { function nicetime($date) {
if(empty($date)) { if(empty($date)) {
return "No date provided"; return "No date provided";
} }
// Create dutch arrays so it has dutch words.
$single_periods = array("seconde", "minuut", "uur", "dag", "week", "maand", "jaar", "decennium"); $single_periods = array("seconde", "minuut", "uur", "dag", "week", "maand", "jaar", "decennium");
$multiple_periods = array("seconden", "minuten", "uur", "dagen", "weken", "maanden", "jaar", "decennia"); $multiple_periods = array("seconden", "minuten", "uur", "dagen", "weken", "maanden", "jaar", "decennia");
$lengths = array("60", "60", "24", "7", "4.35", "12", "10", "0"); $lengths = array("60", "60", "24", "7", "4.35", "12", "10", "0");
@@ -15,7 +22,8 @@ function nicetime($date) {
return "Bad date"; return "Bad date";
} }
if($now > $unix_date) { // Check if it is in the future or not.
if($now >= $unix_date) {
$difference = $now - $unix_date; $difference = $now - $unix_date;
$tense = "geleden"; $tense = "geleden";
} else { } else {
@@ -23,6 +31,7 @@ function nicetime($date) {
$tense = "vanaf nu"; $tense = "vanaf nu";
} }
// Get the nice time.
for($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i++) { for($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i++) {
$difference /= $lengths[$i]; $difference /= $lengths[$i];
} }

View File

@@ -2,6 +2,12 @@
require_once("connect.php"); require_once("connect.php");
/**
* Select all posts on a user.
* @param $userID
* @param $groupID
* @return bool|PDOStatement
*/
function selectAllPosts($userID, $groupID) { function selectAllPosts($userID, $groupID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -46,6 +52,14 @@ function selectAllPosts($userID, $groupID) {
} }
/**
* Select $limit posts from $offset from a user or group.
* @param $userID
* @param $groupID
* @param $offset
* @param $limit
* @return bool|PDOStatement
*/
function selectSomePosts($userID, $groupID, $offset, $limit) { function selectSomePosts($userID, $groupID, $offset, $limit) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -94,9 +108,13 @@ function selectSomePosts($userID, $groupID, $offset, $limit) {
return False; return False;
} }
return $stmt; return $stmt;
} }
/**
* Select all the post information from an postID.
* @param $postID
* @return PDOStatement
*/
function selectPostById($postID) { function selectPostById($postID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -122,6 +140,11 @@ function selectPostById($postID) {
return $stmt; return $stmt;
} }
/**
* Get all the comments from a post.
* @param $postID
* @return PDOStatement
*/
function selectCommentsByPostId($postID) { function selectCommentsByPostId($postID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -148,6 +171,13 @@ function selectCommentsByPostId($postID) {
return $stmt; return $stmt;
} }
/**
* Insert a post to a group or user
* @param $userID
* @param $groupID
* @param $title
* @param $content
*/
function makePost($userID, $groupID, $title, $content) { function makePost($userID, $groupID, $title, $content) {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -172,6 +202,13 @@ function makePost($userID, $groupID, $title, $content) {
$stmt->execute(); $stmt->execute();
} }
/**
* Insert a comment by a post.
* @param $postID
* @param $userID
* @param $content
* @return int
*/
function makeComment($postID, $userID, $content) : int { function makeComment($postID, $userID, $content) : int {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -194,6 +231,12 @@ function makeComment($postID, $userID, $content) : int {
return $stmt->rowCount(); return $stmt->rowCount();
} }
/**
* If a post already is niet slechted.
* @param int $postID
* @param int $userID
* @return int
*/
function makeNietSlecht(int $postID, int $userID) : int { function makeNietSlecht(int $postID, int $userID) : int {
if (checkNietSlecht($postID, $userID)) { if (checkNietSlecht($postID, $userID)) {
return deleteNietSlecht($postID, $userID); return deleteNietSlecht($postID, $userID);
@@ -202,6 +245,12 @@ function makeNietSlecht(int $postID, int $userID) : int {
} }
} }
/**
* Toggle a niet slecht of a post.
* @param int $postID
* @param int $userID
* @return int
*/
function checkNietSlecht(int $postID, int $userID) { function checkNietSlecht(int $postID, int $userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -218,6 +267,12 @@ function checkNietSlecht(int $postID, int $userID) {
return $stmt->rowCount(); return $stmt->rowCount();
} }
/**
* Add a niet slecht to a post.
* @param int $postID
* @param int $userID
* @return int
*/
function addNietSlecht(int $postID, int $userID) { function addNietSlecht(int $postID, int $userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -230,6 +285,12 @@ function addNietSlecht(int $postID, int $userID) {
return $stmt->rowCount(); return $stmt->rowCount();
} }
/**
* Delete a niet slecht.
* @param int $postID
* @param int $userID
* @return int
*/
function deleteNietSlecht(int $postID, int $userID) { function deleteNietSlecht(int $postID, int $userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
DELETE FROM DELETE FROM
@@ -244,6 +305,11 @@ function deleteNietSlecht(int $postID, int $userID) {
return $stmt->rowCount(); return $stmt->rowCount();
} }
/**
* Delete a post
* @param int $postID
* @param int $userID
*/
function deletePost(int $postID, int $userID) { function deletePost(int $postID, int $userID) {
if (checkPermissionOnPost($postID, $userID)) { if (checkPermissionOnPost($postID, $userID)) {
$stmt = prepareQuery(" $stmt = prepareQuery("
@@ -257,6 +323,12 @@ function deletePost(int $postID, int $userID) {
} }
} }
/**
* Check if a user has premissions to delete a post.
* @param int $postID
* @param int $userID
* @return bool
*/
function checkPermissionOnPost(int $postID, int $userID) : bool { function checkPermissionOnPost(int $postID, int $userID) : bool {
$getGroupID = prepareQuery(" $getGroupID = prepareQuery("
SELECT SELECT
@@ -281,6 +353,12 @@ function checkPermissionOnPost(int $postID, int $userID) : bool {
} }
} }
/**
* Returns role of a user.
* @param int $userID
* @param int $groupID
* @return mixed role of a user.
*/
function getRoleInGroup(int $userID, int $groupID) { function getRoleInGroup(int $userID, int $groupID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -1,5 +1,10 @@
<?php <?php
/**
* Get the the last 100 chat messages.
* @param $user2ID
* @return string
*/
function getOldChatMessages($user2ID) { function getOldChatMessages($user2ID) {
require_once ("friendship.php"); require_once ("friendship.php");
$user1ID = $_SESSION["userID"]; $user1ID = $_SESSION["userID"];
@@ -36,6 +41,12 @@ function getOldChatMessages($user2ID) {
} }
} }
/**
* Send a chat message.
* @param $destination
* @param $content
* @return bool
*/
function sendMessage($destination, $content) { function sendMessage($destination, $content) {
require_once("friendship.php"); require_once("friendship.php");
if (getFriendshipStatus($destination) == 1) { if (getFriendshipStatus($destination) == 1) {
@@ -65,6 +76,12 @@ function sendMessage($destination, $content) {
} }
} }
/**
* Get all the chat messages after an messageID ($lastID).
* @param $lastID
* @param $destination
* @return string
*/
function getNewChatMessages($lastID, $destination) { function getNewChatMessages($lastID, $destination) {
require_once("friendship.php"); require_once("friendship.php");
if (getFriendshipStatus($destination) == 1) { if (getFriendshipStatus($destination) == 1) {
@@ -96,7 +113,10 @@ function getNewChatMessages($lastID, $destination) {
} }
} }
/**
* Get of every friend the first unread chat message.
* @return string
*/
function selectAllUnreadChat() { function selectAllUnreadChat() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT

View File

@@ -1,5 +1,9 @@
<?php <?php
/**
* Returns 1 if an username exists with the filled in username.
* @return int
*/
function getExistingUsername() { function getExistingUsername() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -16,6 +20,10 @@ function getExistingUsername() {
} }
/**
* Returns 1 if an username exists with facebooklogin
* @return int
*/
function getExistingFBUsername() { function getExistingFBUsername() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -32,6 +40,10 @@ function getExistingFBUsername() {
} }
/**
* Returns 1 if an email exists with the filled in email.
* @return int
*/
function getExistingEmail() { function getExistingEmail() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -48,6 +60,10 @@ function getExistingEmail() {
} }
/**
* Returns 1 if an email exists with facebook register
* @return int
*/
function getExistingFBEmail() { function getExistingFBEmail() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -65,6 +81,10 @@ function getExistingFBEmail() {
} }
/**
* Returns 1 if an email exists with the forgot email input
* @return int
*/
function getResetEmail() { function getResetEmail() {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -81,6 +101,9 @@ function getResetEmail() {
} }
/**
* Registers a new account in the database
*/
function registerAccount() { function registerAccount() {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -119,6 +142,9 @@ function registerAccount() {
$stmt->rowCount(); $stmt->rowCount();
} }
/**
* Registers a new account with facebook register
*/
function fbRegisterAccount() { function fbRegisterAccount() {
$stmt = prepareQuery(" $stmt = prepareQuery("
INSERT INTO INSERT INTO
@@ -158,6 +184,11 @@ function fbRegisterAccount() {
return $stmt->execute(); return $stmt->execute();
} }
/**
* Checks which dates need to be selected when there is an invalid registration.
* @param $date
* @param $value
*/
function submitselect($date, $value){ function submitselect($date, $value){
if ($date == $value){ if ($date == $value){
echo "selected"; echo "selected";

View File

@@ -1,6 +1,10 @@
<?php <?php
include_once "../queries/connect.php"; include_once "../queries/connect.php";
/**
* Sends a link to an email to change the password of an account
* @param string $email
*/
function sendPasswordRecovery(string $email) { function sendPasswordRecovery(string $email) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$stmt = prepareQuery(" $stmt = prepareQuery("
@@ -24,11 +28,16 @@ function sendPasswordRecovery(string $email) {
$hashedHash = password_hash($hash, PASSWORD_DEFAULT); $hashedHash = password_hash($hash, PASSWORD_DEFAULT);
setHashToDatabase($userID, $hash); setHashToDatabase($userID, $hash);
doSendPasswordRecovery($userID, $email, $username, $hashedHash); doSendPasswordRecovery($userID, $email, $username, $hashedHash);
} else {
// TODO: Be angry!
} }
} }
/**
* Sets the message in the email to reset a password of an account.
* @param int $userID
* @param string $email
* @param string $username
* @param string $hash
*/
function doSendPasswordRecovery(int $userID, string $email, string $username, string $hash) { function doSendPasswordRecovery(int $userID, string $email, string $username, string $hash) {
$resetLink = "https://myhyvesbookplus.nl/resetpassword.php?u=$userID&h=$hash"; $resetLink = "https://myhyvesbookplus.nl/resetpassword.php?u=$userID&h=$hash";
@@ -38,6 +47,11 @@ function doSendPasswordRecovery(int $userID, string $email, string $username, st
mail($email, $subject, $body, $header); mail($email, $subject, $body, $header);
} }
/**
* Sets the previous password invalid.
* @param int $userID
* @param string $hash
*/
function setHashToDatabase(int $userID, string $hash) { function setHashToDatabase(int $userID, string $hash) {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE UPDATE

View File

@@ -2,6 +2,10 @@
require_once ("connect.php"); require_once ("connect.php");
/**
* This sets the last activity of the session user to now.
* @return bool, true is it ran correctly
*/
function updateLastActivity() { function updateLastActivity() {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE UPDATE
@@ -15,6 +19,11 @@ function updateLastActivity() {
return $stmt->execute(); return $stmt->execute();
} }
/**
* This gets the userID from a username
* @param $username
* @return mixed
*/
function getUserID($username) { function getUserID($username) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -30,6 +39,11 @@ function getUserID($username) {
return $stmt->fetch()["userID"]; return $stmt->fetch()["userID"];
} }
/**
* This gets the username from a userID
* @param $userID
* @return mixed
*/
function getUsername($userID) { function getUsername($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -45,6 +59,12 @@ function getUsername($userID) {
return $stmt->fetch()["username"]; return $stmt->fetch()["username"];
} }
/**
* This selects the information about the other user and the connection between the two.
* @param $me
* @param $other
* @return bool|mixed
*/
function selectUser($me, $other) { function selectUser($me, $other) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -107,6 +127,11 @@ function selectUser($me, $other) {
return $stmt->fetch(); return $stmt->fetch();
} }
/**
* Select all the users from a group.
* @param $userID
* @return PDOStatement
*/
function selectAllUserGroups($userID) { function selectAllUserGroups($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -130,6 +155,11 @@ function selectAllUserGroups($userID) {
return $stmt; return $stmt;
} }
/**
* Selects 20 users from a given point in the table, ordered by role and name
* @param $n
* @return PDOStatement
*/
function select20UsersFromN($n) { function select20UsersFromN($n) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -155,6 +185,12 @@ function select20UsersFromN($n) {
return $q; return $q;
} }
/**
* Search 20 users from a given point in the table, ordered by role and name
* @param $n
* @param $keyword
* @return PDOStatement
*/
function search20UsersFromN($n, $keyword) { function search20UsersFromN($n, $keyword) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -183,6 +219,13 @@ function search20UsersFromN($n, $keyword) {
return $q; return $q;
} }
/**
* Search 20 users from a given point in the database where the status @param $status
* @param $n
* @param $keyword
* @param $status
* @return PDOStatement
*/
function search20UsersFromNByStatus($n, $keyword, $status) { function search20UsersFromNByStatus($n, $keyword, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -215,6 +258,14 @@ function search20UsersFromNByStatus($n, $keyword, $status) {
return $q; return $q;
} }
/**
* Search users from a given point in the database where the status @param $status
* @param $n
* @param $m
* @param $search
* @param $status
* @return PDOStatement
*/
function searchSomeUsersByStatus($n, $m, $search, $status) { function searchSomeUsersByStatus($n, $m, $search, $status) {
// parentheses not needed in where clause, for clarity as // parentheses not needed in where clause, for clarity as
// role search should override status filter. // role search should override status filter.
@@ -252,6 +303,12 @@ function searchSomeUsersByStatus($n, $m, $search, $status) {
return $q; return $q;
} }
/**
* Count the users with a name like $search and a $status
* @param $search
* @param $status
* @return PDOStatement
*/
function countSomeUsersByStatus($search, $status) { function countSomeUsersByStatus($search, $status) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -276,7 +333,12 @@ function countSomeUsersByStatus($search, $status) {
return $q; return $q;
} }
/**
* Change the user status
* @param $id
* @param $status
* @return PDOStatement
*/
function changeUserStatusByID($id, $status) { function changeUserStatusByID($id, $status) {
$q = prepareQuery(" $q = prepareQuery("
UPDATE UPDATE
@@ -293,6 +355,12 @@ function changeUserStatusByID($id, $status) {
return $q; return $q;
} }
/**
* Change multiple user statuses by an id array.
* @param $ids
* @param $status
* @return PDOStatement
*/
function changeMultipleUserStatusByID($ids, $status) { function changeMultipleUserStatusByID($ids, $status) {
$q = prepareQuery(" $q = prepareQuery("
UPDATE UPDATE
@@ -310,6 +378,13 @@ function changeMultipleUserStatusByID($ids, $status) {
return $q; return $q;
} }
/**
* Change multiple user statuses by an id array.
* This excludes that admins and owners statuses can be changed.
* @param $ids
* @param $status
* @return PDOStatement
*/
function changeMultipleUserStatusByIDAdmin($ids, $status) { function changeMultipleUserStatusByIDAdmin($ids, $status) {
$q = prepareQuery(" $q = prepareQuery("
UPDATE UPDATE
@@ -329,6 +404,11 @@ function changeMultipleUserStatusByIDAdmin($ids, $status) {
return $q; return $q;
} }
/**
* Select a random user that is nog your friend.
* @param $userID
* @return mixed
*/
function selectRandomNotFriendUser($userID) { function selectRandomNotFriendUser($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -357,6 +437,13 @@ function selectRandomNotFriendUser($userID) {
return $stmt->fetch(); return $stmt->fetch();
} }
/**
* Search users.
* @param $n
* @param $m
* @param $search
* @return string
*/
function searchSomeUsers($n, $m, $search) { function searchSomeUsers($n, $m, $search) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -397,6 +484,11 @@ function searchSomeUsers($n, $m, $search) {
return json_encode($stmt->fetchAll()); return json_encode($stmt->fetchAll());
} }
/**
* Count the users that you get searching for a user with a keyword.
* @param $search
* @return PDOStatement
*/
function countSomeUsers($search) { function countSomeUsers($search) {
$q = prepareQuery(" $q = prepareQuery("
SELECT SELECT
@@ -420,6 +512,11 @@ function countSomeUsers($search) {
return $q; return $q;
} }
/**
* Get the role of a user by userID.
* @param $userID
* @return mixed
*/
function getRoleByID($userID) { function getRoleByID($userID) {
$stmt = prepareQuery(" $stmt = prepareQuery("
SELECT SELECT
@@ -435,6 +532,11 @@ function getRoleByID($userID) {
return $stmt->fetch()["role"]; return $stmt->fetch()["role"];
} }
/**
* Edit the ban comment.
* @param $userID
* @param $comment
*/
function editBanCommentByID($userID, $comment) { function editBanCommentByID($userID, $comment) {
$stmt = prepareQuery(" $stmt = prepareQuery("
UPDATE UPDATE

View File

@@ -13,6 +13,7 @@ Pagina:
id="currentpage" id="currentpage"
form="admin-searchform" form="admin-searchform"
onchange="adminSearch();"> onchange="adminSearch();">
<!-- Construct the options. -->
<?php <?php
for ($i=1; $i <= ceil($countresults / $entries); $i++) { for ($i=1; $i <= ceil($countresults / $entries); $i++) {
if ($currentpage == $i) { if ($currentpage == $i) {

View File

@@ -1,3 +1,9 @@
<?php
if(isset($acces_token)) {
echo '<button id="fbBtn" class="button">Facebook registreer</button>';
}
?>
<!-- The Modal --> <!-- The Modal -->
<div id="fbModal" class="modal"> <div id="fbModal" class="modal">
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

View File

@@ -16,9 +16,18 @@
<h2>Leden (<?= $group['members'] ?>)</h2> <h2>Leden (<?= $group['members'] ?>)</h2>
<p> <p>
<?php <?php
foreach($members as $member) { $membercount = $members->rowCount();
$memberdif = $membercount - 7;
for ($i = 0; $i < min($membercount, 7); $i += 1) {
$member = $members->fetch();
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>"; 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>";
} }
if ($memberdif > 0) {
echo $memberdif === 1 ? "en nog 1 andere." : "...en nog $memberdif anderen.";
}
?> ?>
</p> </p>
</div> </div>

View File

@@ -1,7 +1,7 @@
<?php <?php
session_start(); session_start();
// Checks if there's an user already logged in // Checks if there's a user already logged in
if(isset($_SESSION["userID"])){ if(isset($_SESSION["userID"])){
echo "<script> echo "<script>
window.onload=checkLoggedIn(); window.onload=checkLoggedIn();