summaryrefslogtreecommitdiffstats
path: root/modules/edit.inc.php
blob: e3770ce63215003235ec8635468750ee60b40cb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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');
	}

}