From ee204d78a7e35adb43ab0a956cc71350b58b27a6 Mon Sep 17 00:00:00 2001 From: Hendrik Date: Thu, 26 Jan 2017 15:32:38 +0100 Subject: [PATCH 001/101] minor fixes --- website/public/API/postComment.php | 2 +- website/public/styles/post-popup.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/public/API/postComment.php b/website/public/API/postComment.php index b840e0b..5fd48b5 100644 --- a/website/public/API/postComment.php +++ b/website/public/API/postComment.php @@ -8,7 +8,7 @@ require("../../queries/checkInput.php"); if (empty($_POST['newcomment-content'])) { echo 0; } else { - if(makeComment($_POST['postID'], + if(makeComment(test_input($_POST['postID']), $_SESSION['userID'], test_input($_POST['newcomment-content']))) { echo 1; diff --git a/website/public/styles/post-popup.css b/website/public/styles/post-popup.css index 11fe03b..c205c09 100644 --- a/website/public/styles/post-popup.css +++ b/website/public/styles/post-popup.css @@ -14,7 +14,7 @@ /* Modal Content/Box */ .modal-content { - margin: 5% auto; + margin: 50px auto; width: 70%; /* Could be more or less, depending on screen size */ overflow-y: auto; } -- 2.49.1 From 08f668859cc98f72c6af3febdf654bb6839ed83d Mon Sep 17 00:00:00 2001 From: Joey Lai Date: Fri, 27 Jan 2017 16:15:23 +0100 Subject: [PATCH 002/101] begin with facebook login --- website/public/login.php | 66 ++++++++++++++++++++++++++++++++++++ website/views/login-view.php | 15 ++++++++ 2 files changed, 81 insertions(+) diff --git a/website/public/login.php b/website/public/login.php index 9fd7fb0..c216283 100644 --- a/website/public/login.php +++ b/website/public/login.php @@ -10,6 +10,72 @@ include_once("../queries/register.php"); ?> + + + + + + + + + + +
+
+ input, label").click(function(){ + $("#admin-filter, #admin-groupfilter > input, label").change(function(){ adminSearch(); }); $("#pagetype").change(function(){ adminSearch(); }); + /* Update hidden input to be equal to submit pressed, + because serialize doesn't take submit values. */ + $('#admin-batchform > button').click(function () { + $('#batchinput').prop('value', $(this).prop('value')); + console.log($('#batchinput').prop('value')); + }); + + $('#admin-groupbatchform > button').click(function () { + $('#groupbatchinput').prop('value', $(this).prop('value')); + console.log($('#batchinput').prop('value')); + }); + adminSearch(); }); -function checkAll(allbox) { - var checkboxes = document.getElementsByClassName('checkbox-list'); - - for (var i = 0; i < checkboxes.length; i++) { - if (checkboxes[i].type == 'checkbox') { - checkboxes[i].checked = allbox.checked; - } - } +function checkAll() { + $('.checkbox-list').each(function () { + $(this).prop('checked', $('#checkall').prop('checked')); + }); } -function checkCheckAll(allbox) { - var checkboxes = document.getElementsByClassName('checkbox-list'); +function checkCheckAll() { var checked = true; - for (var i = 0; i < checkboxes.length; i++) { - if (checkboxes[i].type == 'checkbox') { - if (checkboxes[i].checked == false) { - checked = false; - break; - } + $('.checkbox-list').each(function () { + if ($(this).prop('checked') == false) { + checked = false; + return; } - } - allbox.checked = checked; + }); + + $('#checkall').prop('checked', checked); } function changeFilter() { @@ -60,11 +66,21 @@ function adminSearch() { "API/adminSearchUsers.php", $("#admin-searchform").serialize() ).done(function (data) { - console.log(data); + // console.log(data); $("#usertable").html(data); }) } +function adminUpdate(form) { + console.log($(form).serialize()); + $.post( + "API/adminChangeUser.php", + $(form).serialize() + ).done(function () { + adminSearch(); + }) +} + function updatePageN() { $.post( "API/adminPageNumber.php", diff --git a/website/public/styles/adminpanel.css b/website/public/styles/adminpanel.css index f9410e1..75fa8b1 100644 --- a/website/public/styles/adminpanel.css +++ b/website/public/styles/adminpanel.css @@ -44,7 +44,7 @@ padding: 3px; } -.usertable tr { +.usertable th, tr { text-align: left; } diff --git a/website/views/adminpanel-grouptable.php b/website/views/adminpanel-grouptable.php index 4999666..9d2c8e8 100644 --- a/website/views/adminpanel-grouptable.php +++ b/website/views/adminpanel-grouptable.php @@ -16,7 +16,6 @@ while ($group = $q->fetch(PDO::FETCH_ASSOC)) { $name = $group['name']; $role = $group['status']; $description = $group['description']; - $function = "checkCheckAll(document.getElementById('checkall'))"; echo(" @@ -25,15 +24,14 @@ while ($group = $q->fetch(PDO::FETCH_ASSOC)) { class='checkbox-list' value='$groupID' form='admin-groupbatchform' - onchange='$function'> + onchange='checkCheckAll();'> $name $role $description
+ onsubmit=\"adminUpdate(this); return false;\"> + Gebruikersnaam Status Aantekening @@ -14,7 +14,6 @@ while($user = $q->fetch(PDO::FETCH_ASSOC)) { $username = $user['username']; $role = $user['role']; $bancomment = $user['bancomment']; - $function = "checkCheckAll(document.getElementById('checkall'))"; echo(" @@ -24,20 +23,29 @@ while($user = $q->fetch(PDO::FETCH_ASSOC)) { class='checkbox-list' value='$userID' form='admin-batchform' - onchange='$function'> + onchange='checkCheckAll();'> $username $role $bancomment - + onsubmit=\"adminUpdate(this); return false;\"> +
diff --git a/website/views/adminpanel.php b/website/views/adminpanel.php index c48a28d..d2b83d2 100644 --- a/website/views/adminpanel.php +++ b/website/views/adminpanel.php @@ -7,6 +7,7 @@ $perpage = 20; $status = array("user", "frozen", "banned", "unconfirmed", "admin", "owner"); $groupstatus = array("hidden", "public", "membersonly"); $pagetype = "user"; +$userinfo = getRoleByID($_SESSION['userID'])->fetch(PDO::FETCH_ASSOC); if (isset($_GET["search"])) { $search = test_input($_GET["search"]); @@ -123,20 +124,30 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { -
+ + + Maak Admin + "; + } + ?>
-
+ + -- 2.49.1 From f26097f55fab9a19fa2fc59b087aa4c813f84b5f Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Tue, 31 Jan 2017 12:25:28 +0100 Subject: [PATCH 004/101] Fixed online status --- website/public/bits/friend-item.php | 2 +- website/public/group.php | 2 +- website/public/profile.php | 8 ++++---- website/public/styles/main.css | 10 +++++++++- website/public/styles/profile.css | 2 +- website/queries/friendship.php | 11 ++++++----- website/queries/user.php | 13 +++++++++++++ website/views/head.php | 5 ++++- website/views/profile.php | 4 ++-- 9 files changed, 41 insertions(+), 16 deletions(-) diff --git a/website/public/bits/friend-item.php b/website/public/bits/friend-item.php index a69d12a..40bc8a8 100644 --- a/website/public/bits/friend-item.php +++ b/website/public/bits/friend-item.php @@ -33,7 +33,7 @@ foreach($friends as $i => $friend) { } ?>'>
- PF + PF
fullname ?>
= DATE_SUB(NOW(),INTERVAL 15 MINUTE) + WHEN TRUE THEN 'online' + WHEN FALSE THEN 'offline' + END AS `onlinestatus`, `role` FROM `user` @@ -28,11 +32,8 @@ function selectLimitedFriends($userID, $limit) { `friendship`.`user1ID` = `user`.`userID`) AND `user`.`role` != 'banned' AND `friendship`.`status` = 'confirmed' - ORDER BY - CASE - WHEN `friendship`.`user2ID` = `user`.`userID` THEN `friendship`.`chatLastVisted1` - WHEN `friendship`.`user1ID` = `user`.`userID` THEN `friendship`.`chatLastVisted2` - END + ORDER BY + `user`.`lastactivity` DESC LIMIT :limitCount "); diff --git a/website/queries/user.php b/website/queries/user.php index 0900d9f..b1bb93c 100644 --- a/website/queries/user.php +++ b/website/queries/user.php @@ -2,6 +2,19 @@ require_once ("connect.php"); +function updateLastActivity() { + $stmt = prepareQuery(" + UPDATE + `user` + SET + `lastactivity` = NOW() + WHERE + `userID` = :userID + "); + $stmt->bindParam(":userID", $_SESSION["userID"]); + return $stmt->execute(); +} + function getUserID($username) { $stmt = prepareQuery(" SELECT diff --git a/website/views/head.php b/website/views/head.php index 6e8ca0a..284abb4 100644 --- a/website/views/head.php +++ b/website/views/head.php @@ -19,9 +19,12 @@ require_once ("../queries/checkInput.php"); require_once ("../queries/connect.php"); +require_once ("../queries/user.php"); session_start(); if(!isset($_SESSION["userID"])){ header("location:login.php"); -} \ No newline at end of file +} else { + updateLastActivity(); +} diff --git a/website/views/profile.php b/website/views/profile.php index 90a368d..8cf555f 100644 --- a/website/views/profile.php +++ b/website/views/profile.php @@ -1,10 +1,10 @@
- ">
+ " src="">
-- 2.49.1 From f67dd019c46c67ca604423d00ac04b7c956a8ac7 Mon Sep 17 00:00:00 2001 From: Lars van Hijfte Date: Tue, 31 Jan 2017 12:47:24 +0100 Subject: [PATCH 005/101] Inputs are now mobile friendly --- website/public/styles/main.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/public/styles/main.css b/website/public/styles/main.css index 7909687..f2d7535 100644 --- a/website/public/styles/main.css +++ b/website/public/styles/main.css @@ -192,7 +192,7 @@ button.green { } button.gray{ - background-color: inherit; + background-color: #FFF; color: #333; } @@ -307,8 +307,9 @@ div[data-title]:hover:after { body { font-size: 28px!important; } - button { + button, input { font-size: 28px; + height: 42px; } } \ No newline at end of file -- 2.49.1 From eb12b6ba7da8194d479358a904837f919ead8c87 Mon Sep 17 00:00:00 2001 From: Hendrik Date: Tue, 31 Jan 2017 13:11:23 +0100 Subject: [PATCH 006/101] fixed pageselector in admin --- website/public/API/adminChangeUser.php | 8 ++++- website/public/API/adminPageNumber.php | 18 +++++++++--- website/public/API/adminSearchUsers.php | 8 ++--- website/public/js/admin.js | 19 +++++++----- website/queries/user.php | 19 ++++++++++++ website/views/adminpanel-page.php | 39 ++++++++++++------------- website/views/adminpanel.php | 15 ++-------- 7 files changed, 77 insertions(+), 49 deletions(-) diff --git a/website/public/API/adminChangeUser.php b/website/public/API/adminChangeUser.php index 5c9384c..72acb8c 100644 --- a/website/public/API/adminChangeUser.php +++ b/website/public/API/adminChangeUser.php @@ -6,12 +6,18 @@ require_once ("../../queries/checkInput.php"); require_once ("../../queries/user.php"); require_once ("../../queries/group_page.php"); +$userinfo = getRoleByID($_SESSION['userID'])->fetch(PDO::FETCH_ASSOC); + if (isset($_POST["actions"]) && isset($_POST["userID"])) { changeUserStatusByID($_POST["userID"], $_POST["actions"]); } else if (isset($_POST["actions"]) && isset($_POST["groupID"])) { changeGroupStatusByID($_POST["groupID"], $_POST["actions"]); } else if (isset($_POST["batchactions"]) && isset($_POST["checkbox-user"])) { - changeMultipleUserStatusByID($_POST["checkbox-user"], $_POST["batchactions"]); + if ($userinfo['role'] == 'owner') { + changeMultipleUserStatusByID($_POST["checkbox-user"], $_POST["batchactions"]); + } else { + changeMultipleUserStatusByIDAdmin($_POST["checkbox-user"], $_POST["batchactions"]); + } } else if (isset($_POST["groupbatchactions"]) && isset($_POST["checkbox-group"])) { changeMultipleGroupStatusByID($_POST["checkbox-group"], $_POST["groupbatchactions"]); } diff --git a/website/public/API/adminPageNumber.php b/website/public/API/adminPageNumber.php index a6ac554..c829249 100644 --- a/website/public/API/adminPageNumber.php +++ b/website/public/API/adminPageNumber.php @@ -5,6 +5,7 @@ session_start(); require_once ("../../queries/connect.php"); require_once ("../../queries/checkInput.php"); require_once ("../../queries/user.php"); +require_once ("../../queries/group_page.php"); $search = ""; if (isset($_POST["search"])) { @@ -21,8 +22,17 @@ if (isset($_POST['status'])) { $status = $_POST["status"]; } -if ($pagetype == "user") { - include ("../../views/adminpanel-page.php"); -} else { - echo "Pagenumber failed!"; +$groupstatus = array(); +if (isset($_POST['groupstatus'])) { + $groupstatus = $_POST["groupstatus"]; } + +$entries = 20; +$currentpage = 1; +if (isset($_POST['currentpage'])) { + $currentpage = (int) test_input($_POST["currentpage"]); +} + +$offset = (int) $currentpage * $entries - $entries; + +include ("../../views/adminpanel-page.php"); diff --git a/website/public/API/adminSearchUsers.php b/website/public/API/adminSearchUsers.php index f1d7fc1..58b170a 100644 --- a/website/public/API/adminSearchUsers.php +++ b/website/public/API/adminSearchUsers.php @@ -8,13 +8,11 @@ require_once ("../../queries/user.php"); require_once ("../../queries/group_page.php"); $offset = 0; -if (isset($_POST["n"])) { - $offset = (int) test_input($_POST["n"]); -} $entries = 20; -if (isset($_POST["m"])) { - $entries = (int) test_input($_POST["m"]); +if (isset($_POST["currentpage"])) { + $offset = (int) test_input($_POST["currentpage"]) * $entries - $entries; } + $search = ""; if (isset($_POST["search"])) { $search = test_input($_POST["search"]); diff --git a/website/public/js/admin.js b/website/public/js/admin.js index c43e6ae..7e2efad 100644 --- a/website/public/js/admin.js +++ b/website/public/js/admin.js @@ -1,14 +1,16 @@ $(window).on("load", function () { changeFilter(); + searchFromOne(); + $(".admin-searchinput").keyup(function(){ - adminSearch(); + searchFromOne(); }); // all inputs and labels directly under admin filter and groupfilter $("#admin-filter, #admin-groupfilter > input, label").change(function(){ - adminSearch(); + searchFromOne(); }); $("#pagetype").change(function(){ - adminSearch(); + searchFromOne(); }); /* Update hidden input to be equal to submit pressed, @@ -22,8 +24,6 @@ $(window).on("load", function () { $('#groupbatchinput').prop('value', $(this).prop('value')); console.log($('#batchinput').prop('value')); }); - - adminSearch(); }); function checkAll() { @@ -61,18 +61,23 @@ function changeFilter() { } } +function searchFromOne() { + $('#currentpage').prop('value', 1); + adminSearch(); +} + function adminSearch() { + console.log($("#admin-searchform").serialize()); $.post( "API/adminSearchUsers.php", $("#admin-searchform").serialize() ).done(function (data) { - // console.log(data); $("#usertable").html(data); + updatePageN(); }) } function adminUpdate(form) { - console.log($(form).serialize()); $.post( "API/adminChangeUser.php", $(form).serialize() diff --git a/website/queries/user.php b/website/queries/user.php index 0900d9f..bf20e7d 100644 --- a/website/queries/user.php +++ b/website/queries/user.php @@ -307,6 +307,25 @@ function changeMultipleUserStatusByID($ids, $status) { return $q; } +function changeMultipleUserStatusByIDAdmin($ids, $status) { + $q = prepareQuery(" + UPDATE + `user` + SET + `role` = :status + WHERE + FIND_IN_SET (`userID`, :ids) + AND NOT `role` = 'admin' + AND NOT `role` = 'owner' + "); + + $ids = implode(',', $ids); + $q->bindParam(':ids', $ids); + $q->bindParam(':status', $status); + $q->execute(); + return $q; +} + function selectRandomNotFriendUser($userID) { $stmt = prepareQuery(" SELECT diff --git a/website/views/adminpanel-page.php b/website/views/adminpanel-page.php index a17ce50..cfd73bc 100644 --- a/website/views/adminpanel-page.php +++ b/website/views/adminpanel-page.php @@ -5,27 +5,26 @@ if ($pagetype == "user") { $pages = countSomeGroupsByStatus($search, $groupstatus); } $countresults = $pages->fetchColumn(); -$mincount = min($listm, $countresults); -$minlist = min($listn + 1, $countresults); + ?> - Pagina: - + $i"; + } else { + echo ""; } - ?> - - + } + ?> + \ No newline at end of file diff --git a/website/views/adminpanel.php b/website/views/adminpanel.php index d2b83d2..f1d27a1 100644 --- a/website/views/adminpanel.php +++ b/website/views/adminpanel.php @@ -2,8 +2,6 @@
@@ -40,7 +31,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
@@ -44,7 +45,8 @@ name="surname" value="" title="Mag alleen letters bevatten" - > + required + autocomplete="family-name"> *
@@ -65,7 +67,7 @@ name="username" value="" title="Moet minimaal 6 karakters bevatten" - > + required> *
  • Minstens 6 karakters
  • @@ -81,7 +83,7 @@ name="password" value="" id="password" - > + required> *
    • Minstens 8 karakters
    • @@ -96,7 +98,7 @@ value="" id="confirmpassword" title="Herhaal wachtwoord" - > + required> *
@@ -109,7 +111,6 @@ value="" pattern="[A-Za-z]{1,}" title="Mag alleen letters bevatten"> - *
@@ -120,7 +121,8 @@ name="email" value="" id="email" - title="Voer een geldige email in"> + title="Voer een geldige email in" + required> *
@@ -132,10 +134,12 @@ name="confirmEmail" value="" id="email" - title="Herhaal uw email"> + title="Herhaal uw email" + required> *
+ + +
-- 2.49.1 From c0a64e9ffd4af652b488ac18a39f31831de13523 Mon Sep 17 00:00:00 2001 From: Marijn Jansen Date: Tue, 31 Jan 2017 16:19:15 +0100 Subject: [PATCH 017/101] 1337 bday --- website/views/settings-view.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/website/views/settings-view.php b/website/views/settings-view.php index b7f554a..b03133e 100644 --- a/website/views/settings-view.php +++ b/website/views/settings-view.php @@ -75,6 +75,9 @@ $settings = getSettings(); +
  • -- 2.49.1 From 52a4822477432218965aff2bf0b9b15018f4112e Mon Sep 17 00:00:00 2001 From: Hendrik Date: Tue, 31 Jan 2017 16:20:02 +0100 Subject: [PATCH 018/101] post-merge fix --- website/public/API/adminSearchUsers.php | 2 +- website/views/adminpanel-table.php | 2 +- website/views/adminpanel.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/public/API/adminSearchUsers.php b/website/public/API/adminSearchUsers.php index 58b170a..5f7944b 100644 --- a/website/public/API/adminSearchUsers.php +++ b/website/public/API/adminSearchUsers.php @@ -33,7 +33,7 @@ if (isset($_POST['groupstatus'])) { $groupstatus = $_POST["groupstatus"]; } -$userinfo = getRoleByID($_SESSION['userID'])->fetch(PDO::FETCH_ASSOC); +$userinfo = getRoleByID($_SESSION['userID']); if ($pagetype == "user") { include ("../../views/adminpanel-table.php"); diff --git a/website/views/adminpanel-table.php b/website/views/adminpanel-table.php index 9e6b9bc..3ae5da4 100644 --- a/website/views/adminpanel-table.php +++ b/website/views/adminpanel-table.php @@ -50,7 +50,7 @@ while($user = $q->fetch(PDO::FETCH_ASSOC)) { - + name="fbUserID" + value=""> + diff --git a/website/views/forgotPasswordModal.php b/website/views/forgotPasswordModal.php index d3f12f9..2ebdbb9 100644 --- a/website/views/forgotPasswordModal.php +++ b/website/views/forgotPasswordModal.php @@ -19,7 +19,8 @@ class="middle" placeholder="Voer uw email in" name="forgotEmail" - title="Voer een email in"> + title="Voer een email in" + required>