{** * HELPER FUNC * RENDER BLOCK OF ERRORS *} {function render_errors errors=[]} {foreach $errors as $error} {$error} {/foreach} {/function} {** * HELPER FUNC * WRAPPED FIELD HTML IN BLOCK WITH LABEL AND STUFF *} {function render_wrapped field_id='' caption='' html='' class=''} {$caption = $caption|escape} {$_style = ''} {if $is_onetime_password_auth_type && $field_id === 'password'} {$_style = 'display:none;'} {$class = "`$class|default:''` wa-field-onetime-password"} {/if}
{$caption} {* Show extra hint by what transport code has been sent *} {if $is_onetime_password_auth_type && $field_id === 'password' && $is_email_channel_available && $is_sms_channel_available} {/if}
{$html} {if $is_need_confirm && $field_id === 'login'} {/if} {if $is_onetime_password_auth_type && $field_id === 'password'} {/if} {if $is_onetime_password_auth_type && $field_id === 'login'} {/if} {if !empty($params.forgotpassword_url)} {/if} {render_errors errors=$errors}
{if $is_need_confirm && $field_id === 'login' && $is_sms_channel_available} {include file="./confirmation_block.inc.html" inline} {/if} {/function} {** * HELPER FUNC * RENDER VIEW (HTML) OF FIELD (waContactField) BY APPLING PARAMS *} {function render_field_html field=[] params=[]} {$attrs = []} {$classes = []} {foreach $params.classes|default:[] as $clz} {$classes[] = $clz|escape} {/foreach} {if $errors} {$classes[] = 'wa-error'} {/if} {if $is_onetime_password_auth_type && $_field_id === 'password'} {$classes[] = 'wa-onetime-password'} {/if} {$classes = join(' ', $classes)} {$attrs[] = "class=\"`$classes`\""} {$is_onetime_password_field = $is_onetime_password_auth_type && $_field_id === 'password'} {$_placeholder = ''} {if $need_placeholders && !$is_onetime_password_field} {$_placeholder = $params.placeholder|default:''} {$_placeholder = $_placeholder|escape} {/if} {$attrs[] = "placeholder=\"`$_placeholder`\""} {if $params.disabled|default:false} {$attrs[] = 'disabled="disabled"'} {/if} {$attrs = join(' ', $attrs)} {$field->getHtml($params, $attrs)} {/function} {** * HELPER FUNC * RENDER SIGNLE FIELD (waContactField) THAT CAN BY AS INDIVIDUAL AS PART (SUBFIELD) OF COMPOSITE FIELD * ALSO WRAP FIELD HTML IN FIELD-BLOCK (SEE render_field_html AND render_wrapped) *} {function render_field field=[]} {strip} {$_field_id = $field->getId()} {$_params = $params} {capture assign="_html"} {render_field_html field=$field params=$_params} {/capture} {if !$is_hidden} {$_caption = $_params.caption|default:''} {if $is_onetime_password_auth_type && $_field_id === 'password'} {$_caption = _ws('One-time password')} {/if} {render_wrapped field_id=$_field_id caption=$_caption html=$_html ext=$_params.ext|default:''} {else} {$_html} {/if} {/strip} {/function} {* TEMPLATE BODY *} {render_field field=$field}