1 {include file='header' pageTitle='wcf.acp.user.rank.'|concat:$action}
3 <script data-relocate="true">
6 elBySelAll('#labelList .jsRankPreview', undefined, function(preview) {
7 previews.push(preview);
10 var input = elById('rankTitle');
11 function updatePreview() {
12 var value = input.value.trim() || '{jslang}wcf.acp.user.rank.title{/jslang}';
13 previews.forEach(function(preview) {
14 preview.textContent = value;
17 input.addEventListener('input', updatePreview, { passive: true });
21 elById('customCssClassName').addEventListener('focus', function () {
22 elBySel('.jsCustomCssClassName').checked = true;
27 <header class="contentHeader">
28 <div class="contentHeaderTitle">
29 <h1 class="contentTitle">{lang}wcf.acp.user.rank.{$action}{/lang}</h1>
32 <nav class="contentHeaderNavigation">
34 <li><a href="{link controller='UserRankList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.menu.link.user.rank.list{/lang}</span></a></li>
36 {event name='contentHeaderNavigation'}
41 {include file='formNotice'}
43 <form method="post" action="{if $action == 'add'}{link controller='UserRankAdd'}{/link}{else}{link controller='UserRankEdit' id=$rankID}{/link}{/if}">
45 <dl{if $errorField == 'rankTitle'} class="formError"{/if}>
46 <dt><label for="rankTitle">{lang}wcf.acp.user.rank.title{/lang}</label></dt>
48 <input type="text" id="rankTitle" name="rankTitle" value="{$i18nPlainValues['rankTitle']}" required autofocus class="long">
49 {if $errorField == 'rankTitle'}
50 <small class="innerError">
51 {if $errorType == 'empty'}
52 {lang}wcf.global.form.error.empty{/lang}
53 {elseif $errorType == 'multilingual'}
54 {lang}wcf.global.form.error.multilingual{/lang}
56 {lang}wcf.acp.user.rank.title.error.{@$errorType}{/lang}
62 {include file='multipleLanguageInputJavascript' elementIdentifier='rankTitle' forceSelection=false}
64 <dl{if $errorField == 'cssClassName'} class="formError"{/if}>
65 <dt><label for="cssClassName">{lang}wcf.acp.user.rank.cssClassName{/lang}</label></dt>
68 {foreach from=$availableCssClassNames item=className}
69 {if $className == 'custom'}
70 <li class="labelCustomClass"><input type="radio" name="cssClassName" class="jsCustomCssClassName" value="custom"{if $cssClassName == 'custom'} checked{/if}> <span><input type="text" id="customCssClassName" name="customCssClassName" value="{$customCssClassName}" class="long"></span></li>
72 <li><label><input type="radio" name="cssClassName" value="{$className}"{if $cssClassName == $className} checked{/if}> <span class="badge label{if $className != 'none'} {$className}{/if} jsRankPreview">{lang}wcf.acp.user.rank.title{/lang}</span></label></li>
77 {if $errorField == 'cssClassName'}
78 <small class="innerError">
79 {if $errorType == 'empty'}
80 {lang}wcf.global.form.error.empty{/lang}
82 {lang}wcf.acp.user.rank.cssClassName.error.{@$errorType}{/lang}
86 <small>{lang}wcf.acp.user.rank.cssClassName.description{/lang}</small>
90 {event name='dataFields'}
93 <section class="section">
94 <h2 class="sectionTitle">{lang}wcf.acp.user.rank.image{/lang}</h2>
96 <dl{if $errorField == 'rankImage'} class="formError"{/if}>
97 <dt><label for="rankImage">{lang}wcf.acp.user.rank.image{/lang}</label></dt>
99 <input type="text" id="rankImage" name="rankImage" value="{$rankImage}" class="long">
100 {if $errorField == 'rankImage'}
101 <small class="innerError">
102 {lang}wcf.acp.user.rank.image.error.{@$errorType}{/lang}
105 <small>{lang}wcf.acp.user.rank.rankImage.description{/lang}</small>
109 <dl{if $errorField == 'repeatImage'} class="formError"{/if}>
110 <dt><label for="repeatImage">{lang}wcf.acp.user.rank.repeatImage{/lang}</label></dt>
112 <input type="number" id="repeatImage" name="repeatImage" value="{@$repeatImage}" min="1" class="tiny">
113 {if $errorField == 'rankImage'}
114 <small class="innerError">
115 {lang}wcf.acp.user.rank.repeatImage.error.{@$errorType}{/lang}
118 <small>{lang}wcf.acp.user.rank.repeatImage.description{/lang}</small>
122 {if $action == 'edit' && $rank->rankImage}
124 <dt><label>{lang}wcf.acp.user.rank.currentImage{/lang}</label></dt>
125 <dd>{@$rank->getImage()}</dd>
129 <dl{if $errorField == 'hideTitle'} class="formError"{/if}>
132 <label><input type="checkbox" id="hideTitle" name="hideTitle" value="1"{if $hideTitle} checked{/if}> {lang}wcf.acp.user.rank.hideTitle{/lang}</label>
133 {if $errorField == 'hideTitle'}
134 <small class="innerError">
135 {lang}wcf.acp.user.rank.hideTitle.error.{@$errorType}{/lang}
138 <small>{lang}wcf.acp.user.rank.hideTitle.description{/lang}</small>
142 {event name='imageFields'}
145 <section class="section">
146 <h2 class="sectionTitle">{lang}wcf.acp.user.rank.requirement{/lang}</h2>
148 <dl{if $errorField == 'groupID'} class="formError"{/if}>
149 <dt><label for="groupID">{lang}wcf.user.group{/lang}</label></dt>
151 <select id="groupID" name="groupID">
152 {foreach from=$availableGroups item=group}
153 <option value="{@$group->groupID}"{if $group->groupID == $groupID} selected{/if}>{$group->getTitle()}</option>
156 {if $errorField == 'groupID'}
157 <small class="innerError">
158 {if $errorType == 'empty'}
159 {lang}wcf.global.form.error.empty{/lang}
161 {lang}wcf.acp.user.rank.userGroup.error.{@$errorType}{/lang}
165 <small>{lang}wcf.acp.user.rank.userGroup.description{/lang}</small>
169 <dl{if $errorField == 'requiredGender'} class="formError"{/if}>
170 <dt><label for="requiredGender">{lang}wcf.user.option.gender{/lang}</label></dt>
172 <select id="requiredGender" name="requiredGender">
173 <option value="0">{lang}wcf.global.noSelection{/lang}</option>
174 <option value="1"{if $requiredGender == 1} selected{/if}>{lang}wcf.user.gender.male{/lang}</option>
175 <option value="2"{if $requiredGender == 2} selected{/if}>{lang}wcf.user.gender.female{/lang}</option>
176 <option value="3"{if $requiredGender == 3} selected{/if}>{lang}wcf.user.gender.other{/lang}</option>
178 {if $errorField == 'requiredGender'}
179 <small class="innerError">
180 {lang}wcf.acp.user.rank.requiredGender.error.{@$errorType}{/lang}
183 <small>{lang}wcf.acp.user.rank.requiredGender.description{/lang}</small>
187 <dl{if $errorField == 'requiredPoints'} class="formError"{/if}>
188 <dt><label for="requiredPoints">{lang}wcf.acp.user.rank.requiredPoints{/lang}</label></dt>
190 <input type="number" id="requiredPoints" name="requiredPoints" value="{@$requiredPoints}" min="0" class="tiny">
191 {if $errorField == 'requiredPoints'}
192 <small class="innerError">
193 {lang}wcf.acp.user.rank.requiredPoints.error.{@$errorType}{/lang}
196 <small>{lang}wcf.acp.user.rank.requiredPoints.description{/lang}</small>
200 {event name='requirementFields'}
203 {event name='sections'}
205 <div class="formSubmit">
206 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
207 {@SECURITY_TOKEN_INPUT_TAG}
211 {include file='footer'}