From: <sy...@us...> - 2010-07-22 19:24:11
|
Revision: 28103 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=28103&view=rev Author: sylvieg Date: 2010-07-22 19:24:05 +0000 (Thu, 22 Jul 2010) Log Message: ----------- [FIX]login: instead of the error page - display the login box with an error - that is more friendly than go back to the page.. Modified Paths: -------------- trunk/lib/userslib.php trunk/templates/modules/mod-login_box.tpl trunk/tiki-login.php Modified: trunk/lib/userslib.php =================================================================== --- trunk/lib/userslib.php 2010-07-22 15:43:55 UTC (rev 28102) +++ trunk/lib/userslib.php 2010-07-22 19:24:05 UTC (rev 28103) @@ -355,7 +355,7 @@ $shib_skip_admin = ($prefs['shib_skip_admin'] == 'y'); if ( strlen($pass) < $prefs['min_pass_length'] and ($user === 'admin' or (!$auth_cas and !$auth_shib )) ) { - return false; + return array(false, $user, $this->user_exists($user)?PASSWORD_INCORRECT:USER_NOT_FOUND); } // first attempt a login via the standard Tiki system Modified: trunk/templates/modules/mod-login_box.tpl =================================================================== --- trunk/templates/modules/mod-login_box.tpl 2010-07-22 15:43:55 UTC (rev 28102) +++ trunk/templates/modules/mod-login_box.tpl 2010-07-22 19:24:05 UTC (rev 28103) @@ -89,9 +89,16 @@ {if !empty($urllogin)}<input type="hidden" name="url" value="{$urllogin|escape}" />{/if} <fieldset> <legend>{tr}Log in as{/tr}…</legend> + {if !empty($error_login)} + {remarksbox type='errors' title='{tr}Error{/tr}'} + {if $error_login == -5 {*USER_NOT_FOUND (define does not work on old php)*}}{tr}Invalid username{/tr} + {elseif $error_login == -3 {*PASSWORD_INCORRECT*}}{tr}Invalid password{/tr} + {else}{$error_login|escape}{/if} + {/remarksbox} + {/if} <div><label for="login-user">{if $prefs.login_is_email eq 'y'}{tr}Email{/tr}{else}{tr}Username{/tr}{/if}:</label><br /> {if $loginuser eq ''} - <input type="text" name="user" id="login-user" size="{if empty($module_params.input_size)}15{else}{$module_params.input_size}{/if}" /> + <input type="text" name="user" id="login-user" size="{if empty($module_params.input_size)}15{else}{$module_params.input_size}{/if}" {if !empty($error_login)} value="{$error_user|escape}"{/if} /> <script type="text/javascript">document.getElementById('login-user').focus();</script> {else} <input type="hidden" name="user" id="login-user" value="{$loginuser}" /><b>{$loginuser}</b> Modified: trunk/tiki-login.php =================================================================== --- trunk/tiki-login.php 2010-07-22 15:43:55 UTC (rev 28102) +++ trunk/tiki-login.php 2010-07-22 19:24:05 UTC (rev 28103) @@ -321,16 +321,15 @@ } $userlib->set_unsuccessful_logins($user, $nb_bad_logins + 1); } - unset($user); unset($isvalid); switch ($error) { case PASSWORD_INCORRECT: - $error = 'Invalid password'; - break; - case USER_NOT_FOUND: - $error = 'Invalid username'; - break; + $smarty->assign('error_login', $error); + $smarty->assign('mid', 'tiki-login.tpl'); + $smarty->assign('error_user', $user); + $smarty->display('tiki.tpl'); + exit; case ACCOUNT_DISABLED: $error = 'Account disabled'; @@ -352,7 +351,6 @@ default: $error = 'Invalid username or password'; } - if (isset($user) and $prefs['feature_score'] == 'y') $tikilib->score_event($user, 'login'); if (isset($extraButton)) $smarty->assign_by_ref('extraButton', $extraButton); $smarty->assign('msg', tra($error)); $smarty->display('error.tpl'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |