Merge branch 'master' into lars-algemeen
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
function selectGroupById($groupID) {
|
||||
return $GLOBALS["db"]->query("
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`group_page`.`name`,
|
||||
`group_page`.`picture`,
|
||||
@@ -11,12 +11,16 @@ function selectGroupById($groupID) {
|
||||
FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`group_page`.`groupID` = $groupID
|
||||
`group_page`.`groupID` = :groupID
|
||||
");
|
||||
|
||||
$q->bindParam(':groupID', $groupID);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function select20GroupsFromN($n) {
|
||||
return $GLOBALS["db"]->query("
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`group_page`.`groupID`,
|
||||
`group_page`.`name`,
|
||||
@@ -29,12 +33,16 @@ function select20GroupsFromN($n) {
|
||||
ORDER BY
|
||||
`group_page`.`name` ASC
|
||||
LIMIT
|
||||
$n, 20
|
||||
:n, 20
|
||||
");
|
||||
|
||||
$q->bindParam(':n', $n);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function select20GroupsByStatusFromN($n, $status) {
|
||||
return $GLOBALS["db"]->query("
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`group_page`.`groupID`,
|
||||
`group_page`.`name`,
|
||||
@@ -45,12 +53,17 @@ function select20GroupsByStatusFromN($n, $status) {
|
||||
FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`group_page`.`status` = $status
|
||||
`group_page`.`status` = :status
|
||||
ORDER BY
|
||||
`group_page`.`name` ASC
|
||||
LIMIT
|
||||
$n, 20
|
||||
:n, 20
|
||||
");
|
||||
|
||||
$q->bindParam(':status', $status);
|
||||
$q->bindParam(':n', $n);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function search20GroupsFromNByStatus($n, $keyword, $status) {
|
||||
@@ -80,6 +93,55 @@ function search20GroupsFromNByStatus($n, $keyword, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
function searchSomeGroupsByStatus($n, $m, $keyword, $status) {
|
||||
$q = $GLOBALS['db']->prepare("
|
||||
SELECT
|
||||
`groupID`,
|
||||
`name`,
|
||||
`status`,
|
||||
`description`
|
||||
FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`name` LIKE :keyword AND
|
||||
FIND_IN_SET (`status`, :statuses)
|
||||
ORDER BY
|
||||
`name`
|
||||
LIMIT
|
||||
:n, :m
|
||||
");
|
||||
|
||||
$keyword = "%$keyword%";
|
||||
$q->bindParam(':keyword', $keyword);
|
||||
$q->bindParam(':n', $n, PDO::PARAM_INT);
|
||||
$q->bindParam(':m', $m, PDO::PARAM_INT);
|
||||
$statuses = implode(',', $status);
|
||||
$q->bindParam(':statuses', $statuses);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function countSomeGroupsByStatus($keyword, $status) {
|
||||
$q = $GLOBALS['db']->prepare("
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`name` LIKE :keyword AND
|
||||
FIND_IN_SET (`status`, :statuses)
|
||||
ORDER BY
|
||||
`name`
|
||||
");
|
||||
|
||||
$keyword = "%$keyword%";
|
||||
$q->bindParam(':keyword', $keyword);
|
||||
$statuses = implode(',', $status);
|
||||
$q->bindParam(':statuses', $statuses);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function changeGroupStatusByID($id, $status) {
|
||||
$q = $GLOBALS["db"]->query("
|
||||
UPDATE
|
||||
@@ -92,3 +154,44 @@ function changeGroupStatusByID($id, $status) {
|
||||
|
||||
return $q;
|
||||
}
|
||||
|
||||
function changeMultipleGroupStatusByID($ids, $status) {
|
||||
$q = $GLOBALS['db']->prepare("
|
||||
UPDATE
|
||||
`group_page`
|
||||
SET
|
||||
`status` = :status
|
||||
WHERE
|
||||
FIND_IN_SET (`groupID`, :ids)
|
||||
");
|
||||
|
||||
$ids = implode(',', $ids);
|
||||
$q->bindParam(':ids', $ids);
|
||||
$q->bindParam(':status', $status);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function searchSomeGroups($n, $m, $search) {
|
||||
$stmt = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`name`,
|
||||
`picture`
|
||||
FROM
|
||||
`group_page`
|
||||
WHERE
|
||||
`name` LIKE :keyword
|
||||
ORDER BY
|
||||
`name`
|
||||
LIMIT
|
||||
:n, :m
|
||||
");
|
||||
|
||||
$search = "%$search%";
|
||||
$stmt->bindParam(':keyword', $search);
|
||||
$stmt->bindParam(':n', $n, PDO::PARAM_INT);
|
||||
$stmt->bindParam(':m', $m, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
return $stmt;
|
||||
}
|
||||
?>
|
||||
39
website/queries/nicetime.php
Normal file
39
website/queries/nicetime.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
function nicetime($date) {
|
||||
if(empty($date)) {
|
||||
return "No date provided";
|
||||
}
|
||||
|
||||
$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");
|
||||
|
||||
$now = time();
|
||||
$unix_date = strtotime($date);
|
||||
|
||||
if(empty($unix_date)) {
|
||||
return "Bad date";
|
||||
}
|
||||
|
||||
if($now > $unix_date) {
|
||||
$difference = $now - $unix_date;
|
||||
$tense = "geleden";
|
||||
} else {
|
||||
$difference = $unix_date - $now;
|
||||
$tense = "vanaf nu";
|
||||
}
|
||||
|
||||
for($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i++) {
|
||||
$difference /= $lengths[$i];
|
||||
}
|
||||
|
||||
$difference = round($difference);
|
||||
|
||||
if($difference != 1) {
|
||||
$period = $multiple_periods[$i];
|
||||
} else {
|
||||
$period = $single_periods[$i];
|
||||
}
|
||||
|
||||
return "$difference $period $tense";
|
||||
}
|
||||
@@ -87,11 +87,11 @@ function updateSettings() {
|
||||
`userID` = :userID
|
||||
");
|
||||
|
||||
$stmt->bindParam(":fname", $_POST["fname"]);
|
||||
$stmt->bindParam(":lname", $_POST["lname"]);
|
||||
$stmt->bindParam(":location", $_POST["location"]);
|
||||
$stmt->bindParam(":fname", test_input($_POST["fname"]));
|
||||
$stmt->bindParam(":lname", test_input($_POST["lname"]));
|
||||
$stmt->bindParam(":location", test_input($_POST["location"]));
|
||||
$stmt->bindParam(":bday", $_POST["bday"]);
|
||||
$stmt->bindParam(":bio", $_POST["bio"]);
|
||||
$stmt->bindParam(":bio", test_input($_POST["bio"]));
|
||||
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
||||
|
||||
$stmt->execute();
|
||||
@@ -99,11 +99,11 @@ function updateSettings() {
|
||||
return new settingsMessage("happy", "Instellingen zijn opgeslagen.");
|
||||
}
|
||||
|
||||
function updatePassword() {
|
||||
function changePassword() {
|
||||
$user = getPasswordHash();
|
||||
if (password_verify($_POST["password-old"], $user["password"])) {
|
||||
if ($_POST["password-new"] == $_POST["password-confirm"] && (strlen($_POST["password-new"]) >= 8)) {
|
||||
if (changePassword()) {
|
||||
if (doChangePassword()) {
|
||||
return new settingsMessage("happy", "Wachtwoord gewijzigd.");
|
||||
} else {
|
||||
return new settingsMessage("angry", "Er is iets mis gegaan.");
|
||||
@@ -116,7 +116,7 @@ function updatePassword() {
|
||||
}
|
||||
}
|
||||
|
||||
function changePassword() {
|
||||
function doChangePassword() {
|
||||
$stmt = $GLOBALS["db"]->prepare("
|
||||
UPDATE
|
||||
`user`
|
||||
@@ -184,4 +184,26 @@ function doChangeEmail($email) {
|
||||
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
||||
$stmt->execute();
|
||||
return $stmt->rowCount();
|
||||
}
|
||||
|
||||
function updateProfilePicture() {
|
||||
$profilePictureDir = "/var/www/html/public/";
|
||||
$relativePath = "uploads/" . $_SESSION["userID"] . "_" . basename($_FILES["pp"]["name"]);
|
||||
move_uploaded_file($_FILES['pp']['tmp_name'], $profilePictureDir . $relativePath);
|
||||
setProfilePictureToDatabase("../" . $relativePath);
|
||||
}
|
||||
|
||||
function setProfilePictureToDatabase($url) {
|
||||
$stmt = $GLOBALS["db"]->prepare("
|
||||
UPDATE
|
||||
`user`
|
||||
SET
|
||||
`profilepicture` = :profilepicture
|
||||
WHERE
|
||||
`userID` = :userID
|
||||
");
|
||||
|
||||
$stmt->bindParam(":profilepicture", $url);
|
||||
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
||||
$stmt->execute();
|
||||
}
|
||||
@@ -88,7 +88,7 @@ function selectAllUserPosts($userID) {
|
||||
}
|
||||
|
||||
function select20UsersFromN($n) {
|
||||
return $GLOBALS["db"]->query("
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`userID`,
|
||||
`username`,
|
||||
@@ -100,8 +100,12 @@ function select20UsersFromN($n) {
|
||||
`role`,
|
||||
`username`
|
||||
LIMIT
|
||||
$n, 20
|
||||
:n, 20
|
||||
");
|
||||
|
||||
$q->bindParam(':n', $n);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function search20UsersFromN($n, $keyword) {
|
||||
@@ -156,19 +160,90 @@ function search20UsersFromNByStatus($n, $keyword, $status) {
|
||||
return $q;
|
||||
}
|
||||
|
||||
function changeUserStatusByID($id, $status) {
|
||||
$q = $GLOBALS["db"]->query("
|
||||
UPDATE
|
||||
function searchSomeUsersByStatus($n, $m, $keyword, $status) {
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`userID`,
|
||||
`username`,
|
||||
`role`,
|
||||
`bancomment`
|
||||
FROM
|
||||
`user`
|
||||
SET
|
||||
`role` = $status
|
||||
WHERE
|
||||
`userID` = $id
|
||||
`username` LIKE :keyword AND
|
||||
FIND_IN_SET (`role`, :statuses)
|
||||
ORDER BY
|
||||
`role`,
|
||||
`username`
|
||||
LIMIT
|
||||
:n, :m
|
||||
");
|
||||
|
||||
$keyword = "%$keyword%";
|
||||
$q->bindParam(':keyword', $keyword);
|
||||
$q->bindParam(':n', $n, PDO::PARAM_INT);
|
||||
$q->bindParam(':m', $m, PDO::PARAM_INT);
|
||||
$statuses = implode(',', $status);
|
||||
$q->bindParam(':statuses', $statuses);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function countSomeUsersByStatus($keyword, $status) {
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
`user`
|
||||
WHERE
|
||||
`username` LIKE :keyword AND
|
||||
FIND_IN_SET (`role`, :statuses)
|
||||
ORDER BY
|
||||
`role`,
|
||||
`username`
|
||||
");
|
||||
|
||||
$keyword = "%$keyword%";
|
||||
$q->bindParam(':keyword', $keyword);
|
||||
$statuses = implode(',', $status);
|
||||
$q->bindParam(':statuses', $statuses);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
|
||||
function changeUserStatusByID($id, $status) {
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
UPDATE
|
||||
`user`
|
||||
SET
|
||||
`role` = :status
|
||||
WHERE
|
||||
`userID` = :id
|
||||
");
|
||||
|
||||
$q->bindParam(':status', $status);
|
||||
$q->bindParam(':id', $id);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function changeMultipleUserStatusByID($ids, $status) {
|
||||
$q = $GLOBALS["db"]->prepare("
|
||||
UPDATE
|
||||
`user`
|
||||
SET
|
||||
`role` = :status
|
||||
WHERE
|
||||
FIND_IN_SET (`userID`, :ids)
|
||||
");
|
||||
|
||||
$ids = implode(',', $ids);
|
||||
$q->bindParam(':ids', $ids);
|
||||
$q->bindParam(':status', $status);
|
||||
$q->execute();
|
||||
return $q;
|
||||
}
|
||||
|
||||
function selectRandomNotFriendUser($userID) {
|
||||
$stmt = $GLOBALS["db"]->prepare("
|
||||
@@ -177,12 +252,12 @@ function selectRandomNotFriendUser($userID) {
|
||||
FROM
|
||||
`user`
|
||||
WHERE
|
||||
`userID` NOT IN (SELECT
|
||||
`userID` NOT IN (SELECT
|
||||
`user1ID`
|
||||
FROM
|
||||
`friendship`
|
||||
WHERE `user1ID` = :userID) OR
|
||||
`userID` NOT IN (SELECT
|
||||
`userID` NOT IN (SELECT
|
||||
`user2ID`
|
||||
FROM
|
||||
`friendship`
|
||||
@@ -196,4 +271,33 @@ function selectRandomNotFriendUser($userID) {
|
||||
$stmt->bindParam(':userID', $userID, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
return $stmt->fetch();
|
||||
}
|
||||
}
|
||||
|
||||
function searchSomeUsers($n, $m, $search) {
|
||||
$stmt = $GLOBALS["db"]->prepare("
|
||||
SELECT
|
||||
`username`,
|
||||
`profilepicture`,
|
||||
`fname`,
|
||||
`lname`
|
||||
FROM
|
||||
`user`
|
||||
WHERE
|
||||
`username` LIKE :keyword OR
|
||||
`fname` LIKE :keyword OR
|
||||
`lname` LIKE :keyword
|
||||
ORDER BY
|
||||
`fname`,
|
||||
`lname`,
|
||||
`username`
|
||||
LIMIT
|
||||
:n, :m
|
||||
");
|
||||
|
||||
$search = "%$search%";
|
||||
$stmt->bindParam(':keyword', $search);
|
||||
$stmt->bindParam(':n', $n, PDO::PARAM_INT);
|
||||
$stmt->bindParam(':m', $m, PDO::PARAM_INT);
|
||||
$stmt->execute();
|
||||
return $stmt;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user