summaryrefslogtreecommitdiffstats
path: root/modules/edit.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/edit.inc.php')
-rw-r--r--modules/edit.inc.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/edit.inc.php b/modules/edit.inc.php
new file mode 100644
index 0000000..e3770ce
--- /dev/null
+++ b/modules/edit.inc.php
@@ -0,0 +1,41 @@
+<?php
+
+class Page_Edit extends Page
+{
+
+ public function doPreprocess()
+ {
+ if (!User::load()) {
+ Message::addError('Sie sind nicht angemeldet');
+ Util::redirect('?do=Main');
+ }
+ // See which attributes we are allowed to edit
+ $shib = User::isShibbolethAuth();
+ $pw1 = Request::post('pass1');
+ $pw2 = Request::post('pass2');
+ $mail = Request::post('email');
+ if ((!empty($pw1) || !empty($pw2)) && !$shib) {
+ if ($pw1 !== $pw2) {
+ Message::addError('Ihr Passwort wurde nicht verändert, da die Passwortwiederholung nicht mit dem Passwort übereinstimmt');
+ } else if (mb_strlen($pw1) < 3) {
+ Message::addError('Ihr Passwort ist zu kurz');
+ } else if (!User::updatePassword($pw1)) {
+ Message::addError('Datenbankfehler beim Aktualisieren des Passworts');
+ } else {
+ Message::addSuccess('Ihr Passwort wurde aktualisiert und ist ab sofort gültig');
+ }
+ }
+ if ($mail !== false && $mail !== User::getMail()) {
+ $mail = trim($mail);
+ if (!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}/i', $mail)) {
+ Message::addError('Ihre e-Mail-Adresse wurde nicht aktualisiert, da Sie ein ungültiges Format hat');
+ } else {
+ User::updateMail($mail);
+ Message::addSuccess('Ihr e-Mail-Adresse wurde aktualisiert');
+ }
+ }
+ Util::redirect('?do=Main');
+ }
+
+}
+