diff --git a/html/include/fusiondirectory.js b/html/include/fusiondirectory.js index 09534f53f78d1537f83c60a8a0c3b8c728a34fb4..fa2e300c2f832ef020aa9774210e1ab3c9bf96a7 100644 --- a/html/include/fusiondirectory.js +++ b/html/include/fusiondirectory.js @@ -22,8 +22,6 @@ Event.observe(window, 'resize', resizeHandler); Event.observe(window, 'load', resizeHandler); Event.observe(window, 'load', initProgressPie); -Event.observe(window, 'keypress', keyHandler); - /* Ask before switching a plugin with this function */ function question(text, url) @@ -100,80 +98,6 @@ function acl_toggle_all(regex) } } - -/* Global key handler to estimate which element gets the next focus if enter is pressed */ -function keyHandler(DnEvents) { - // determines whether Netscape or Internet Explorer - k = (Prototype.Browser.Gecko) ? DnEvents.keyCode : window.event.keyCode; - if (k == 13) { // enter key pressed - if(typeof(nextfield)!='undefined') { - if(nextfield == 'login') { - return true; // submit, we finished all fields - } else { // we are not done yet, send focus to next box - eval('document.mainform.' + nextfield + '.focus()'); - return false; - } - } else { - if(Prototype.Browser.Gecko) { - if(DnEvents.target.type == 'textarea') { - return true; - } else if (DnEvents.target.type != 'submit') { - // TAB - var thisfield = document.getElementById(DnEvents.target.id); - for (i = 0; i < document.forms[0].elements.length; i++) { - if(document.forms[0].elements[i].id==thisfield.id) { - // Last form element on page? - if(i!=document.forms[0].elements.length-1) { - document.forms[0].elements[i+1].focus(); - } - } - } - return false; - } else { - return true; - } - // Check for konqueror - } else if(document.clientWidth) { - // do nothing ATM - } else { - if(window.event.srcElement.type == 'textarea') { - return true; - } else if (window.event.srcElement.type != 'submit') { - // TAB - var thisfield = document.getElementById(window.event.srcElement.id); - for (i = 0; i < document.forms[0].elements.length; i++) { - if(document.forms[0].elements[i].id==thisfield.id) { - // Last form element on page? - if(i!=document.forms[0].elements.length-1) { - document.forms[0].elements[i+1].focus(); - } - } - } - return false; - } else { - return true; - } - } - } - } else if (k==9) { - // Tab key pressed - if(Prototype.Browser.Gecko) { - if(DnEvents.target.type == 'textarea') { - document.getElementById(DnEvents.target.id).value+="\t"; - return false; - } - // Check for konqueror - } else if(document.clientWidth) { - // do nothing ATM - } else { - if(window.event.srcElement.type == 'textarea') { - document.getElementById(window.event.srcElement.id).value+="\t"; - return false; - } - } - } -} - function inArray(p_val, array) { var l = array.length; for (var i = 0; i < l; i++) { @@ -232,14 +156,6 @@ function changeTripleSelectState_2nd_neg(firstTriggerField, secondTriggerField, } } -// work together to analyze keystrokes -if (Prototype.Browser.Gecko){ - window.onkeypress= keyHandler; -} else { - document.onkeydown= keyHandler; -} - - function popup(target, name) { var mypopup= window.open( @@ -579,7 +495,7 @@ function setProgressPie(context, percent) if (percent > 75) { r = "ED" g = "15" - b = "15"; + b = "15"; } context.strokeStyle = "#" + r + g + b diff --git a/html/index.php b/html/index.php index 3847636362f4c34aea7da22cf1215012899c97b0..670368ffe6a5c7633f4e0dd29de3ce9a1a1efd1b 100644 --- a/html/index.php +++ b/html/index.php @@ -183,7 +183,7 @@ clean_smarty_compile_dir($smarty->compile_dir); initLanguage(); -$smarty->assign ('nextfield', 'username'); +$smarty->assign ('focusfield', 'username'); if (isset($_POST['server'])) { $server = $_POST['server']; @@ -223,7 +223,7 @@ if (isset($_REQUEST['message'])) { /* Class with a function for each login step * Each function can return a string to display an LDAP error, or FALSE to redirect to login - * In this case it can set global $message and assign nextfield in smarty before hand */ + * In this case it can set global $message and assign focusfield in smarty before hand */ class Index { static protected $username; static protected $password; @@ -279,7 +279,7 @@ class Index { return FALSE; } elseif (mb_strlen(self::$password, 'UTF-8') == 0) { $message = _('Please specify your password!'); - $smarty->assign ('nextfield', 'password'); + $smarty->assign ('focusfield', 'password'); return FALSE; } return TRUE; @@ -298,7 +298,7 @@ class Index { logging::log('security', 'login', '', array(), 'Authentication failed for user "'.self::$username.'"'); } $message = _('Please check the username/password combination.'); - $smarty->assign ('nextfield', 'password'); + $smarty->assign ('focusfield', 'password'); return FALSE; } return TRUE; @@ -328,7 +328,7 @@ class Index { if ($expired == POSIX_ACCOUNT_EXPIRED) { logging::log('security', 'login', '', array(), 'Account for user "'.self::$username.'" has expired'); $message = _('Account locked. Please contact your system administrator!'); - $smarty->assign ('nextfield', 'password'); + $smarty->assign ('focusfield', 'username'); return FALSE; } } diff --git a/ihtml/themes/breezy/login.tpl b/ihtml/themes/breezy/login.tpl index aadc3769b236cbe211513218fef8d22fc1d88fad..295813b2a26ffcb7e6f9c08173ff4894a9c12ab5 100644 --- a/ihtml/themes/breezy/login.tpl +++ b/ihtml/themes/breezy/login.tpl @@ -25,20 +25,22 @@ </div> <div> - <label for="username"><img class="center" src="{$personal_img|escape}" alt="{t}Username{/t}" title="{t}Username{/t}"/> </label> - <input type="text" name="username" id="username" maxlength="40" value="{$username|escape}" - title="{t}Username{/t}" onFocus="nextfield= 'password';" /> + <label for="username"> + <img class="center" src="{$personal_img|escape}" alt="{t}Username{/t}" title="{t}Username{/t}"/> + </label> + <input type="text" name="username" id="username" maxlength="40" value="{$username|escape}" title="{t}Username{/t}" /> <br /> <br /> - <label for="password"><img class="center" src="{$password_img|escape}" alt="{t}Password{/t}" title="{t}Password{/t}" /> </label> - <input type="password" name="password" id="password" maxlength="40" value="" - title="{t}Password{/t}" onFocus="nextfield= 'login';" /> + <label for="password"> + <img class="center" src="{$password_img|escape}" alt="{t}Password{/t}" title="{t}Password{/t}" /> + </label> + <input type="password" name="password" id="password" maxlength="40" value="" title="{t}Password{/t}"/> <br /> <a href="recovery.php">{t}I forgot my password{/t}</a> </div> <div> <img class="center" src="{$directory_img|escape}" alt="{t}Directory{/t}" title="{t}Directory{/t}" /> - <select name="server" title="{t}Directory{/t}" onchange="javascript:document.mainform.submit();"> + <select name="server" title="{t}Directory{/t}" onchange="javascript:document.loginform.submit();"> {html_options options=$server_options selected=$server_id} </select> </div> @@ -58,14 +60,12 @@ </div> <div id="window_footer" class="plugbottom"> <div> - {$message} + <!-- Display error message on demand --> + {$message} </div> <div> - <!-- Display error message on demand --> - <input type="submit" name="login" value="{t}Sign in{/t}" - title="{t}Click here to log in{/t}" onFocus="nextfield='login';" /> + <input type="submit" name="login" value="{t}Sign in{/t}" title="{t}Click here to log in{/t}"/> <input type="hidden" name="javascript" value="false" /> - <input type="hidden" name="login" value="{t}Sign in{/t}" /> </div> </div> @@ -79,8 +79,7 @@ <script type="text/javascript"> <!-- enable_keyPress = false; - nextfield= "{$nextfield}"; - focus_field("{$nextfield}"); + focus_field("{$focusfield}"); next_msg_dialog(); --> </script> diff --git a/ihtml/themes/breezy/recovery.tpl b/ihtml/themes/breezy/recovery.tpl index a28b3a26a9bb3e7db0657bd74e378fea8e9b447f..9f3b5472ebb376e770d7922617f76370313dbfba 100644 --- a/ihtml/themes/breezy/recovery.tpl +++ b/ihtml/themes/breezy/recovery.tpl @@ -59,11 +59,11 @@ </tr> <tr> <td><label for="new_password">{t}New password{/t}</label></td> - <td><input type="password" name="new_password" id="new_password" value="" title="{t}New password{/t}" onFocus="nextfield= 'new_password_repeated';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td> + <td><input type="password" name="new_password" id="new_password" value="" title="{t}New password{/t}" onkeyup="testPasswordCss(document.getElementById('new_password').value);" /></td> </tr> <tr> <td><label for="new_password_repeated">{t}New password repeated{/t}</label></td> - <td><input type="password" name="new_password_repeated" id="new_password_repeated" maxlength="40" value="" title="{t}New password repeated{/t}" onFocus="nextfield= 'apply';"></td> + <td><input type="password" name="new_password_repeated" id="new_password_repeated" maxlength="40" value="" title="{t}New password repeated{/t}" /></td> </tr> <tr> <td>{t}Password strength{/t}</td>