setHTMLTitle("Passwort ändern"); $HTML->importSeitenInhalt("pages/HTML/profile.html"); if(isset($_REQUEST['oldPassword']) || @$_REQUEST['oldPassword'] != "") { $OLDPassword = trim($_REQUEST['oldPassword']); if($OLDPassword != "") { if(password_verify($OLDPassword, $_SESSION['PASSWORD'])) { if(isset($_REQUEST['newPassword']) && $_REQUEST['newPassword'] != "") { $NewPassword = trim($_REQUEST['newPassword']); if($NewPassword != "") { if(isset($_REQUEST['newPasswordRepeate']) || @$_REQUEST['newPasswordRepeate'] != "") { $NewPasswordRepeate = trim($_REQUEST['newPasswordRepeate']); if($NewPasswordRepeate != "") { if($NewPasswordRepeate == $NewPassword) { $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['pwChanged'] = true; header('Location: index.php?page=password'); die(); }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Passwörter stimmen nicht überein!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Bitte gib das Passwort zur bestätigung noch einmal ein!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Bitte gib das Passwort zur bestätigung noch einmal ein!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Bitte gebe ein neues Passwort ein!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Bitte gebe ein neues Passwort ein!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Das alte Passwort ist nicht richtig!'); } }else{ $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", 'Gebe bitte dein Passwort ein.'); } } $PartnerName = ""; $PartnerUUID = $RUNTIME['OPENSIM']->getPartner($_SESSION['UUID']); if($PartnerUUID != null)$PartnerName = $RUNTIME['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($RUNTIME['OPENSIM']->getUserMail($_SESSION['UUID']))); $HTML->ReplaceSeitenInhalt("%%listAllResidentsAsJSArray%%", ""); $pwChanged = false; if(isset($_SESSION['pwChanged'])) { $pwChanged = true; unset($_SESSION['pwChanged']); } $HTML->ReplaceSeitenInhalt("%%INFOMESSAGE%%", $pwChanged ? 'Neues Passwort gespeichert.' : ' '); $HTML->build(); echo $HTML->ausgabe(); ?>