Marijn button #99

Merged
11166932 merged 152 commits from marijn-button into master 2017-01-23 13:25:08 +01:00
2 changed files with 58 additions and 5 deletions
Showing only changes of commit d27538a164 - Show all commits

View File

@@ -26,7 +26,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$result = updatePassword(); $result = updatePassword();
break; break;
case "email": case "email":
$result = $notImplemented; $result = changeEmail();
break; break;
case "picture": case "picture":
$result = $notImplemented; $result = $notImplemented;

View File

@@ -106,13 +106,13 @@ function updatePassword() {
if (changePassword()) { if (changePassword()) {
return new settingsMessage("happy", "Wachtwoord gewijzigd."); return new settingsMessage("happy", "Wachtwoord gewijzigd.");
} else { } else {
return new settingsMessage("settings-message-angry", "Er is iets mis gegaan."); return new settingsMessage("angry", "Er is iets mis gegaan.");
} }
} else { } else {
return new settingsMessage("settings-message-angry", "Wachtwoorden komen niet oveeen."); return new settingsMessage("angry", "Wachtwoorden komen niet oveen.");
} }
} else { } else {
return new settingsMessage("settings-message-angry", "Oud wachtwoord niet correct."); return new settingsMessage("angry", "Oud wachtwoord niet correct.");
} }
} }
@@ -132,3 +132,56 @@ function changePassword() {
$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();
}