<?php
require_once('inc/base.php');
require_role(ROLE_SYSTEMUSER);
require_once('googleauth.php');
$username = urldecode($_REQUEST['username']);
$oldpw = $_REQUEST['oldpw'];
$newpw = $_REQUEST['newpw'];
if (! validate_password($username, $oldpw)) {
system_failure('Ihr bestehendes Mailbox-Passwort hat nicht gestimmt.');
}
store_webmail_password($username, $oldpw, $newpw);
$secret = generate_secret($username);
$section='googleauth_overview';
title("Sicherer Zugang zum Webmailer");
output('<p>Bitte geben Sie den folgenden Initialisierungs-Code in Ihre Google-Authenticator-Software ein oder Scannen Sie den QR-Code mit der Google-Authenticator-App Ihres Mobiltelefons.</p>');
$qrcode_image = generate_qrcode_image($secret);
output('<h4>Ihr Initialisierungs-Code</h4><p style="font-size: 120%;">'.$secret.'</p><p><img src="data:image/png;base64,'.base64_encode($qrcode_image).'" /></p>');
output('<h3>Testen Sie es...</h3><p>Nachdem Sie den Startwert in Ihren Google-Authenticator eingegeben haben bzw. den QRCode eingescannt haben, erhalten Sie umgehend einen Zugangscode. Geben Sie diesen hier ein um die Funktion zu testen:</p>');
$form = '<p>Ihr Webmail-Benutzername: <input type="text" name="username" value="'.filter_input_general($username).'" /></p>
<p>Ihr neues Webmail-Passwort: <input type="password" name="webmailpass" /></p>
<p>Der aktuellste Einmal-Code von Google-Authenticator: <input type="text" name="ga_code" /></p>
<p><input type="submit" value="Prüfen!" /></p>';
output(html_form('googleauth_test', 'test', '', $form));