ttrss/include/login_form.php

195 lines
5.4 KiB
PHP
Raw Normal View History

<?php startup_gettext(); ?>
<!DOCTYPE html>
2007-03-01 09:43:54 +00:00
<html>
<head>
<title>Tiny Tiny RSS : Login</title>
<link rel="shortcut icon" type="image/png" href="images/favicon.png">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
2021-02-18 19:23:06 +00:00
foreach (array("lib/dojo/dojo.js",
"lib/dojo/tt-rss-layer.js",
2020-01-23 10:14:47 +00:00
"js/common.js",
"js/utility.js",
"errors.php?mode=js") as $jsfile) {
echo javascript_tag($jsfile);
} ?>
2021-02-22 19:35:27 +00:00
<?php if (theme_exists(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET))) {
echo stylesheet_tag(get_theme_path(Config::get(Config::LOCAL_OVERRIDE_STYLESHEET)));
} ?>
2020-01-23 10:14:47 +00:00
<style type="text/css">
@media (prefers-color-scheme: dark) {
body {
background : #303030;
}
}
body.css_loading * {
display : none;
}
</style>
2012-09-10 16:15:45 +00:00
<script type="text/javascript">
require({cache:{}});
2012-09-10 16:15:45 +00:00
</script>
</head>
2020-01-23 10:14:47 +00:00
<body class="flat ttrss_utility ttrss_login css_loading">
2012-09-10 16:15:45 +00:00
<script type="text/javascript">
const UtilityApp = {
previousLogin: "",
init: function() { /* invoked by UtilityJS */
require(['dojo/parser', "dojo/ready", 'dijit/form/Button','dijit/form/CheckBox', 'dijit/form/Form',
'dijit/form/Select','dijit/form/TextBox','dijit/form/ValidationTextBox'],function(parser, ready){
ready(function() {
parser.parse();
dijit.byId("bw_limit").attr("checked", Cookie.get("ttrss_bwlimit") == 'true');
dijit.byId("login").focus();
});
});
},
fetchProfiles: function() {
const login = dijit.byId("login").attr('value');
if (login && login != this.previousLogin) {
this.previousLogin = login;
xhr.json("public.php", {op: "getprofiles", login: login},
(reply) => {
const profile = dijit.byId('profile');
profile.removeOption(profile.getOptions());
2021-02-18 19:23:06 +00:00
reply.forEach((p) => {
profile
.attr("disabled", false)
.addOption(p);
});
});
}
},
gotoRegForm: function() {
window.location.href = "register.php";
return false;
},
bwLimitChange: function(elem) {
Cookie.set("ttrss_bwlimit", elem.checked,
2021-02-22 18:47:48 +00:00
<?php print Config::get(Config::SESSION_COOKIE_LIFETIME) ?>);
}
};
2012-09-10 16:15:45 +00:00
</script>
<?php $return = urlencode(make_self_url()) ?>
2007-08-20 05:10:03 +00:00
2019-02-19 11:27:53 +00:00
<div class="container">
2007-08-20 05:10:03 +00:00
<h1><?= "Authentication" ?></h1>
2019-02-19 16:46:09 +00:00
<div class="content">
<form action="public.php?return=<?= $return ?>"
dojoType="dijit.form.Form" method="POST">
2007-08-20 05:10:03 +00:00
<?= \Controls\hidden_tag("op", "login"); ?>
<?php if (!empty($_SESSION["login_error_msg"])) { ?>
<?= format_error($_SESSION["login_error_msg"]) ?>
<?php $_SESSION["login_error_msg"] = ""; ?>
<?php } ?>
2007-03-01 09:43:54 +00:00
<fieldset>
<label><?= __("Login:") ?></label>
<input name="login" id="login" dojoType="dijit.form.TextBox" type="text"
onchange="UtilityApp.fetchProfiles()"
onfocus="UtilityApp.fetchProfiles()"
onblur="UtilityApp.fetchProfiles()"
required="1" value="<?= $_SESSION["fake_login"] ?? "" ?>" />
</fieldset>
<fieldset>
<label><?= __("Password:") ?></label>
<input type="password" name="password" required="1"
dojoType="dijit.form.TextBox"
class="input input-text"
onchange="UtilityApp.fetchProfiles()"
onfocus="UtilityApp.fetchProfiles()"
onblur="UtilityApp.fetchProfiles()"
value="<?= $_SESSION["fake_password"] ?? "" ?>"/>
</fieldset>
2021-02-22 18:47:48 +00:00
<?php if (strpos(Config::get(Config::PLUGINS), "auth_internal") !== false) { ?>
2019-11-13 08:52:25 +00:00
<fieldset class="align-right">
<a href="public.php?op=forgotpass"><?= __("I forgot my password") ?></a>
2019-11-13 08:52:25 +00:00
</fieldset>
<?php } ?>
2012-09-10 16:15:45 +00:00
<fieldset>
<label><?= __("Profile:") ?></label>
<select disabled='disabled' name="profile" id="profile" dojoType='dijit.form.Select'>
<option><?= __("Default profile") ?></option>
</select>
</fieldset>
2012-09-10 16:15:45 +00:00
<fieldset class="narrow">
<label> </label>
2021-02-16 12:05:32 +00:00
<label id="bw_limit_label">
<?= \Controls\checkbox_tag("bw_limit", false, "",
["onchange" => 'UtilityApp.bwLimitChange(this)'], 'bw_limit') ?>
<?= __("Use less traffic") ?></label>
</fieldset>
<div dojoType="dijit.Tooltip" connectId="bw_limit_label" position="below" style="display:none">
<?= __("Does not display images in articles, reduces automatic refreshes."); ?>
</div>
<fieldset class="narrow">
<label> </label>
2021-02-16 12:05:32 +00:00
<label id="safe_mode_label">
<?= \Controls\checkbox_tag("safe_mode") ?>
<?= __("Safe mode") ?>
</label>
</fieldset>
<div dojoType="dijit.Tooltip" connectId="safe_mode_label" position="below" style="display:none">
<?= __("Uses default theme and prevents all plugins from loading."); ?>
</div>
2021-02-22 18:47:48 +00:00
<?php if (Config::get(Config::SESSION_COOKIE_LIFETIME) > 0) { ?>
2019-02-19 11:27:53 +00:00
<fieldset class="narrow">
<label> </label>
<label>
2021-02-16 12:05:32 +00:00
<?= \Controls\checkbox_tag("remember_me") ?>
<?= __("Remember me") ?>
</label>
2019-02-19 11:27:53 +00:00
</fieldset>
2012-09-10 16:15:45 +00:00
<?php } ?>
2013-03-28 05:48:58 +00:00
<hr/>
2013-03-28 05:48:58 +00:00
<fieldset class="align-right">
<label> </label>
2021-02-16 12:05:32 +00:00
<?= \Controls\submit_tag(__('Log in')) ?>
</fieldset>
2007-03-01 09:43:54 +00:00
</form>
2019-02-19 11:27:53 +00:00
</div>
<div class="footer">
<a href="https://tt-rss.org/">Tiny Tiny RSS</a>
&copy; 2005&ndash;<?= date('Y') ?> <a href="https://fakecake.org/">Andrew Dolgov</a>
2019-02-19 11:27:53 +00:00
</div>
</div>
2007-03-01 09:43:54 +00:00
2019-02-19 11:27:53 +00:00
</body>
</html>