public function main() { global $userdb; ob_start(); $h = Hash::getByHash(stripslashes($_GET["v"])); list($uid, $mail) = explode("", $h->getData()); if (!$h->isValid($this->options["mail_limit"], $hash)) { echo "<p>Dieser Bestätigungslink ist leider ungültig. Vielleicht ist er abgelaufen?</p>"; } else { if ($userdb->isVerified($uid, $mail)) { echo "<p>Dieser Account wurde bereits verifiziert.</p>"; } else { $user = $userdb->getUser($uid); if ($user->verifyMailAddress($mail)) { echo "<p>Die E-Mail Adresse wurde erfolgreich verifiziert.</p>"; } else { echo "<p>Die E-Mail Adresse konnte nicht verifiziert werden. Möglicherweise wurde diese nach Versenden der Bestätigungsmail geändert. Bitte lassen Sie sich die Bestätigungsmail erneut senden.</p>"; } } } $content = ob_get_contents(); ob_end_clean(); return $content; }
public function changePassword() { global $smarty, $userdb, $user; $v = stripslashes($_REQUEST["v"]); $smarty->assign("v", $v); $hash = Hash::getByHash($v); $uid = $hash->getData(); if (isset($_REQUEST["pass"])) { $smarty->assign("uid", $uid); if (!$hash->isValid($this->options["mail_limit"])) { echo "<p>Dieser Passwort-Vergessen-Link ist leider ungültig. Vermutlich ist er abgelaufen.</p>"; } else { if ($_POST["pass"] != $_POST["pass_repeat"]) { echo "<p>Die beiden Passwörter stimmen nicht überein.</b>"; $smarty->display("lostpw.tpl"); } else { if (strlen($_POST["pass"]) < 6) { echo "<p>Das Passwort muss mindestens 6 Zeichen lang sein."; $smarty->display("lostpw.tpl"); } else { $user = $userdb->getUser($uid); $user->changePassword($_POST["pass"]); $user->save(); header("Location: index.php"); return; } } } } else { if (!$hash->isValid($this->options["mail_limit"])) { echo "<p>Dieser Passwort-Vergessen-Link ist leider ungültig. Vermutlich ist er abgelaufen.</p>"; } else { return $smarty->fetch("lostpw.tpl"); } } }