Merge branch 'marijn-settings' into 'master'
Marijn settings See merge request !69
This commit was merged in pull request #73.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -8,7 +8,7 @@
|
|||||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
|
||||||
|
.idea/*
|
||||||
# User-specific stuff:
|
# User-specific stuff:
|
||||||
.idea/workspace.xml
|
.idea/workspace.xml
|
||||||
.idea/tasks.xml
|
.idea/tasks.xml
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
include("../views/main.php");
|
include("../views/main.php");
|
||||||
|
$notImplemented = new settingsMessage("angry", "Deze functie werkt nog niet :(");
|
||||||
|
|
||||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||||
switch ($_POST["form"]) {
|
switch ($_POST["form"]) {
|
||||||
@@ -24,16 +25,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|||||||
$result = updatePassword();
|
$result = updatePassword();
|
||||||
break;
|
break;
|
||||||
case "email":
|
case "email":
|
||||||
$result = array (
|
$result = changeEmail();
|
||||||
"type" => "settings-message-angry",
|
|
||||||
"message" => "Deze functie werkt nog niet :("
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
case "picture":
|
case "picture":
|
||||||
$result = array (
|
$result = $notImplemented;
|
||||||
"type" => "settings-message-angry",
|
|
||||||
"message" => "Deze functie werkt nog niet :("
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,42 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
class settingsMessage {
|
||||||
|
private $class;
|
||||||
|
private $message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* settingsMessage constructor.
|
||||||
|
* @param string $type Happy or angry
|
||||||
|
* @param string $message The message to display
|
||||||
|
*/
|
||||||
|
public function __construct($type, $message) {
|
||||||
|
$this->message = $message;
|
||||||
|
switch ($type) {
|
||||||
|
case "happy":
|
||||||
|
$this->class = "settings-message-happy";
|
||||||
|
break;
|
||||||
|
case "angry":
|
||||||
|
$this->class = "settings-message-angry";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->class = "settings-message";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getClass() {
|
||||||
|
return $this->class;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMessage() {
|
||||||
|
return $this->message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the settings form the database.
|
||||||
|
* @return mixed Setting as an array.
|
||||||
|
*/
|
||||||
function getSettings() {
|
function getSettings() {
|
||||||
$stmt = $GLOBALS["db"]->prepare("
|
$stmt = $GLOBALS["db"]->prepare("
|
||||||
SELECT
|
SELECT
|
||||||
@@ -59,40 +96,28 @@ function updateSettings() {
|
|||||||
|
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
|
||||||
return array (
|
return new settingsMessage("happy", "Instellingen zijn opgeslagen.");
|
||||||
"type" => "settings-message-happy",
|
|
||||||
"message" => "Instellingen zijn opgeslagen."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePassword() {
|
function updatePassword() {
|
||||||
$user = getPasswordHash();
|
$user = getPasswordHash();
|
||||||
if (password_verify($_POST["password-old"].strtolower($user["username"]), $user["password"])) {
|
if (password_verify($_POST["password-old"], $user["password"])) {
|
||||||
if ($_POST["password-new"] == $_POST["password-confirm"] && (strlen($_POST["password-new"]) >= 8)) {
|
if ($_POST["password-new"] == $_POST["password-confirm"] && (strlen($_POST["password-new"]) >= 8)) {
|
||||||
if (changePassword($user)) {
|
if (changePassword()) {
|
||||||
return array ("type" => "settings-message-happy",
|
return new settingsMessage("happy", "Wachtwoord gewijzigd.");
|
||||||
"message" => "Wachtwoord gewijzigd.");
|
|
||||||
} else {
|
} else {
|
||||||
return array (
|
return new settingsMessage("angry", "Er is iets mis gegaan.");
|
||||||
"type" => "settings-message-angry",
|
|
||||||
"message" => "Er is iets mis gegaan.");
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return array (
|
return new settingsMessage("angry", "Wachtwoorden komen niet oveen.");
|
||||||
"type" => "settings-message-angry",
|
|
||||||
"message" => "Wachtwoorden komen niet oveeen."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return array(
|
return new settingsMessage("angry", "Oud wachtwoord niet correct.");
|
||||||
"type" => "settings-message-angry",
|
|
||||||
"message" => "Oud wachtwoord niet correct."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function changePassword($user) {
|
function changePassword() {
|
||||||
$stmt =$GLOBALS["db"]->prepare("
|
$stmt = $GLOBALS["db"]->prepare("
|
||||||
UPDATE
|
UPDATE
|
||||||
`user`
|
`user`
|
||||||
SET
|
SET
|
||||||
@@ -101,9 +126,62 @@ function changePassword($user) {
|
|||||||
`userID` = :userID
|
`userID` = :userID
|
||||||
");
|
");
|
||||||
|
|
||||||
$hashed_password = password_hash($_POST["password-new"].strtolower($user["username"]), PASSWORD_DEFAULT);
|
$hashed_password = password_hash($_POST["password-new"], PASSWORD_DEFAULT);
|
||||||
$stmt->bindParam(":new_password", $hashed_password);
|
$stmt->bindParam(":new_password", $hashed_password);
|
||||||
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
return $stmt->rowCount();
|
return $stmt->rowCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeEmail() {
|
||||||
|
|
||||||
|
if ($_POST["email"] == $_POST["email-confirm"]) {
|
||||||
|
$email = strtolower($_POST["email"]);
|
||||||
|
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||||
|
//check if email exists
|
||||||
|
if (emailIsAvailableInDatabase($email)) {
|
||||||
|
if (doChangeEmail($email)) {
|
||||||
|
return new settingsMessage("happy", "Emailadres is veranderd.");
|
||||||
|
} else {
|
||||||
|
return new settingsMessage("angry", "Er is iets mis gegaan.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return new settingsMessage("angry", "Emailadres bestaat al.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return new settingsMessage("angry", "Geef een geldig emailadres.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return new settingsMessage("angry", "Emailadressen komen niet overeen.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function emailIsAvailableInDatabase($email) {
|
||||||
|
$stmt = $GLOBALS["db"]->prepare("
|
||||||
|
SELECT
|
||||||
|
`email`
|
||||||
|
FROM
|
||||||
|
`user`
|
||||||
|
WHERE
|
||||||
|
`email` = :email
|
||||||
|
");
|
||||||
|
|
||||||
|
$stmt->bindParam(":email", $email);
|
||||||
|
$stmt->execute();
|
||||||
|
return !$stmt->rowCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
function doChangeEmail($email) {
|
||||||
|
$stmt = $GLOBALS["db"]->prepare("
|
||||||
|
UPDATE
|
||||||
|
`user`
|
||||||
|
SET
|
||||||
|
`email` = :email
|
||||||
|
WHERE
|
||||||
|
`userID` = :userID
|
||||||
|
");
|
||||||
|
$stmt->bindParam(":email", $email);
|
||||||
|
$stmt->bindParam(":userID", $_SESSION["userID"]);
|
||||||
|
$stmt->execute();
|
||||||
|
return $stmt->rowCount();
|
||||||
}
|
}
|
||||||
@@ -6,9 +6,9 @@ $settings = getSettings();
|
|||||||
<div class="settings">
|
<div class="settings">
|
||||||
<?php
|
<?php
|
||||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||||
echo "<div class='platform settings-message ${result["type"]}'>
|
echo "<div class='platform settings-message ". $result->getClass()."'>".
|
||||||
${result["message"]}
|
$result->getMessage().
|
||||||
</div>";
|
"</div>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<form class="settings-profile platform" method="post">
|
<form class="settings-profile platform" method="post">
|
||||||
|
|||||||
Reference in New Issue
Block a user