]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Prefill the login field when the authentication has failed 556/head
authorArthurHoaro <arthur@hoa.ro>
Fri, 6 May 2016 18:03:10 +0000 (20:03 +0200)
committerArthurHoaro <arthur@hoa.ro>
Fri, 6 May 2016 18:03:10 +0000 (20:03 +0200)
index.php
tpl/loginform.html

index 47bae6e87a943a1b26d5af2d1558053e2909f2fb..dd876a660528d4f5e98b728fd4011e058db8d23c 100644 (file)
--- a/index.php
+++ b/index.php
@@ -495,9 +495,9 @@ if (isset($_POST['login']))
     else
     {
         ban_loginFailed();
-        $redir = '';
+        $redir = '&username='. $_POST['login'];
         if (isset($_GET['post'])) {
-            $redir = '?post=' . urlencode($_GET['post']);
+            $redir .= '&post=' . urlencode($_GET['post']);
             foreach (array('description', 'source', 'title') as $param) {
                 if (!empty($_GET[$param])) {
                     $redir .= '&' . $param . '=' . urlencode($_GET[$param]);
@@ -943,6 +943,9 @@ function renderPage()
         if ($GLOBALS['config']['OPEN_SHAARLI']) { header('Location: ?'); exit; }  // No need to login for open Shaarli
         $token=''; if (ban_canLogin()) $token=getToken(); // Do not waste token generation if not useful.
         $PAGE->assign('token',$token);
+        if (isset($_GET['username'])) {
+            $PAGE->assign('username', escape($_GET['username']));
+        }
         $PAGE->assign('returnurl',(isset($_SERVER['HTTP_REFERER']) ? escape($_SERVER['HTTP_REFERER']):''));
         $PAGE->renderPage('loginform');
         exit;
index f0b45df28be63fa23e365a570e4b1c9ad6c976ee..a49b42d3c0de71aa1d699c05dd05abe7d981c78d 100644 (file)
@@ -2,7 +2,13 @@
 <html>
 <head>{include="includes"}</head>
 <body
-{if="ban_canLogin()"} onload="document.loginform.login.focus();"{/if}>
+{if="ban_canLogin()"}
+  {if="empty($username)"}
+    onload="document.loginform.login.focus();"
+  {else}
+    onload="document.loginform.password.focus();"
+  {/if}
+{/if}>
 <div id="pageheader">
   {include="page.header"}
 
       You have been banned from login after too many failed attempts. Try later.
     {else}
       <form method="post" name="loginform">
-        <label for="login">Login: <input type="text" id="login" name="login" tabindex="1"></label>
-        <label for="password">Password: <input type="password" id="password" name="password" tabindex="2"></label>
+        <label for="login">Login: <input type="text" id="login" name="login" tabindex="1"
+           {if="!empty($username)"}value="{$username}"{/if}>
+        </label>
+        <label for="password">Password: <input type="password" id="password" name="password" tabindex="2">
+        </label>
         <input type="submit" value="Login" class="bigbutton" tabindex="4">
         <label for="longlastingsession">
           <input type="checkbox" name="longlastingsession" id="longlastingsession" tabindex="3">