array('required' => true, 'regex' => '.{1,1000}'), 'newPassword' => array('required' => true, 'regex' => '.{1,1000}'), 'newPasswordRepeat' => array('required' => true, 'regex' => '.{1,1000}') )); if($validator->isValid($_POST)) { if($_POST['newPasswordRepeat'] == $_POST['newPassword']) { if(password_verify($_POST['oldPassword'], $_SESSION['PASSWORD'])) { $hash = password_hash($NewPassword, PASSWORD_ARGON2ID); $statement = $RUNTIME['PDO']->prepare('UPDATE auth SET passwordHash = :PasswordHash WHERE UUID = :PrincipalID'); $statement->execute(['PasswordHash' => $hash, 'PrincipalID' => $_SESSION['UUID']]); $_SESSION['PASSWORD'] = $hash; $_SESSION['pw_info'] = 'Neues Passwort gespeichert.'; } else { $_SESION['pw_info'] = 'Das alte Passwort ist nicht richtig!'; } } else { $_SESSION['pw_info'] = 'Die neuen Passwörter stimmen nicht überein!'; } } else { $_SESSION['pw_info'] = 'Bitte fülle das Formular vollständig aus.'; } header('Location: index.php?page=password'); die(); } $HTML->setHTMLTitle("Passwort ändern"); $HTML->importSeitenInhalt("profile.html"); include 'app/OpenSim.php'; $opensim = new OpenSim(); $PartnerName = ""; $PartnerUUID = $opensim->getPartner($_SESSION['UUID']); if($PartnerUUID != null)$PartnerName = $opensim->getUserName($PartnerUUID); $HTML->ReplaceSeitenInhalt("%%offlineIMSTATE%%", ' '); $HTML->ReplaceSeitenInhalt("%%firstname%%", htmlspecialchars($_SESSION['FIRSTNAME'])); $HTML->ReplaceSeitenInhalt("%%lastname%%", htmlspecialchars($_SESSION['LASTNAME'])); $HTML->ReplaceSeitenInhalt("%%partner%%", htmlspecialchars($PartnerName)); $HTML->ReplaceSeitenInhalt("%%email%%", htmlspecialchars($opensim->getUserMail($_SESSION['UUID']))); $HTML->ReplaceSeitenInhalt("%%listAllResidentsAsJSArray%%", ""); $pwInfo = ''; if(isset($_SESSION['pw_info'])) { $pwInfo = $_SESSION['pw_info']; unset($_SESSION['pw_info']); } $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", $pwInfo); $HTML->build(); echo $HTML->ausgabe(); ?>