Compare commits
37 Commits
joey-testi
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
490d39ba47 | ||
|
|
1193078e8f | ||
|
|
bcb01e3296 | ||
|
|
7cc6450e6a | ||
|
|
833bfd3292 | ||
|
|
1ac6a7da87 | ||
|
|
52ce787241 | ||
|
|
fb5f76c499 | ||
|
|
f3aebddfea | ||
|
|
3aae884bb5 | ||
|
|
b07d0712aa | ||
|
|
1e60941a3f | ||
|
|
e3f4fa0b3c | ||
|
|
1fd984cc02 | ||
|
|
6d5de98c1d | ||
|
|
16f83d93ce | ||
|
|
306fd3090f | ||
|
|
771567660c | ||
|
|
4eae09dfc7 | ||
|
|
53e1d7fef3 | ||
|
|
c29be662bc | ||
|
|
000d1f4072 | ||
|
|
d260bf04bc | ||
|
|
a0ef234b79 | ||
|
|
da061de226 | ||
|
|
f18088d8d2 | ||
|
|
ac2ce3d07b | ||
|
|
c69b5d8ed3 | ||
|
|
5de3a84683 | ||
|
|
b8d6136a9d | ||
|
|
1862369013 | ||
|
|
5e8fa6791f | ||
|
|
28e9269b52 | ||
|
|
bb352c7a7a | ||
|
|
0f202088a1 | ||
|
|
fde736b8c5 | ||
|
|
afb45d6709 |
BIN
website/public/apple-touch-icon-114x114-precomposed.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
website/public/apple-touch-icon-120x120-precomposed.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
website/public/apple-touch-icon-144x144-precomposed.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
website/public/apple-touch-icon-152x152-precomposed.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
website/public/apple-touch-icon-180x180-precomposed.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
website/public/apple-touch-icon-57x57-precomposed.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
website/public/apple-touch-icon-60x60-precomposed.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
website/public/apple-touch-icon-72x72-precomposed.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
website/public/apple-touch-icon-76x76-precomposed.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
website/public/apple-touch-icon-precomposed.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
12
website/public/browserconfig.xml
Executable file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square70x70logo src="tiny.png"/>
|
||||
<square150x150logo src="square.jpg"/>
|
||||
<wide310x150logo src="wide.jpg"/>
|
||||
<square310x310logo src="large.jpg"/>
|
||||
<TileColor>#000000</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
BIN
website/public/favicon-1.png
Normal file
|
After Width: | Height: | Size: 492 B |
BIN
website/public/favicon-2.png
Normal file
|
After Width: | Height: | Size: 782 B |
BIN
website/public/favicon-3.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
website/public/favicon-4.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
website/public/favicon.ico
Normal file
|
After Width: | Height: | Size: 97 KiB |
@@ -13,7 +13,7 @@
|
||||
|
||||
include_once("../queries/group_page.php");
|
||||
|
||||
if(!$group = selectGroupByName($_GET["groupname"])) {
|
||||
if(isset($_SESSION["userID"]) and !$group = selectGroupByName($_GET["groupname"])) {
|
||||
header("HTTP/1.0 404 Not Found");
|
||||
header("Location: error/404.php");
|
||||
die();
|
||||
|
||||
@@ -21,6 +21,8 @@ require_once "../queries/alerts.php";
|
||||
include("../views/main.php");
|
||||
$alertClass;
|
||||
$alertMessage;
|
||||
|
||||
// Select which button has been pressed.
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
try {
|
||||
switch ($_POST["form"]) {
|
||||
@@ -44,6 +46,15 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
}
|
||||
upgradeUser($_POST["groupID"], $_POST["userID"], "admin");
|
||||
break;
|
||||
case "deadmin":
|
||||
if (!array_key_exists("userID", $_POST)) {
|
||||
throw new AngryAlert("Geen gebruiker geselecteerd.");
|
||||
}
|
||||
upgradeUser($_POST["groupID"], $_POST["userID"], "member");
|
||||
break;
|
||||
case "delete":
|
||||
deleteGroup();
|
||||
break;
|
||||
}
|
||||
} catch (AlertMessage $w) {
|
||||
$alertClass = $w->getClass();
|
||||
|
||||
@@ -24,12 +24,14 @@ $(window).on("load", function () {
|
||||
});
|
||||
});
|
||||
|
||||
// Toggles all checkboxes based on one.
|
||||
function checkAll() {
|
||||
$('.checkbox-list').each(function () {
|
||||
$(this).prop('checked', $('#checkall').prop('checked'));
|
||||
});
|
||||
}
|
||||
|
||||
// Simple function that checks if checkall should stay checked.
|
||||
function checkCheckAll() {
|
||||
var checked = true;
|
||||
|
||||
@@ -43,6 +45,7 @@ function checkCheckAll() {
|
||||
$('#checkall').prop('checked', checked);
|
||||
}
|
||||
|
||||
// Toggle of filter options.
|
||||
function changeFilter() {
|
||||
if ($('#pagetype').find(":selected").val() == "group") {
|
||||
document.getElementById('admin-filter').style.display = 'none';
|
||||
@@ -59,11 +62,13 @@ function changeFilter() {
|
||||
}
|
||||
}
|
||||
|
||||
// Sets the search page to one, relevant when changing filter or search.
|
||||
function searchFromOne() {
|
||||
$('#currentpage').prop('value', 1);
|
||||
adminSearch();
|
||||
}
|
||||
|
||||
// AJAX live search.
|
||||
function adminSearch() {
|
||||
$.post(
|
||||
"API/adminSearchUsers.php",
|
||||
@@ -74,6 +79,7 @@ function adminSearch() {
|
||||
})
|
||||
}
|
||||
|
||||
// AJAX live update.
|
||||
function adminUpdate(form) {
|
||||
$.post(
|
||||
"API/adminChangeUser.php",
|
||||
@@ -83,6 +89,7 @@ function adminUpdate(form) {
|
||||
})
|
||||
}
|
||||
|
||||
// AJAX pagenumber functionality.
|
||||
function updatePageN() {
|
||||
$.post(
|
||||
"API/adminPageNumber.php",
|
||||
@@ -92,11 +99,13 @@ function updatePageN() {
|
||||
})
|
||||
}
|
||||
|
||||
// Intended for the edit button to show a form.
|
||||
function toggleBancomment(button) {
|
||||
$(button).siblings("div").toggle();
|
||||
$(button).toggle();
|
||||
}
|
||||
|
||||
// AJAX value editing.
|
||||
function editComment(form) {
|
||||
$.post(
|
||||
"API/adminChangeUser.php",
|
||||
|
||||
@@ -51,6 +51,7 @@ function sendMessage() {
|
||||
});
|
||||
|
||||
$("#newContent").val("");
|
||||
$("#newContent").focus();
|
||||
}
|
||||
|
||||
// Add messages to the chat.
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Show the right friendship buttonsto the user.
|
||||
function placeFriendButtons() {
|
||||
$.post("API/getFriendshipStatus.php", { usr: userID })
|
||||
.done(function(data) {
|
||||
//save the friendship status
|
||||
var friendshipStatus = data;
|
||||
var $buttonContainer = $("div.friend-button-container");
|
||||
$("#start-profile-chat").hide();
|
||||
@@ -22,6 +24,7 @@ function placeFriendButtons() {
|
||||
text1 = "Word vrienden";
|
||||
icon1 = "fa-user-plus";
|
||||
break;
|
||||
// Users are friends.
|
||||
case "1":
|
||||
value1 = userID;
|
||||
class1 = "green";
|
||||
@@ -32,12 +35,14 @@ function placeFriendButtons() {
|
||||
text2 = "Ontvriend";
|
||||
icon2 = "fa-user-times";
|
||||
break;
|
||||
// This user sent request.
|
||||
case "2":
|
||||
value1 = "delete";
|
||||
class1 = "red";
|
||||
text1 = "Trek verzoek in";
|
||||
icon1 = "fa-times";
|
||||
break;
|
||||
// Other user sent request.
|
||||
case "3":
|
||||
value1 = "accept";
|
||||
class1 = "green";
|
||||
@@ -50,6 +55,7 @@ function placeFriendButtons() {
|
||||
break;
|
||||
}
|
||||
|
||||
// Append buttons to the container.
|
||||
$buttonContainer.append(
|
||||
"<div><button class='"+ class1 +" fancy-button friend-button' value='"+ value1 +"'>" +
|
||||
"<span>"+ text1 +"</span>" +
|
||||
@@ -61,7 +67,7 @@ function placeFriendButtons() {
|
||||
"<i class='fa fa-fw "+ icon2 +"'></i> " +
|
||||
"</button></div>");
|
||||
|
||||
|
||||
// Gets triggered when a friend button is triggered.
|
||||
$buttonContainer.find("button").click(function() {
|
||||
if (isNaN(this.value))
|
||||
editFriendship(userID, this.value);
|
||||
|
||||
@@ -3,22 +3,28 @@ function placeGroupButtons() {
|
||||
.done(function(data) {
|
||||
var $buttonContainer = $("div.group-button-container");
|
||||
|
||||
// Append the right group button to the button container.
|
||||
// When user is not a member
|
||||
if(data == 'none') {
|
||||
$buttonContainer.append(
|
||||
"<button class='green group-button fancy-button' value='request'>" +
|
||||
"<span>Treed toe</span><i class='fa fa-plus'></i>" +
|
||||
"</button>");
|
||||
|
||||
// when user sent a request to become a member.
|
||||
} else if(data == 'request') {
|
||||
$buttonContainer.append(
|
||||
"<button class='red group-button fancy-button' value='none'>" +
|
||||
"<span>Trek verzoek in</span><i class='fa fa-times'></i>" +
|
||||
"</button>");
|
||||
// When user is a member of the group.
|
||||
} else if (data == 'admin') {
|
||||
$buttonContainer.append(
|
||||
"<button class='group-button fancy-button' value='admin'>" +
|
||||
"<span>Instellingen</span><i class='fa fa-cogs'></i>" +
|
||||
"</button>"
|
||||
);
|
||||
|
||||
} else {
|
||||
$buttonContainer.append(
|
||||
"<button class='red group-button fancy-button' value='none'>" +
|
||||
@@ -26,6 +32,7 @@ function placeGroupButtons() {
|
||||
"</button>");
|
||||
}
|
||||
|
||||
// Gets triggered when a group button is clicked.
|
||||
$buttonContainer.children().click(function() {
|
||||
if (this.value == 'admin') {
|
||||
window.location.href='groupAdmin.php?groupID=' + groupID;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// Vertical margin between two posts.
|
||||
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
|
||||
@@ -11,9 +12,12 @@ function scrollbarMargin(width, overflow) {
|
||||
});
|
||||
}
|
||||
|
||||
// Get post from the server.
|
||||
function requestPost(postID) {
|
||||
// Make the modal view visible.
|
||||
$(".modal").show();
|
||||
|
||||
// Send get request to the server to load the post.
|
||||
$.get("API/loadPost.php", { postID : postID }).done(function(data) {
|
||||
$('.modal-default').hide();
|
||||
var scrollBarWidth = window.innerWidth - document.body.offsetWidth;
|
||||
@@ -23,11 +27,14 @@ function requestPost(postID) {
|
||||
});
|
||||
}
|
||||
|
||||
// Create a new post.
|
||||
function postPost() {
|
||||
title = $("input.newpost[name='title']").val();
|
||||
content = $("textarea.newpost[name='content']").val();
|
||||
console.log(masonryMode);
|
||||
|
||||
// Masonrymode 2: when on group page and user is an admin.
|
||||
if (masonryMode == 2) {
|
||||
// Create the new group post.
|
||||
$.post("API/postPost.php", { title: title,
|
||||
content : content,
|
||||
group : groupID })
|
||||
@@ -46,6 +53,7 @@ function postPost() {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Create the new user post.
|
||||
$.post("API/postPost.php", { title: title,
|
||||
content : content })
|
||||
.done(function(data) {
|
||||
@@ -76,6 +84,7 @@ var postAmount = 0;
|
||||
var noposts = false;
|
||||
|
||||
$(document).ready(function () {
|
||||
// Initialise variables for masonry.
|
||||
windowWidth = $(window).width();
|
||||
columnCount = Math.floor($(".posts").width() / 250);
|
||||
columns = new Array(columnCount);
|
||||
@@ -86,13 +95,30 @@ $(window).on("load", function() {
|
||||
$(".modal-close").click(function (){closeModal()});
|
||||
|
||||
// http://stackoverflow.com/questions/9439725/javascript-how-to-detect-if-browser-window-is-scrolled-to-bottom
|
||||
// Infinite scroll.
|
||||
window.onscroll = function(ev) {
|
||||
if($(window).scrollTop() + $(window).height() == $(document).height() ) {
|
||||
loadMorePosts(userID, groupID, postAmount, postLimit);
|
||||
}
|
||||
};
|
||||
|
||||
$(document).keyup(function(e) {
|
||||
if (e.keyCode == 27) {
|
||||
closeModal();
|
||||
}
|
||||
});
|
||||
|
||||
$('.modal').click(function() {
|
||||
closeModal();
|
||||
});
|
||||
|
||||
$('.modal-content').click(function(event){
|
||||
event.stopPropagation();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Hide modal view from the screen.
|
||||
function closeModal() {
|
||||
$(".modal").hide();
|
||||
scrollbarMargin(0, 'auto');
|
||||
@@ -100,23 +126,30 @@ function closeModal() {
|
||||
$('.modal-default').show();
|
||||
}
|
||||
|
||||
// Will fire when user resizes the window.
|
||||
$(window).resize(function() {
|
||||
clearTimeout(window.resizedFinished);
|
||||
window.resizeFinished = setTimeout(function() {
|
||||
// Check if the width of the screen changed.
|
||||
if ($(window).width() != windowWidth) {
|
||||
// Save width.
|
||||
windowWidth = $(window).width();
|
||||
|
||||
// Check if there fit more or less columns in the new width.
|
||||
if (columnCount != Math.floor($(".posts").width() / 250)) {
|
||||
columnCount = Math.floor($(".posts").width() / 250);
|
||||
// Respawn the masonry grid.
|
||||
masonry(masonryMode);
|
||||
}
|
||||
}
|
||||
}, 250);
|
||||
});
|
||||
|
||||
// Select the container for masonry.
|
||||
var $container = $(".posts");
|
||||
|
||||
// Spawn the masonry grid.
|
||||
function masonry(mode) {
|
||||
// save the masonry mode.
|
||||
masonryMode = mode;
|
||||
$container.children().remove();
|
||||
|
||||
@@ -124,10 +157,7 @@ function masonry(mode) {
|
||||
noposts = false;
|
||||
postAmount = 0;
|
||||
|
||||
/*
|
||||
* Initialise columns.
|
||||
*/
|
||||
|
||||
// Initialise columns.
|
||||
for (i = 0; i < columnCount; i++) {
|
||||
$column = $("<div class=\"column\">");
|
||||
$column.width(100/columnCount + "%");
|
||||
@@ -135,11 +165,13 @@ function masonry(mode) {
|
||||
columns[i] = [0, $column];
|
||||
}
|
||||
|
||||
// Place the form for new posts.
|
||||
if(mode > 0) {
|
||||
$postInput = $("<div class=\"post platform\">");
|
||||
$form = $("<form class=\"newpost\" action=\"API/postPost.php\" method=\"post\" onsubmit=\"postPost(); return false;\">");
|
||||
$postInput.append($form);
|
||||
|
||||
//Add extra input for group posts.
|
||||
if(mode == 2) {
|
||||
$form.append($("<input class=\"newpost\" type=\"hidden\" name=\"group\" value=\"" + groupID + "\">"));
|
||||
}
|
||||
@@ -152,17 +184,11 @@ function masonry(mode) {
|
||||
columns[0][0] = $postInput.height() + margin;
|
||||
}
|
||||
|
||||
/*
|
||||
* Function will find the column with the shortest height.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Get the posts from the server.
|
||||
*/
|
||||
// Get the posts from the server.
|
||||
loadMorePosts(userID, groupID, 0, postLimit);
|
||||
}
|
||||
|
||||
// Find the column with the shortest hight.
|
||||
function getShortestColumn(columns) {
|
||||
column = columns[0];
|
||||
|
||||
@@ -174,17 +200,20 @@ function getShortestColumn(columns) {
|
||||
return column;
|
||||
}
|
||||
|
||||
// Load certain range of posts.
|
||||
function loadMorePosts(uID, gID, offset, limit) {
|
||||
if (noposts) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get a list of posts from the server.
|
||||
$.post("API/getPosts.php", { usr : uID,
|
||||
grp : gID,
|
||||
offset : offset,
|
||||
limit : limit})
|
||||
.done(function(data) {
|
||||
if (!data) {
|
||||
// No posts were found, show noposts bar to user.
|
||||
$('.noposts').show();
|
||||
noposts = true;
|
||||
return;
|
||||
@@ -192,9 +221,7 @@ function loadMorePosts(uID, gID, offset, limit) {
|
||||
|
||||
posts = JSON.parse(data);
|
||||
|
||||
/*
|
||||
* Rearange the objects.
|
||||
*/
|
||||
// Rearange the objects.
|
||||
$.each(posts, function() {
|
||||
$post = $("<div class=\"post platform\" onclick=\"requestPost(\'"+this['postID']+"\')\">");
|
||||
$post.append($("<h2>").html(this["title"]));
|
||||
|
||||
BIN
website/public/large.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
website/public/launcher-icon-0-75x.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
website/public/launcher-icon-1-5x.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
website/public/launcher-icon-1x.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
website/public/launcher-icon-2x.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
website/public/launcher-icon-3x.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
website/public/launcher-icon-4x.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
44
website/public/manifest.json
Executable file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "Web Application Manifest Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "launcher-icon-0-75x.png",
|
||||
"sizes": "36x36",
|
||||
"type": "image/png",
|
||||
"density": "0.75"
|
||||
},
|
||||
{
|
||||
"src": "launcher-icon-1x.png",
|
||||
"sizes": "48x48",
|
||||
"type": "image/png",
|
||||
"density": "1.0"
|
||||
},
|
||||
{
|
||||
"src": "launcher-icon-1-5x.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "launcher-icon-2x.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "launcher-icon-3x.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "launcher-icon-4x.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
],
|
||||
"start_url": "index.html",
|
||||
"display": "standalone",
|
||||
"orientation": "portrait"
|
||||
}
|
||||
@@ -25,7 +25,8 @@ if(empty($_GET["username"])) {
|
||||
$userID = getUserID($_GET["username"]);
|
||||
}
|
||||
|
||||
if(!$user = selectUser($_SESSION["userID"], $userID)) {
|
||||
|
||||
if (isset($_SESSION["userID"]) and !$user = selectUser($_SESSION["userID"], $userID)) {
|
||||
header("HTTP/1.0 404 Not Found");
|
||||
header("Location: error/404.php");
|
||||
die();
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
<?php
|
||||
$alertClass;
|
||||
$alertMessage;
|
||||
|
||||
// Select which button has been pressed.
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
try {
|
||||
switch ($_POST["form"]) {
|
||||
@@ -29,7 +31,6 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
case "picture":
|
||||
updateAvatar();
|
||||
break;
|
||||
|
||||
}
|
||||
} catch (AlertMessage $w) {
|
||||
$alertClass = $w->getClass();
|
||||
|
||||
BIN
website/public/square.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
@@ -1,11 +1,13 @@
|
||||
.admin-panel {
|
||||
min-width: 800px;
|
||||
}
|
||||
|
||||
.admin-panel input[type="radio"], input[type="checkbox"] {
|
||||
vertical-align: middle;
|
||||
height: 28px;
|
||||
margin: 2px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
margin: 7px;
|
||||
}
|
||||
|
||||
.table-checkbox {
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
.admin-searchform {
|
||||
@@ -34,13 +36,15 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.usertable .table-username {width: 150px}
|
||||
.usertable .table-status {width: 100px}
|
||||
.usertable .table-action {width: 200px}
|
||||
.table-checkbox {width: 20px}
|
||||
.table-username {width: 150px}
|
||||
.table-status {width: 100px}
|
||||
.table-action {width: 200px}
|
||||
|
||||
.usertable th, td {
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding: 3px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.usertable th, tr {
|
||||
@@ -51,6 +55,10 @@
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.bancomment {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.bancommentedit {
|
||||
display: none;
|
||||
}
|
||||
|
||||
BIN
website/public/tiny.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
website/public/wide.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
@@ -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){
|
||||
if (empty($variable)) {
|
||||
throw new lettersAndSpacesException("Verplicht!");
|
||||
@@ -52,7 +56,11 @@ function checkName($variable){
|
||||
}
|
||||
}
|
||||
|
||||
/* Checks for bday */
|
||||
/**
|
||||
* Checks for bday
|
||||
* @param $variable
|
||||
* @throws bdayException
|
||||
*/
|
||||
function validateBday($variable){
|
||||
if (empty($variable)) {
|
||||
throw new bdayException("Verplicht!");
|
||||
@@ -216,9 +224,13 @@ function test_input($data) {
|
||||
$data = trim($data);
|
||||
$data = stripslashes($data);
|
||||
$data = htmlspecialchars($data);
|
||||
$data = trim($data);
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class lettersAndSpacesException
|
||||
*/
|
||||
class lettersAndSpacesException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -227,7 +239,9 @@ class lettersAndSpacesException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Class bdayException
|
||||
*/
|
||||
class bdayException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -236,6 +250,9 @@ class bdayException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class usernameException
|
||||
*/
|
||||
class usernameException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -244,6 +261,9 @@ class usernameException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class passwordException
|
||||
*/
|
||||
class passwordException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -252,6 +272,9 @@ class passwordException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class confirmPasswordException
|
||||
*/
|
||||
class confirmPasswordException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -260,6 +283,9 @@ class confirmPasswordException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class fbConfirmPasswordException
|
||||
*/
|
||||
class fbConfirmPasswordException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -268,6 +294,9 @@ class fbConfirmPasswordException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class emailException
|
||||
*/
|
||||
class emailException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -276,6 +305,9 @@ class emailException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class confirmEmailException
|
||||
*/
|
||||
class confirmEmailException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -284,6 +316,9 @@ class confirmEmailException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class captchaException
|
||||
*/
|
||||
class captchaException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
@@ -292,6 +327,9 @@ class captchaException extends Exception
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class registerException
|
||||
*/
|
||||
class registerException extends Exception
|
||||
{
|
||||
public function __construct($message = "", $code = 0, Exception $previous = null)
|
||||
|
||||
@@ -10,6 +10,11 @@ else {
|
||||
or die('Error connecting to mysql server');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helperfunction to create a database query.
|
||||
* @param string $query
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function prepareQuery(string $query) : PDOStatement {
|
||||
return $GLOBALS["db"]->prepare($query);
|
||||
}
|
||||
@@ -2,8 +2,13 @@
|
||||
require_once "../queries/checkInput.php";
|
||||
require_once "../queries/picture.php";
|
||||
require_once "../queries/alerts.php";
|
||||
|
||||
/**
|
||||
* Creates a group.
|
||||
*/
|
||||
function createGroup()
|
||||
{
|
||||
// Creates the group.
|
||||
$createGroup = prepareQuery("
|
||||
INSERT INTO
|
||||
`group_page` (`name`, `description`)
|
||||
@@ -13,6 +18,7 @@ function createGroup()
|
||||
$createGroup->bindValue(':description', test_input($_POST["bio"]));
|
||||
$createGroup->execute();
|
||||
|
||||
// Gets the groupID just created.
|
||||
$getGroupID = prepareQuery("
|
||||
SELECT
|
||||
`groupID`
|
||||
@@ -24,6 +30,7 @@ function createGroup()
|
||||
$getGroupID->execute();
|
||||
$groupID = $getGroupID->fetch()["groupID"];
|
||||
|
||||
// Adds the user as an admin.
|
||||
$makeUserAdmin = prepareQuery("
|
||||
INSERT INTO
|
||||
`group_member` (userID, groupID, role)
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Sends a confirm email if you know the username.
|
||||
* @param string $username
|
||||
*/
|
||||
function sendConfirmEmailUsername(string $username) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -15,6 +18,10 @@ function sendConfirmEmailUsername(string $username) {
|
||||
sendConfirmEmail($userID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a confirm email if you know the userID.
|
||||
* @param int $userID
|
||||
*/
|
||||
function sendConfirmEmail(int $userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -2,10 +2,21 @@
|
||||
|
||||
require_once ("connect.php");
|
||||
|
||||
/**
|
||||
* Selects all friends of a user.
|
||||
* @param $userID
|
||||
* @return string
|
||||
*/
|
||||
function selectFriends($userID) {
|
||||
return selectLimitedFriends($userID, 9999);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a limited amount of friends of a user.
|
||||
* @param $userID
|
||||
* @param $limit
|
||||
* @return string
|
||||
*/
|
||||
function selectLimitedFriends($userID, $limit) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -46,7 +57,11 @@ function selectLimitedFriends($userID, $limit) {
|
||||
return json_encode($stmt->fetchAll());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Selects all friends of a user.
|
||||
* @param $userID
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function selectAllFriends($userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -83,6 +98,10 @@ function selectAllFriends($userID) {
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all friend requests of the current user.
|
||||
* @return string
|
||||
*/
|
||||
function selectAllFriendRequests() {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -119,6 +138,11 @@ function selectAllFriendRequests() {
|
||||
return json_encode($stmt->fetchAll());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the friendship status from current user and userID.
|
||||
* @param $userID
|
||||
* @return int
|
||||
*/
|
||||
function getFriendshipStatus($userID) {
|
||||
# -2: Query failed.
|
||||
# -1: user1 and 2 are the same user
|
||||
@@ -162,6 +186,11 @@ function getFriendshipStatus($userID) {
|
||||
return intval($stmt->fetch()["friend_state"]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Request friendship from current user to target user.
|
||||
* @param $userID
|
||||
* @return bool
|
||||
*/
|
||||
function requestFriendship($userID) {
|
||||
$stmt = prepareQuery("
|
||||
INSERT INTO `friendship` (user1ID, user2ID)
|
||||
@@ -173,6 +202,11 @@ function requestFriendship($userID) {
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes friendship between current and target user.
|
||||
* @param $userID
|
||||
* @return bool
|
||||
*/
|
||||
function removeFriendship($userID) {
|
||||
$stmt = prepareQuery("
|
||||
DELETE FROM `friendship`
|
||||
@@ -189,6 +223,11 @@ function removeFriendship($userID) {
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the friendship between current and target user to accepted.
|
||||
* @param $userID
|
||||
* @return bool
|
||||
*/
|
||||
function acceptFriendship($userID) {
|
||||
$stmt = prepareQuery("
|
||||
UPDATE `friendship`
|
||||
@@ -204,6 +243,11 @@ function acceptFriendship($userID) {
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the last time the user visited the chat with specified friend.
|
||||
* @param $friend
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function setLastVisited($friend) {
|
||||
$stmt = prepareQuery("
|
||||
UPDATE
|
||||
@@ -234,6 +278,13 @@ function setLastVisited($friend) {
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Searches m friends from n filtered by search.
|
||||
* @param $n
|
||||
* @param $m
|
||||
* @param $search
|
||||
* @return string
|
||||
*/
|
||||
function searchSomeFriends($n, $m, $search) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -281,6 +332,11 @@ function searchSomeFriends($n, $m, $search) {
|
||||
return json_encode($stmt->fetchAll());
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts all friends of current user filtered by search.
|
||||
* @param $search
|
||||
* @return string
|
||||
*/
|
||||
function countSomeFriends($search) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* Gets the current settings for a group.
|
||||
* @param int $groupID
|
||||
* @return mixed
|
||||
*/
|
||||
function getGroupSettings(int $groupID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -15,6 +20,12 @@ function getGroupSettings(int $groupID) {
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the settings for a group.
|
||||
* @param int $groupID
|
||||
* @throws AngryAlert
|
||||
* @throws HappyAlert
|
||||
*/
|
||||
function updateGroupSettings(int $groupID)
|
||||
{
|
||||
if (!checkGroupAdmin($groupID, $_SESSION["userID"])) {
|
||||
@@ -40,6 +51,12 @@ function updateGroupSettings(int $groupID)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a user is an admin for a page.
|
||||
* @param int $groupID
|
||||
* @param int $userID
|
||||
* @return bool
|
||||
*/
|
||||
function checkGroupAdmin(int $groupID, int $userID) : bool {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -60,7 +77,40 @@ function checkGroupAdmin(int $groupID, int $userID) : bool {
|
||||
return ($role == "admin");
|
||||
}
|
||||
|
||||
function getAllGroupMembers(int $groupID) {
|
||||
/**
|
||||
* Returns all normal members for a group.
|
||||
* @param int $groupID
|
||||
* @return array|bool
|
||||
*/
|
||||
function getAllGroupUsers(int $groupID) {
|
||||
return getAllGroupMembers($groupID, 'member');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all admin for a group.
|
||||
* @param int $groupID
|
||||
* @return array|bool
|
||||
*/
|
||||
function getAllGroupAdmins(int $groupID) {
|
||||
return getAllGroupMembers($groupID, 'admin');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all Moderators for a group.
|
||||
* @param int $groupID
|
||||
* @return array|bool
|
||||
*/
|
||||
function getAllGroupMods(int $groupID) {
|
||||
return getAllGroupMembers($groupID, 'mod');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all members for a group specified by a string.
|
||||
* @param int $groupID
|
||||
* @param string $role
|
||||
* @return array|bool
|
||||
*/
|
||||
function getAllGroupMembers(int $groupID, string $role) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
`username`,
|
||||
@@ -74,16 +124,25 @@ function getAllGroupMembers(int $groupID) {
|
||||
ON
|
||||
`group_member`.`userID` = `user`.`userID`
|
||||
WHERE
|
||||
`groupID` = :groupID AND `group_member`.`role` = 'member'
|
||||
`groupID` = :groupID AND `group_member`.`role` = :role
|
||||
");
|
||||
|
||||
$stmt->bindParam(':groupID', $groupID);
|
||||
$stmt->bindParam(":role", $role);
|
||||
if (!$stmt->execute()) {
|
||||
return False;
|
||||
}
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Upgrades or downgrades a groupmember to a different role.
|
||||
* @param int $groupID
|
||||
* @param int $userID
|
||||
* @param string $role
|
||||
* @throws AngryAlert
|
||||
* @throws HappyAlert
|
||||
*/
|
||||
function upgradeUser(int $groupID, int $userID, string $role) {
|
||||
if (!checkGroupAdmin($groupID, $_SESSION["userID"])) {
|
||||
throw new AngryAlert("Geen toestemming om te wijzigen");
|
||||
@@ -107,3 +166,27 @@ function upgradeUser(int $groupID, int $userID, string $role) {
|
||||
throw new AngryAlert("Er is iets mis gegaan");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a group form the database.
|
||||
* @throws AngryAlert
|
||||
* @throws HappyAlert
|
||||
*/
|
||||
function deleteGroup() {
|
||||
if (!checkGroupAdmin($_POST["groupID"], $_SESSION["userID"])) {
|
||||
throw new AngryAlert("Geen toestemming om de groep te verwijderen!");
|
||||
}
|
||||
$stmt = prepareQuery("
|
||||
DELETE FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`groupID` = :groupID
|
||||
");
|
||||
$stmt->bindValue(":groupID", $_POST["groupID"]);
|
||||
$stmt->execute();
|
||||
if ($stmt->rowCount()) {
|
||||
throw new HappyAlert("Group verwijderd!");
|
||||
} else {
|
||||
throw new AngryAlert("Er is iets mis gegaan");
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,20 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Returns all groups a user is member of.
|
||||
* @param $userID
|
||||
* @return string
|
||||
*/
|
||||
function selectAllGroupsFromUser($userID) {
|
||||
return selectLimitedGroupsFromUser($userID, 9999);
|
||||
}
|
||||
|
||||
/**
|
||||
* Selects number of groups that a user is member of.
|
||||
* @param $userID
|
||||
* @param $limit
|
||||
* @return string
|
||||
*/
|
||||
function selectLimitedGroupsFromUser($userID, $limit) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -27,6 +38,13 @@ function selectLimitedGroupsFromUser($userID, $limit) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -55,6 +73,11 @@ function searchSomeOwnGroups($n, $m, $search) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -78,6 +101,13 @@ function countSomeOwnGroups($search) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
INSERT INTO
|
||||
@@ -92,6 +122,13 @@ function addMember($groupID, $userID, $role) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
UPDATE
|
||||
@@ -109,6 +146,12 @@ function changeMember($groupID, $userID, $role) {
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a user from a group.
|
||||
* @param $groupID
|
||||
* @param $userID
|
||||
* @return bool
|
||||
*/
|
||||
function deleteMember($groupID, $userID) {
|
||||
$stmt = prepareQuery("
|
||||
DELETE FROM
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
require_once("connect.php");
|
||||
|
||||
/**
|
||||
* Selects some info from a group by name.
|
||||
* @return bool|mixed
|
||||
*/
|
||||
function selectGroupByName($name) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -41,6 +45,11 @@ function selectGroupByName($name) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -63,6 +72,11 @@ function selectGroupRole(int $groupID) {
|
||||
return $stmt->fetch()["role"];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the status of a group by it's ID.
|
||||
* @param int $groupID
|
||||
* @return bool
|
||||
*/
|
||||
function selectGroupStatus(int $groupID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -80,6 +94,11 @@ function selectGroupStatus(int $groupID) {
|
||||
return $stmt->fetch()["status"];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns some info of all group members.
|
||||
* @param int $groupID
|
||||
* @return bool|PDOStatement
|
||||
*/
|
||||
function selectGroupMembers(int $groupID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -105,9 +124,14 @@ function selectGroupMembers(int $groupID) {
|
||||
if (!$stmt->execute()) {
|
||||
return False;
|
||||
}
|
||||
return $stmt->fetchAll();
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns group info by it's ID.
|
||||
* @param $groupID
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function selectGroupById($groupID) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -127,6 +151,11 @@ function selectGroupById($groupID) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns some info of 20 groups offset by n.
|
||||
* @param $n
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function select20GroupsFromN($n) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -149,6 +178,12 @@ function select20GroupsFromN($n) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns info of 20 groups offset by n, filtered by status.
|
||||
* @param $n
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function select20GroupsByStatusFromN($n, $status) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -174,6 +209,13 @@ function select20GroupsByStatusFromN($n, $status) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -201,6 +243,14 @@ function search20GroupsFromNByStatus($n, $keyword, $status) {
|
||||
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) {
|
||||
// parentheses not needed in where clause, for clarity as
|
||||
// role search should override status filter.
|
||||
@@ -233,6 +283,12 @@ function searchSomeGroupsByStatus($n, $m, $search, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Count all groups filtered by status and search.
|
||||
* @param $search
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function countSomeGroupsByStatus($search, $status) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -256,6 +312,12 @@ function countSomeGroupsByStatus($search, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes the status of a group with the given ID.
|
||||
* @param $id
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function changeGroupStatusByID($id, $status) {
|
||||
$q = prepareQuery("
|
||||
UPDATE
|
||||
@@ -272,6 +334,12 @@ function changeGroupStatusByID($id, $status) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
UPDATE
|
||||
@@ -289,6 +357,13 @@ function changeMultipleGroupStatusByID($ids, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns m groups offset by n, filtered by search.
|
||||
* @param $n
|
||||
* @param $m
|
||||
* @param $search
|
||||
* @return string
|
||||
*/
|
||||
function searchSomeGroups($n, $m, $search) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -312,6 +387,11 @@ function searchSomeGroups($n, $m, $search) {
|
||||
return json_encode($stmt->fetchAll());
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts all group filtered by search.
|
||||
* @param $search
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function countSomeGroups($search) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?php
|
||||
|
||||
//Find matching password with the inputted username/emailadress.
|
||||
/**
|
||||
* Find matching password with the inputted username/emailadress.
|
||||
* @return mixed
|
||||
*/
|
||||
function getUser() {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Return a relative dutch and readable text when given a datetime.
|
||||
* @param $date
|
||||
* @return string
|
||||
*/
|
||||
function nicetime($date) {
|
||||
if(empty($date)) {
|
||||
return "No date provided";
|
||||
}
|
||||
|
||||
// Create dutch arrays so it has dutch words.
|
||||
$single_periods = array("seconde", "minuut", "uur", "dag", "week", "maand", "jaar", "decennium");
|
||||
$multiple_periods = array("seconden", "minuten", "uur", "dagen", "weken", "maanden", "jaar", "decennia");
|
||||
$lengths = array("60", "60", "24", "7", "4.35", "12", "10", "0");
|
||||
@@ -15,7 +22,8 @@ function nicetime($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;
|
||||
$tense = "geleden";
|
||||
} else {
|
||||
@@ -23,6 +31,7 @@ function nicetime($date) {
|
||||
$tense = "vanaf nu";
|
||||
}
|
||||
|
||||
// Get the nice time.
|
||||
for($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i++) {
|
||||
$difference /= $lengths[$i];
|
||||
}
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
require_once("connect.php");
|
||||
|
||||
/**
|
||||
* Select all posts on a user.
|
||||
* @param $userID
|
||||
* @param $groupID
|
||||
* @return bool|PDOStatement
|
||||
*/
|
||||
function selectAllPosts($userID, $groupID) {
|
||||
$stmt = prepareQuery("
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -94,9 +108,13 @@ function selectSomePosts($userID, $groupID, $offset, $limit) {
|
||||
return False;
|
||||
}
|
||||
return $stmt;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Select all the post information from an postID.
|
||||
* @param $postID
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function selectPostById($postID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -122,6 +140,11 @@ function selectPostById($postID) {
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the comments from a post.
|
||||
* @param $postID
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function selectCommentsByPostId($postID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -148,6 +171,13 @@ function selectCommentsByPostId($postID) {
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert a post to a group or user
|
||||
* @param $userID
|
||||
* @param $groupID
|
||||
* @param $title
|
||||
* @param $content
|
||||
*/
|
||||
function makePost($userID, $groupID, $title, $content) {
|
||||
$stmt = prepareQuery("
|
||||
INSERT INTO
|
||||
@@ -172,6 +202,13 @@ function makePost($userID, $groupID, $title, $content) {
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert a comment by a post.
|
||||
* @param $postID
|
||||
* @param $userID
|
||||
* @param $content
|
||||
* @return int
|
||||
*/
|
||||
function makeComment($postID, $userID, $content) : int {
|
||||
$stmt = prepareQuery("
|
||||
INSERT INTO
|
||||
@@ -194,6 +231,12 @@ function makeComment($postID, $userID, $content) : int {
|
||||
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 {
|
||||
if (checkNietSlecht($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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -218,6 +267,12 @@ function checkNietSlecht(int $postID, int $userID) {
|
||||
return $stmt->rowCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a niet slecht to a post.
|
||||
* @param int $postID
|
||||
* @param int $userID
|
||||
* @return int
|
||||
*/
|
||||
function addNietSlecht(int $postID, int $userID) {
|
||||
$stmt = prepareQuery("
|
||||
INSERT INTO
|
||||
@@ -230,6 +285,12 @@ function addNietSlecht(int $postID, int $userID) {
|
||||
return $stmt->rowCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a niet slecht.
|
||||
* @param int $postID
|
||||
* @param int $userID
|
||||
* @return int
|
||||
*/
|
||||
function deleteNietSlecht(int $postID, int $userID) {
|
||||
$stmt = prepareQuery("
|
||||
DELETE FROM
|
||||
@@ -244,6 +305,11 @@ function deleteNietSlecht(int $postID, int $userID) {
|
||||
return $stmt->rowCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a post
|
||||
* @param int $postID
|
||||
* @param int $userID
|
||||
*/
|
||||
function deletePost(int $postID, int $userID) {
|
||||
if (checkPermissionOnPost($postID, $userID)) {
|
||||
$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 {
|
||||
$getGroupID = prepareQuery("
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Get the the last 100 chat messages.
|
||||
* @param $user2ID
|
||||
* @return string
|
||||
*/
|
||||
function getOldChatMessages($user2ID) {
|
||||
require_once ("friendship.php");
|
||||
$user1ID = $_SESSION["userID"];
|
||||
@@ -36,6 +41,12 @@ function getOldChatMessages($user2ID) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a chat message.
|
||||
* @param $destination
|
||||
* @param $content
|
||||
* @return bool
|
||||
*/
|
||||
function sendMessage($destination, $content) {
|
||||
require_once("friendship.php");
|
||||
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) {
|
||||
require_once("friendship.php");
|
||||
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() {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
|
||||
@@ -16,7 +16,10 @@ function getSettings() {
|
||||
`location`,
|
||||
`birthdate`,
|
||||
`bio`,
|
||||
IFNULL(
|
||||
`profilepicture`,
|
||||
'../img/avatar-standard.png'
|
||||
) AS profilepicture,
|
||||
`showBday`,
|
||||
`showEmail`,
|
||||
`showProfile`
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
require_once ("connect.php");
|
||||
|
||||
/**
|
||||
* This sets the last activity of the session user to now.
|
||||
* @return bool, true is it ran correctly
|
||||
*/
|
||||
function updateLastActivity() {
|
||||
$stmt = prepareQuery("
|
||||
UPDATE
|
||||
@@ -15,6 +19,11 @@ function updateLastActivity() {
|
||||
return $stmt->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* This gets the userID from a username
|
||||
* @param $username
|
||||
* @return mixed
|
||||
*/
|
||||
function getUserID($username) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -30,6 +39,11 @@ function getUserID($username) {
|
||||
return $stmt->fetch()["userID"];
|
||||
}
|
||||
|
||||
/**
|
||||
* This gets the username from a userID
|
||||
* @param $userID
|
||||
* @return mixed
|
||||
*/
|
||||
function getUsername($userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -45,6 +59,12 @@ function getUsername($userID) {
|
||||
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) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -107,6 +127,11 @@ function selectUser($me, $other) {
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* Select all the users from a group.
|
||||
* @param $userID
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function selectAllUserGroups($userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -130,6 +155,11 @@ function selectAllUserGroups($userID) {
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Selects 20 users from a given point in the table, ordered by role and name
|
||||
* @param $n
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function select20UsersFromN($n) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -155,6 +185,12 @@ function select20UsersFromN($n) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -183,6 +219,13 @@ function search20UsersFromN($n, $keyword) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -215,6 +258,14 @@ function search20UsersFromNByStatus($n, $keyword, $status) {
|
||||
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) {
|
||||
// parentheses not needed in where clause, for clarity as
|
||||
// role search should override status filter.
|
||||
@@ -252,6 +303,12 @@ function searchSomeUsersByStatus($n, $m, $search, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Count the users with a name like $search and a $status
|
||||
* @param $search
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function countSomeUsersByStatus($search, $status) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -276,7 +333,12 @@ function countSomeUsersByStatus($search, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Change the user status
|
||||
* @param $id
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function changeUserStatusByID($id, $status) {
|
||||
$q = prepareQuery("
|
||||
UPDATE
|
||||
@@ -293,6 +355,12 @@ function changeUserStatusByID($id, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change multiple user statuses by an id array.
|
||||
* @param $ids
|
||||
* @param $status
|
||||
* @return PDOStatement
|
||||
*/
|
||||
function changeMultipleUserStatusByID($ids, $status) {
|
||||
$q = prepareQuery("
|
||||
UPDATE
|
||||
@@ -310,6 +378,13 @@ function changeMultipleUserStatusByID($ids, $status) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
UPDATE
|
||||
@@ -329,6 +404,11 @@ function changeMultipleUserStatusByIDAdmin($ids, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Select a random user that is nog your friend.
|
||||
* @param $userID
|
||||
* @return mixed
|
||||
*/
|
||||
function selectRandomNotFriendUser($userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -357,6 +437,13 @@ function selectRandomNotFriendUser($userID) {
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* Search users.
|
||||
* @param $n
|
||||
* @param $m
|
||||
* @param $search
|
||||
* @return string
|
||||
*/
|
||||
function searchSomeUsers($n, $m, $search) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -397,6 +484,11 @@ function searchSomeUsers($n, $m, $search) {
|
||||
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) {
|
||||
$q = prepareQuery("
|
||||
SELECT
|
||||
@@ -420,6 +512,11 @@ function countSomeUsers($search) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the role of a user by userID.
|
||||
* @param $userID
|
||||
* @return mixed
|
||||
*/
|
||||
function getRoleByID($userID) {
|
||||
$stmt = prepareQuery("
|
||||
SELECT
|
||||
@@ -435,6 +532,11 @@ function getRoleByID($userID) {
|
||||
return $stmt->fetch()["role"];
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit the ban comment.
|
||||
* @param $userID
|
||||
* @param $comment
|
||||
*/
|
||||
function editBanCommentByID($userID, $comment) {
|
||||
$stmt = prepareQuery("
|
||||
UPDATE
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<th class="table-username">Groepsnaam</th>
|
||||
<th class="table-status">Status</th>
|
||||
<th class="table-comment">Beschrijving</th>
|
||||
<th class="table-action">Actie</th>
|
||||
<th class="table-action">Zichtbaarheid</th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -13,6 +13,7 @@ Pagina:
|
||||
id="currentpage"
|
||||
form="admin-searchform"
|
||||
onchange="adminSearch();">
|
||||
<!-- Construct the options. -->
|
||||
<?php
|
||||
for ($i=1; $i <= ceil($countresults / $entries); $i++) {
|
||||
if ($currentpage == $i) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<tr>
|
||||
<th><input class="table-checkbox" type="checkbox" id="checkall" name="checkall" onchange="checkAll()"></th>
|
||||
<th class="table-checkbox"><input class="table-checkbox" type="checkbox" id="checkall" name="checkall" onchange="checkAll()"></th>
|
||||
<th class="table-username">Gebruikersnaam</th>
|
||||
<th class="table-status">Status</th>
|
||||
<th class="table-comment">Aantekening</th>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
<!-- function test_input taken from http://www.w3schools.com/php/php_form_validation.asp -->
|
||||
<!-- Form value holding. -->
|
||||
<?php
|
||||
$search = "";
|
||||
$status = array("user", "frozen", "banned", "unconfirmed", "admin", "owner");
|
||||
@@ -127,11 +126,11 @@ if (isset($_GET["groupstatus"])) {
|
||||
if ($userinfo == 'owner') {
|
||||
echo "<button type=\"submit\"
|
||||
name=\"batchactions\"
|
||||
id=\"admin\"
|
||||
id=\"batch-admin\"
|
||||
value=\"admin\">Maak Admin</button>
|
||||
<button type=\"submit\"
|
||||
name=\"batchactions\"
|
||||
id=\"owner\"
|
||||
id=\"batch-owner\"
|
||||
value=\"owner\">Maak Eigenaar</button>";
|
||||
}
|
||||
?>
|
||||
@@ -140,9 +139,9 @@ if (isset($_GET["groupstatus"])) {
|
||||
onsubmit="adminUpdate(this); return false;">
|
||||
|
||||
<input type="hidden" name="groupbatchactions" id="groupbatchinput">
|
||||
<button type="submit" name="batchactions" id="hide" value="hidden">Verborgen</button>
|
||||
<button type="submit" name="batchactions" id="ban" value="public">Publiek</button>
|
||||
<button type="submit" name="batchactions" id="members" value="membersonly">Alleen Leden</button>
|
||||
<button type="submit" name="batchactions" id="batch-hide" value="hidden">Verborgen</button>
|
||||
<button type="submit" name="batchactions" id="batch-public" value="public">Publiek</button>
|
||||
<button type="submit" name="batchactions" id="batch-members" value="membersonly">Alleen Leden</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -152,5 +151,3 @@ if (isset($_GET["groupstatus"])) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -16,9 +16,18 @@
|
||||
<h2>Leden (<?= $group['members'] ?>)</h2>
|
||||
<p>
|
||||
<?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>";
|
||||
}
|
||||
|
||||
if ($memberdif > 0) {
|
||||
echo $memberdif === 1 ? "en nog 1 andere." : "...en nog $memberdif anderen.";
|
||||
}
|
||||
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,7 @@ $groupinfo = getGroupSettings($_GET["groupID"]);
|
||||
<li>
|
||||
<label></label>
|
||||
<a href="group.php?groupname=<?=$groupinfo["name"]?>">
|
||||
<button class="fa fa-chevron-left"> Terug naar de groep</button>
|
||||
<button><i class="fa fa-chevron-left"></i> Terug naar de groep</button>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -51,8 +51,7 @@ $groupinfo = getGroupSettings($_GET["groupID"]);
|
||||
<button type="submit"
|
||||
name="form"
|
||||
value="group"
|
||||
class="fa fa-save"
|
||||
> Opslaan</button>
|
||||
><i class="fa fa-save"></i> Opslaan</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
@@ -80,8 +79,7 @@ $groupinfo = getGroupSettings($_GET["groupID"]);
|
||||
<button type="submit"
|
||||
name="form"
|
||||
value="picture"
|
||||
class="fa fa-picture-o"
|
||||
> Verander profielfoto</button>
|
||||
><i class="fa fa-picture-o"></i> Verander profielfoto</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
@@ -94,7 +92,7 @@ $groupinfo = getGroupSettings($_GET["groupID"]);
|
||||
<select name="userID">
|
||||
<option disabled selected>Geen gebruiker geselecteerd:</option>
|
||||
<?php
|
||||
$groupMembers = getAllGroupMembers($_GET["groupID"]);
|
||||
$groupMembers = getAllGroupUsers($_GET["groupID"]);
|
||||
foreach ($groupMembers as $groupMember) {?>
|
||||
<option value="<?=$groupMember["userID"]?>">
|
||||
<?=$groupMember["fullname"]?> (<?=$groupMember["username"]?>)
|
||||
@@ -114,11 +112,55 @@ $groupinfo = getGroupSettings($_GET["groupID"]);
|
||||
</il>
|
||||
</ul>
|
||||
</form>
|
||||
<form class="platform" method="post">
|
||||
<h5>Verwijder een admin/mod</h5>
|
||||
<ul>
|
||||
<il>
|
||||
<input name="groupID" value="<?=$_GET["groupID"]?>" type="hidden">
|
||||
<label>Selecteer gebruiker</label>
|
||||
<select name="userID">
|
||||
<option disabled selected>Geen gebruiker geselecteerd:</option>
|
||||
<?php
|
||||
$groupAdmins = getAllGroupAdmins($_GET["groupID"]);
|
||||
foreach ($groupAdmins as $groupAdmin) {?>
|
||||
<option value="<?=$groupAdmin["userID"]?>">
|
||||
<?=$groupAdmin["fullname"]?> (<?=$groupAdmin["username"]?>) (<?=$groupAdmin["role"]?>)
|
||||
</option>
|
||||
<?php } ?>
|
||||
<?php
|
||||
$groupMods = getAllGroupMods($_GET["groupID"]);
|
||||
foreach ($groupMods as $groupMod) {?>
|
||||
<option value="<?=$groupMod["userID"]?>">
|
||||
<?=$groupMod["fullname"]?> (<?=$groupMod["username"]?>) (<?=$groupMod["role"]?>)
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<button name="form"
|
||||
value="deadmin"
|
||||
>
|
||||
Verwijder
|
||||
</button>
|
||||
</il>
|
||||
</ul>
|
||||
</form>
|
||||
<form class="platform" method="post">
|
||||
<ul>
|
||||
<h5>Verwijder groep</h5>
|
||||
<li>
|
||||
<label></label>
|
||||
<input name="groupID" value="<?=$_GET["groupID"]?>" type="hidden">
|
||||
<button class="red"
|
||||
name="form"
|
||||
value="delete"
|
||||
><i class="fa fa-trash"></i> Verwijder groep</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
<div class="platform">
|
||||
<ul>
|
||||
<li>
|
||||
<label></label>
|
||||
<a href="group.php?groupname=<?=$groupinfo["name"]?>"><button class="fa fa-chevron-left"> Terug naar de groep</button></a>
|
||||
<a href="group.php?groupname=<?=$groupinfo["name"]?>"><button><i class="fa fa-chevron-left"></i> Terug naar de groep</button></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,40 @@
|
||||
<meta name="description" content="MyHyvesbook+ is het sociaal medium voor alle coole mensen. Stap nu over van facebook op het gloednieuwe en betere sociaal medium.">
|
||||
<meta name="keywords" content="MyHyvesbookPlus,Myhyvesbook+,sociaal,media">
|
||||
<meta name="author" content="MyHyvesbookplus corporation">
|
||||
<!--Favicon-->
|
||||
<!-- Desktop Browsers -->
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
|
||||
<!-- Android: Chrome M39 and up-->
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<!-- Android: Chrome M31 and up, ignored if manifest is present-->
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<link rel="icon" sizes="192x192" href="icon-192x192.png">
|
||||
<!-- iOS -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-title" content="My Awesome Web App">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon-180x180-precomposed.png">
|
||||
<link href="apple-touch-icon-152x152-precomposed.png" sizes="152x152" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-144x144-precomposed.png" sizes="144x144" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-120x120-precomposed.png" sizes="120x120" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-114x114-precomposed.png" sizes="114x114" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-76x76-precomposed.png" sizes="76x76" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-72x72-precomposed.png" sizes="72x72" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-60x60-precomposed.png" sizes="60x60" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-57x57-precomposed.png" sizes="57x57" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-precomposed.png" rel="apple-touch-icon">
|
||||
|
||||
<!-- Windows 8 and IE 11 -->
|
||||
<meta name="msapplication-config" content="browserconfig.xml" />
|
||||
|
||||
<!-- Windows -->
|
||||
<meta name="application-name" content="My Awesome Web App" />
|
||||
<meta name="msapplication-tooltip" content="Get the latest updates!" />
|
||||
<meta name="msapplication-window" content="width=1024;height=768" />
|
||||
<meta name="msapplication-navbutton-color" content="#FF3300" />
|
||||
<meta name="msapplication-starturl" content="./" />
|
||||
|
||||
<title>MyHyvesbook+</title>
|
||||
<!-- Add your javascript files here. -->
|
||||
<script src="js/jquery.js"></script>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
// Checks if there's an user already logged in
|
||||
// Checks if there's a user already logged in
|
||||
if(isset($_SESSION["userID"])){
|
||||
echo "<script>
|
||||
window.onload=checkLoggedIn();
|
||||
|
||||
@@ -3,6 +3,40 @@
|
||||
<meta name="description" content="MyHyvesbook+ is het sociaal medium voor alle coole mensen. Stap nu over van facebook op het gloednieuwe en betere sociaal medium.">
|
||||
<meta name="keywords" content="MyHyvesbookPlus,Myhyvesbook+,sociaal,media">
|
||||
<meta name="author" content="MyHyvesbookplus corporation">
|
||||
<!-- Favicon-->
|
||||
<!-- Desktop Browsers -->
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
|
||||
<!-- Android: Chrome M39 and up-->
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<!-- Android: Chrome M31 and up, ignored if manifest is present-->
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<link rel="icon" sizes="192x192" href="icon-192x192.png">
|
||||
<!-- iOS -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-title" content="My Awesome Web App">
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon-180x180-precomposed.png">
|
||||
<link href="apple-touch-icon-152x152-precomposed.png" sizes="152x152" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-144x144-precomposed.png" sizes="144x144" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-120x120-precomposed.png" sizes="120x120" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-114x114-precomposed.png" sizes="114x114" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-76x76-precomposed.png" sizes="76x76" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-72x72-precomposed.png" sizes="72x72" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-60x60-precomposed.png" sizes="60x60" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-57x57-precomposed.png" sizes="57x57" rel="apple-touch-icon">
|
||||
<link href="apple-touch-icon-precomposed.png" rel="apple-touch-icon">
|
||||
|
||||
<!-- Windows 8 and IE 11 -->
|
||||
<meta name="msapplication-config" content="browserconfig.xml" />
|
||||
|
||||
<!-- Windows -->
|
||||
<meta name="application-name" content="My Awesome Web App" />
|
||||
<meta name="msapplication-tooltip" content="Get the latest updates!" />
|
||||
<meta name="msapplication-window" content="width=1024;height=768" />
|
||||
<meta name="msapplication-navbutton-color" content="#FF3300" />
|
||||
<meta name="msapplication-starturl" content="./" />
|
||||
|
||||
<title>MyHyvesbook+</title>
|
||||
<link rel="stylesheet"
|
||||
type="text/css"
|
||||
|
||||
@@ -55,10 +55,17 @@
|
||||
<h3>Vrienden</h3>
|
||||
<p>
|
||||
<?php
|
||||
while($friend = $profile_friends->fetch()) {
|
||||
$friendcount = $profile_friends->rowCount();
|
||||
$frienddif = $friendcount - 7;
|
||||
|
||||
for ($i = 0; $i < min($friendcount, 7); $i += 1) {
|
||||
$friend = $profile_friends->fetch();
|
||||
echo "<a href='profile.php?username=${friend["username"]}' data-title='${friend["username"]}'><img class='profile-picture' height='42' width='42' src='${friend["profilepicture"]}' alt='${friend["username"]}' /></a>";
|
||||
}
|
||||
|
||||
if ($frienddif > 0) {
|
||||
echo $frienddif === 1 ? "en nog 1 andere." : "...en nog $frienddif anderen.";
|
||||
}
|
||||
|
||||
if($profile_friends->rowCount() === 0) {
|
||||
echo "<p>Deze gebruiker heeft nog geen vrienden gemaakt.</p>";
|
||||
@@ -71,10 +78,18 @@
|
||||
<h3>Groepen</h3>
|
||||
<p>
|
||||
<?php
|
||||
while($group = $profile_groups->fetch()) {
|
||||
$groupcount = $profile_groups->rowCount();
|
||||
$groupdif = $groupcount - 7;
|
||||
|
||||
for ($i = 0; $i < min($groupcount, 7); $i += 1) {
|
||||
$group = $profile_groups->fetch();
|
||||
echo "<a href='group.php?groupname=${group['name']}' data-title='${group["name"]}'><img class='group-picture' src='${group["picture"]}' alt='${group["name"]}s logo'></a>";
|
||||
}
|
||||
|
||||
if ($groupdif > 0) {
|
||||
echo $groupdif === 1 ? "en nog 1 andere." : "...en nog $groupdif anderen.";
|
||||
}
|
||||
|
||||
if($profile_groups->rowCount() === 0) {
|
||||
echo "<p>Deze gebruiker is nog geen lid van een groep.</p>";
|
||||
}
|
||||
|
||||