| 1 | {if $__userAuthConfig->canRegister} |
| 2 | {capture assign='contentDescription'}{lang}wcf.user.login.noAccount{/lang}{/capture} |
| 3 | {/if} |
| 4 | |
| 5 | {include file='authFlowHeader'} |
| 6 | |
| 7 | {if $forceLoginRedirect} |
| 8 | <woltlab-core-notice type="info">{lang}wcf.user.login.forceLogin{/lang}</woltlab-core-notice> |
| 9 | {/if} |
| 10 | |
| 11 | {if !$errorField|empty && $errorField == 'cookie'} |
| 12 | <woltlab-core-notice type="error">{lang}wcf.user.login.error.cookieRequired{/lang}</woltlab-core-notice> |
| 13 | {else} |
| 14 | {include file='shared_formError'} |
| 15 | {/if} |
| 16 | |
| 17 | <form id="loginForm" method="post" action="{$loginController}"> |
| 18 | <dl{if $errorField == 'username'} class="formError"{/if}> |
| 19 | <dt> |
| 20 | <label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label> <span class="formFieldRequired">*</span> |
| 21 | </dt> |
| 22 | <dd> |
| 23 | <input type="text" id="username" name="username" value="{$username}" required autofocus class="long" autocomplete="username"> |
| 24 | {if $errorField == 'username'} |
| 25 | <small class="innerError"> |
| 26 | {if $errorType == 'empty'} |
| 27 | {lang}wcf.global.form.error.empty{/lang} |
| 28 | {else} |
| 29 | {lang}wcf.user.username.error.{@$errorType}{/lang} |
| 30 | {/if} |
| 31 | </small> |
| 32 | {/if} |
| 33 | </dd> |
| 34 | </dl> |
| 35 | |
| 36 | <dl{if $errorField == 'password'} class="formError"{/if}> |
| 37 | <dt> |
| 38 | <label for="password">{lang}wcf.user.password{/lang}</label> <span class="formFieldRequired">*</span> |
| 39 | </dt> |
| 40 | <dd> |
| 41 | <input type="password" id="password" name="password" value="{$password}" required class="long" autocomplete="current-password"> |
| 42 | {if $errorField == 'password'} |
| 43 | <small class="innerError"> |
| 44 | {if $errorType == 'empty'} |
| 45 | {lang}wcf.global.form.error.empty{/lang} |
| 46 | {else} |
| 47 | {lang}wcf.user.password.error.{@$errorType}{/lang} |
| 48 | {/if} |
| 49 | </small> |
| 50 | {/if} |
| 51 | {if $__userAuthConfig->canChangePassword} |
| 52 | <small><a href="{link controller='LostPassword'}{/link}">{lang}wcf.user.lostPassword{/lang}</a></small> |
| 53 | {/if} |
| 54 | </dd> |
| 55 | </dl> |
| 56 | |
| 57 | {event name='fields'} |
| 58 | |
| 59 | {include file='shared_captcha' supportsAsyncCaptcha=true} |
| 60 | |
| 61 | <div class="formSubmit"> |
| 62 | <input type="submit" value="{lang}wcf.user.button.login{/lang}" accesskey="s"> |
| 63 | {csrfToken} |
| 64 | </div> |
| 65 | |
| 66 | {include file='thirdPartySsoButtons'} |
| 67 | </form> |
| 68 | |
| 69 | <p class="formFieldRequiredNotice"> |
| 70 | <span class="formFieldRequired">*</span> |
| 71 | {lang}wcf.global.form.required{/lang} |
| 72 | </p> |
| 73 | |
| 74 | {include file='authFlowFooter'} |