diff --git a/app/class/UserManager.php b/app/class/UserManager.php index 3ea2ff8..4211ce1 100644 --- a/app/class/UserManager.php +++ b/app/class/UserManager.php @@ -29,7 +29,7 @@ class UserManager setcookie ("rememberMe", $this->setEncryptedCookie($user['username']), time () + (30 * 24 * 60 * 60 * 1000), BASEDIR, $_SERVER['HTTP_HOST'], 1); } $_SESSION['user']['id'] = $user['user_id']; - $page = "home"; + $page = ""; if ($user["startPage"] == 1) { $page = "dashboard"; } diff --git a/app/controls/login.php b/app/controls/login.php index 57d306d..db4c325 100644 --- a/app/controls/login.php +++ b/app/controls/login.php @@ -11,10 +11,17 @@ if ( $ota = false; $userName = $_POST['username']; $userPassword = $_POST['password']; + $rememberMe = (isset ($_POST['remember']) ? $_POST['remember'] : ""); $ota = $userManager->haveOtaEnabled($userName); + if ($ota == "") { + $landingPage = $userManager->login($userName, $userPassword, $rememberMe); + header('Location: ' . BASEDIR . $landingPage); + die(); + } $_SESSION['USERNAME'] = $userName; $_SESSION['PASSWORD'] = $userPassword; + $_SESSION['REMEMBER'] = $rememberMe; $_SESSION['OTA'] = $ota; } else if ( isset($_POST['otaCode']) && @@ -28,10 +35,11 @@ if ( $ota = $_SESSION['OTA']; $userName = $_SESSION['USERNAME']; $userPassword = $_SESSION['PASSWORD']; + $rememberMe = $_SESSION['REMEMBER']; unset($_SESSION['OTA']); $checkResult = $ga->verifyCode($otaSecret, $otaCode, 6); // 2 = 2*30sec clock tolerance if ($checkResult) { - $landingPage = $userManager->login($userName, $userPassword); + $landingPage = $userManager->login($userName, $userPassword, $rememberMe); header('Location: ' . BASEDIR . $landingPage); echo 'OK'; } else { diff --git a/app/controls/settings.php b/app/controls/settings.php new file mode 100644 index 0000000..dcda809 --- /dev/null +++ b/app/controls/settings.php @@ -0,0 +1,17 @@ +
-

+

echo('t_pageAfterLogIn') ?>

@@ -61,27 +61,27 @@
echo('l_oldPassword') ?>:
- +
echo('l_newPassword') ?>:
- +
echo('l_newPassword') ?>:
- +
-
+

- +
- -
+ +

echo('t_createuser') ?>

@@ -104,20 +104,20 @@
echo('l_userName') ?>:
- +
echo('l_password') ?>:
- +
-
+
- - + + getUsers(); $template->prepare('users', $users); + if ($userManager->getUserData('ota') == ''){ + $ga = new PHPGangsta_GoogleAuthenticator(); + $secret = $ga->createSecret(); + $qrCodeUrl = $ga->getQRCodeGoogleUrl('SmartHome', $secret); + $oneCode = $ga->getCode($otaSecret); + $template->prepare('qrUrl', $qrCodeUrl); + $template->prepare('otaSecret', $otaSecret); + $template->prepare('otacode', $oneCode); + + // echo "Secret is: ".$secret."\n\n"; + // echo "Google Charts URL for the QR-Code: ".$qrCodeUrl."\n\n"; + // echo "Checking Code '$oneCode' and Secret '$otaSecret':\n"; + } + $template->render(); }