summaryrefslogtreecommitdiff
path: root/include/login_form.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-01-25 17:00:51 +0300
committerAndrew Dolgov <[email protected]>2020-01-25 17:00:51 +0300
commit076c5382fafcaf5ffd2bd41752e8e3c3b20e6af0 (patch)
treedf17a9dd740d8ae056a30411d78911bc8135b168 /include/login_form.php
parent88d4324e32eeacb49459bb7787f1545c2e85436d (diff)
login form: add workarounds for chrome password manager
Diffstat (limited to 'include/login_form.php')
-rwxr-xr-xinclude/login_form.php89
1 files changed, 52 insertions, 37 deletions
diff --git a/include/login_form.php b/include/login_form.php
index cf7f3e124..74f85f314 100755
--- a/include/login_form.php
+++ b/include/login_form.php
@@ -38,40 +38,50 @@
<body class="flat ttrss_utility ttrss_login css_loading">
<script type="text/javascript">
-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();
- });
-});
-
-function fetchProfiles() {
- xhrJson("public.php", { op: "getprofiles", login: dijit.byId("login").attr('value') },
- (reply) => {
- const profile = dijit.byId('profile');
-
- profile.removeOption(profile.getOptions());
-
- reply.each((p) => {
- profile
- .attr("disabled", false)
- .addOption(p);
- });
- });
-}
-
-function gotoRegForm() {
- window.location.href = "register.php";
- return false;
-}
-
-function bwLimitChange(elem) {
- Cookie.set("ttrss_bwlimit", elem.checked,
- <?php print SESSION_COOKIE_LIFETIME ?>);
-}
+ 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;
+
+ xhrJson("public.php", {op: "getprofiles", login: login},
+ (reply) => {
+ const profile = dijit.byId('profile');
+
+ profile.removeOption(profile.getOptions());
+
+ reply.each((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,
+ <?php print SESSION_COOKIE_LIFETIME ?>);
+ }
+ };
+
+
</script>
<?php $return = urlencode(make_self_url()) ?>
@@ -93,7 +103,9 @@ function bwLimitChange(elem) {
<fieldset>
<label><?php echo __("Login:") ?></label>
<input name="login" id="login" dojoType="dijit.form.TextBox" type="text"
- onchange="fetchProfiles()" onfocus="fetchProfiles()" onblur="fetchProfiles()"
+ onchange="UtilityApp.fetchProfiles()"
+ onfocus="UtilityApp.fetchProfiles()"
+ onblur="UtilityApp.fetchProfiles()"
required="1" value="<?php echo $_SESSION["fake_login"] ?>" />
</fieldset>
@@ -103,6 +115,9 @@ function bwLimitChange(elem) {
<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="<?php echo $_SESSION["fake_password"] ?>"/>
</fieldset>
<?php if (strpos(PLUGINS, "auth_internal") !== FALSE) { ?>
@@ -123,7 +138,7 @@ function bwLimitChange(elem) {
<label> </label>
<label id="bw_limit_label"><input dojoType="dijit.form.CheckBox" name="bw_limit" id="bw_limit"
- type="checkbox" onchange="bwLimitChange(this)">
+ type="checkbox" onchange="UtilityApp.bwLimitChange(this)">
<?php echo __("Use less traffic") ?></label>
</fieldset>
@@ -151,7 +166,7 @@ function bwLimitChange(elem) {
<button dojoType="dijit.form.Button" type="submit" class="alt-primary"><?php echo __('Log in') ?></button>
<?php if (defined('ENABLE_REGISTRATION') && ENABLE_REGISTRATION) { ?>
- <button onclick="return gotoRegForm()" dojoType="dijit.form.Button">
+ <button onclick="return UtilityApp.gotoRegForm()" dojoType="dijit.form.Button">
<?php echo __("Create new account") ?></button>
<?php } ?>
</fieldset>