|
|
|
@ -65,34 +65,63 @@ class Auth_Internal extends Auth_Base {
|
|
|
|
|
<head>
|
|
|
|
|
<title>Tiny Tiny RSS</title>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
|
|
|
</head>
|
|
|
|
|
<?= stylesheet_tag("themes/light.css") ?>
|
|
|
|
|
<body class="ttrss_utility otp">
|
|
|
|
|
<h1><?= __("Authentication") ?></h1>
|
|
|
|
|
<div class="content">
|
|
|
|
|
<form action="public.php?return=<?= $return ?>"
|
|
|
|
|
method="POST" class="otpform">
|
|
|
|
|
<input type="hidden" name="op" value="login">
|
|
|
|
|
<input type="hidden" name="login" value="<?= htmlspecialchars($login) ?>">
|
|
|
|
|
<input type="hidden" name="password" value="<?= htmlspecialchars($password) ?>">
|
|
|
|
|
<input type="hidden" name="bw_limit" value="<?= htmlspecialchars($_POST["bw_limit"] ?? "") ?>">
|
|
|
|
|
<input type="hidden" name="safe_mode" value="<?= htmlspecialchars($_POST["safe_mode"] ?? "") ?>">
|
|
|
|
|
<input type="hidden" name="remember_me" value="<?= htmlspecialchars($_POST["remember_me"] ?? "") ?>">
|
|
|
|
|
<input type="hidden" name="profile" value="<?= htmlspecialchars($_POST["profile"] ?? "") ?>">
|
|
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
|
<label><?= __("Please enter your one time password:") ?></label>
|
|
|
|
|
<input autocomplete="off" size="6" name="otp" value=""/>
|
|
|
|
|
<input type="submit" value="Continue"/>
|
|
|
|
|
</fieldset>
|
|
|
|
|
</form></div>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
document.forms[0].otp.focus();
|
|
|
|
|
</script>
|
|
|
|
|
<?php foreach (["lib/dojo/dojo.js",
|
|
|
|
|
"lib/dojo/tt-rss-layer.js",
|
|
|
|
|
"js/common.js",
|
|
|
|
|
"js/utility.js"] as $jsfile) {
|
|
|
|
|
echo javascript_tag($jsfile);
|
|
|
|
|
} ?>
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
|
|
|
body {
|
|
|
|
|
background : #303030;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.css_loading * {
|
|
|
|
|
display : none;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
require({cache:{}});
|
|
|
|
|
|
|
|
|
|
const UtilityApp = {
|
|
|
|
|
init: function() {
|
|
|
|
|
require(['dojo/parser', "dojo/ready", 'dijit/form/Button', 'dijit/form/Form',
|
|
|
|
|
'dijit/form/TextBox','dijit/form/ValidationTextBox'],function(parser, ready){
|
|
|
|
|
ready(function() {
|
|
|
|
|
parser.parse();
|
|
|
|
|
dijit.byId("otp").focus();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
</head>
|
|
|
|
|
<body class="flat ttrss_utility otp css_loading">
|
|
|
|
|
<h1><?= __("Authentication") ?></h1>
|
|
|
|
|
<div class="content">
|
|
|
|
|
<form dojoType="dijit.form.Form" action="public.php?return=<?= $return ?>" method="post" class="otpform">
|
|
|
|
|
|
|
|
|
|
<?php foreach (["login", "password", "bw_limit", "safe_mode", "remember_me", "profile"] as $key) {
|
|
|
|
|
print \Controls\hidden_tag($key, $_POST[$key] ?? "");
|
|
|
|
|
} ?>
|
|
|
|
|
|
|
|
|
|
<?= \Controls\hidden_tag("op", "login") ?>
|
|
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
|
<label><?= __("Please enter your one time password:") ?></label>
|
|
|
|
|
<input id="otp" dojoType="dijit.form.ValidationTextBox" required="1" autocomplete="off" size="6" name="otp" value=""/>
|
|
|
|
|
<?= \Controls\submit_tag(__("Continue")) ?>
|
|
|
|
|
</fieldset>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
<?php
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|