Merge branch '3.1' into 5.2
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / userOptionAdd.tpl
1 {include file='header' pageTitle='wcf.acp.user.option.'|concat:$action}
2
3 <header class="contentHeader">
4 <div class="contentHeaderTitle">
5 <h1 class="contentTitle">{lang}wcf.acp.user.option.{$action}{/lang}</h1>
6 </div>
7
8 <nav class="contentHeaderNavigation">
9 <ul>
10 <li><a href="{link controller='UserOptionList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.menu.link.user.option.list{/lang}</span></a></li>
11
12 {event name='contentHeaderNavigation'}
13 </ul>
14 </nav>
15
16 </header>
17
18 {include file='formError'}
19
20 {if $success|isset}
21 <p class="success">{lang}wcf.global.success.{$action}{/lang}</p>
22 {/if}
23
24 {if !$availableCategories|empty}
25 <form method="post" action="{if $action == 'add'}{link controller='UserOptionAdd'}{/link}{else}{link controller='UserOptionEdit' id=$optionID}{/link}{/if}">
26 <div class="section">
27 <dl{if $errorField == 'optionName'} class="formError"{/if}>
28 <dt><label for="optionName">{lang}wcf.global.name{/lang}</label></dt>
29 <dd>
30 <input type="text" id="optionName" name="optionName" value="{$i18nPlainValues['optionName']}" required autofocus class="long">
31 {if $errorField == 'optionName'}
32 <small class="innerError">
33 {if $errorType == 'multilingual'}
34 {lang}wcf.global.form.error.multilingual{/lang}
35 {else}
36 {lang}wcf.acp.user.option.name.error.{@$errorType}{/lang}
37 {/if}
38 </small>
39 {/if}
40 </dd>
41 </dl>
42 {include file='multipleLanguageInputJavascript' elementIdentifier='optionName' forceSelection=true}
43
44 <dl{if $errorField == 'optionDescription'} class="formError"{/if}>
45 <dt><label for="optionDescription">{lang}wcf.acp.user.option.description{/lang}</label></dt>
46 <dd>
47 {* dirty work-around for non-i18n environments *}
48 {capture assign=__optionDescription}{lang __optional=true}{$i18nPlainValues['optionDescription']}{/lang}{/capture}
49 {if !$__optionDescription && !"~^[a-zA-Z0-9\-\_\.]+$~"|preg_match:$i18nPlainValues['optionDescription']}{capture assign=__optionDescription}{$i18nPlainValues['optionDescription']}{/capture}{/if}
50
51 {* value is already encoded inside the capture calls above *}
52 <textarea name="optionDescription" id="optionDescription" cols="40" rows="10">{@$__optionDescription}</textarea>
53 {if $errorField == 'optionDescription'}
54 <small class="innerError">
55 {if $errorType == 'empty'}
56 {lang}wcf.global.form.error.empty{/lang}
57 {else}
58 {lang}wcf.acp.user.option.description.error.{@$errorType}{/lang}
59 {/if}
60 </small>
61 {/if}
62 </dd>
63 </dl>
64 {include file='multipleLanguageInputJavascript' elementIdentifier='optionDescription' forceSelection=true}
65
66 <dl{if $errorField == 'categoryName'} class="formError"{/if}>
67 <dt><label for="categoryName">{lang}wcf.acp.user.option.categoryName{/lang}</label></dt>
68 <dd>
69 <select name="categoryName" id="categoryName">
70 {foreach from=$availableCategories item=availableCategory}
71 <option value="{$availableCategory->categoryName}"{if $availableCategory->categoryName == $categoryName} selected{/if}>{lang}wcf.user.option.category.{$availableCategory->categoryName}{/lang}</option>
72 {/foreach}
73 </select>
74
75 {if $errorField == 'categoryName'}
76 <small class="innerError">
77 {if $errorType == 'empty'}
78 {lang}wcf.global.form.error.empty{/lang}
79 {else}
80 {lang}wcf.acp.user.option.categoryName.error.{@$errorType}{/lang}
81 {/if}
82 </small>
83 {/if}
84 </dd>
85 </dl>
86
87 <dl>
88 <dt><label for="showOrder">{lang}wcf.global.showOrder{/lang}</label></dt>
89 <dd>
90 <input type="number" id="showOrder" name="showOrder" value="{@$showOrder}" class="short">
91 </dd>
92 </dl>
93
94 {event name='dataFields'}
95 </div>
96
97 <section class="section">
98 <h2 class="sectionTitle">{lang}wcf.acp.user.option.typeData{/lang}</h2>
99
100 <dl{if $errorField == 'optionType'} class="formError"{/if}>
101 <dt><label for="optionType">{lang}wcf.acp.user.option.optionType{/lang}</label></dt>
102 <dd>
103 <select name="optionType" id="optionType"{if $action === 'edit'} disabled{/if}>
104 {foreach from=$availableOptionTypes item=availableOptionType}
105 <option value="{$availableOptionType}"{if $availableOptionType == $optionType} selected{/if}>{$availableOptionType}</option>
106 {/foreach}
107 </select>
108 {if $errorField == 'optionType'}
109 <small class="innerError">
110 {if $errorType == 'empty'}
111 {lang}wcf.global.form.error.empty{/lang}
112 {else}
113 {lang}wcf.acp.user.option.optionType.error.{@$errorType}{/lang}
114 {/if}
115 </small>
116 {/if}
117 <small>{lang}wcf.acp.user.option.optionType.description{/lang}</small>
118 </dd>
119 </dl>
120
121 <dl>
122 <dt><label for="defaultValue">{lang}wcf.acp.user.option.defaultValue{/lang}</label></dt>
123 <dd>
124 <input type="text" id="defaultValue" name="defaultValue" value="{$defaultValue}" class="long">
125 <small>{lang}wcf.acp.user.option.defaultValue.description{/lang}</small>
126 </dd>
127 </dl>
128
129 <dl{if $errorField == 'selectOptions'} class="formError"{/if}>
130 <dt><label for="selectOptions">{lang}wcf.acp.user.option.selectOptions{/lang}</label></dt>
131 <dd>
132 <textarea name="selectOptions" id="selectOptions" cols="40" rows="10">{$selectOptions}</textarea>
133 {if $errorField == 'selectOptions'}
134 <small class="innerError">
135 {if $errorType == 'empty'}
136 {lang}wcf.global.form.error.empty{/lang}
137 {else}
138 {lang}wcf.acp.user.option.selectOptions.error.{@$errorType}{/lang}
139 {/if}
140 </small>
141 {/if}
142 <small>{lang}wcf.acp.user.option.selectOptions.description{/lang}</small>
143 </dd>
144 </dl>
145
146 <dl{if $errorField == 'outputClass'} class="formError"{/if}>
147 <dt><label for="outputClass">{lang}wcf.acp.user.option.outputClass{/lang}</label></dt>
148 <dd>
149 <input type="text" id="outputClass" name="outputClass" value="{$outputClass}" class="long">
150 {if $errorField == 'outputClass'}
151 <small class="innerError">
152 {if $errorType == 'empty'}
153 {lang}wcf.global.form.error.empty{/lang}
154 {else}
155 {lang}wcf.acp.user.option.outputClass.error.{@$errorType}{/lang}
156 {/if}
157 </small>
158 {/if}
159 <small>{lang}wcf.acp.user.option.outputClass.description{/lang}</small>
160 </dd>
161 </dl>
162
163 {event name='typeDataFields'}
164 </section>
165
166 <section class="section">
167 <h2 class="sectionTitle">{lang}wcf.acp.user.option.access{/lang}</h2>
168
169 <dl>
170 <dt><label for="editable">{lang}wcf.acp.user.option.editable{/lang}</label></dt>
171 <dd>
172 <select name="editable" id="editable">
173 <option value="1"{if $editable == 1} selected{/if}>{lang}wcf.acp.user.option.editable.1{/lang}</option>
174 <option value="2"{if $editable == 2} selected{/if}>{lang}wcf.acp.user.option.editable.2{/lang}</option>
175 <option value="3"{if $editable == 3} selected{/if}>{lang}wcf.acp.user.option.editable.3{/lang}</option>
176 <option value="6"{if $editable == 6} selected{/if}>{lang}wcf.acp.user.option.editable.6{/lang}</option>
177 </select>
178 </dd>
179 </dl>
180
181 <dl>
182 <dt><label for="visible">{lang}wcf.acp.user.option.visible{/lang}</label></dt>
183 <dd>
184 <select name="visible" id="visible">
185 <option value="0"{if $visible == 0} selected{/if}>{lang}wcf.acp.user.option.visible.0{/lang}</option>
186 <option value="1"{if $visible == 1} selected{/if}>{lang}wcf.acp.user.option.visible.1{/lang}</option>
187 <option value="2"{if $visible == 2} selected{/if}>{lang}wcf.acp.user.option.visible.2{/lang}</option>
188 <option value="3"{if $visible == 3} selected{/if}>{lang}wcf.acp.user.option.visible.3{/lang}</option>
189 <option value="7"{if $visible == 7} selected{/if}>{lang}wcf.acp.user.option.visible.7{/lang}</option>
190 <option value="15"{if $visible == 15} selected{/if}>{lang}wcf.acp.user.option.visible.15{/lang}</option>
191 </select>
192 </dd>
193 </dl>
194
195 <dl{if $errorField == 'validationPattern'} class="formError"{/if}>
196 <dt><label for="validationPattern">{lang}wcf.acp.user.option.validationPattern{/lang}</label></dt>
197 <dd>
198 <input type="text" id="validationPattern" name="validationPattern" value="{$validationPattern}" class="long">
199 {if $errorField == 'validationPattern'}
200 <small class="innerError">
201 {if $errorType == 'empty'}
202 {lang}wcf.global.form.error.empty{/lang}
203 {else}
204 {lang}wcf.acp.user.option.validationPattern.error.{@$errorType}{/lang}
205 {/if}
206 </small>
207 {/if}
208 <small>{lang}wcf.acp.user.option.validationPattern.description{/lang}</small>
209 </dd>
210 </dl>
211
212 <dl>
213 <dt></dt>
214 <dd>
215 <label><input type="checkbox" name="required" id="required" value="1"{if $required == 1} checked{/if}> {lang}wcf.acp.user.option.required{/lang}</label>
216 <label><input type="checkbox" name="askDuringRegistration" id="askDuringRegistration" value="1"{if $askDuringRegistration == 1} checked{/if}> {lang}wcf.acp.user.option.askDuringRegistration{/lang}</label>
217 <label><input type="checkbox" name="searchable" id="searchable" value="1"{if $searchable == 1} checked{/if}> {lang}wcf.acp.user.option.searchable{/lang}</label>
218 </dd>
219 </dl>
220
221 {event name='accessFields'}
222 </section>
223
224 {event name='sections'}
225
226 <div class="formSubmit">
227 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
228 {@SECURITY_TOKEN_INPUT_TAG}
229 </div>
230 </form>
231 {else}
232 <p class="error">{lang}wcf.acp.user.option.error.noCategories{/lang}</p>
233 {/if}
234
235 {include file='footer'}