Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / userAdd.tpl
CommitLineData
7485c55b 1{include file='header' pageTitle='wcf.acp.user.'|concat:$action}
3852f864 2
9543d9fe 3<script data-relocate="true">
158bd3ca 4 //<![CDATA[
f277d540
AE
5 $(function() {
6 WCF.TabMenu.init();
7 });
158bd3ca
TD
8 //]]>
9</script>
10
daa737bf 11<header class="boxHeadline">
635a8feb 12 <h1>{lang}wcf.acp.user.{@$action}{/lang}</h1>
297ee036 13 {if $action == 'edit'}<p>{$user->username}</p>{/if}
158bd3ca
TD
14</header>
15
ee629b22 16{include file='formError'}
158bd3ca 17
cb22bd32 18{if $userID|isset && $__wcf->user->userID == $userID}
f4683ba3 19 <p class="warning">{lang}wcf.acp.user.edit.warning.selfEdit{/lang}</p>
158bd3ca
TD
20{/if}
21
cb22bd32 22{if $success|isset}
9b566f66 23 <p class="success">{lang}wcf.global.success.{@$action}{/lang}</p>
158bd3ca
TD
24{/if}
25
184a8d6d 26<div class="contentNavigation">
ef097134 27 <nav>
184a8d6d 28 <ul>
6ab4d963 29 <li><a href="{link controller='UserList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.acp.menu.link.user.list{/lang}</span></a></li>
5348d3d2 30
7991009f 31 {event name='contentNavigationButtons'}
158bd3ca
TD
32 </ul>
33 </nav>
34</div>
35
7a2be172 36<form method="post" action="{if $action == 'add'}{link controller='UserAdd'}{/link}{else}{link controller='UserEdit' id=$userID}{/link}{/if}">
5da92f1b
MW
37 <div class="tabMenuContainer">
38 <nav class="tabMenu">
39 <ul>
40 <li><a href="{@$__wcf->getAnchor('__essentials')}">{lang}wcf.global.form.data{/lang}</a></li>
41
42 {foreach from=$optionTree item=categoryLevel1}
43 <li><a href="{@$__wcf->getAnchor($categoryLevel1[object]->categoryName)}">{lang}wcf.user.option.category.{@$categoryLevel1[object]->categoryName}{/lang}</a></li>
44 {/foreach}
baa1ddc3 45
320f4a6d
MW
46 {if MODULE_USER_SIGNATURE}
47 <li><a href="{@$__wcf->getAnchor('signatureManagement')}">{lang}wcf.user.signature{/lang}</a></li>
48 {/if}
49
50 {if $action == 'edit'}
51 <li><a href="{@$__wcf->getAnchor('avatarForm')}">{lang}wcf.user.avatar{/lang}</a></li>
52 {/if}
53
baa1ddc3 54 {event name='tabMenuTabs'}
5da92f1b
MW
55 </ul>
56 </nav>
eee4c4ff 57
5da92f1b 58 <div id="__essentials" class="container containerPadding tabMenuContent hidden">
eee4c4ff 59 <fieldset>
5da92f1b 60 <legend>{lang}wcf.acp.user.general{/lang}</legend>
eee4c4ff 61
5da92f1b
MW
62 <dl{if $errorType.username|isset} class="formError"{/if}>
63 <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
f4683ba3 64 <dd>
5da92f1b
MW
65 <input type="text" id="username" name="username" value="{$username}" pattern="^[^,\n]+$" autofocus="autofocus" class="medium" />
66 {if $errorType.username|isset}
184a8d6d 67 <small class="innerError">
5da92f1b 68 {if $errorType.username == 'empty'}
b6348a7e
MS
69 {lang}wcf.global.form.error.empty{/lang}
70 {else}
5da92f1b 71 {lang}wcf.user.username.error.{@$errorType.username}{/lang}
b6348a7e 72 {/if}
eee4c4ff
L
73 </small>
74 {/if}
75 </dd>
76 </dl>
77
5da92f1b
MW
78 {if $availableGroups|count}
79 <dl>
80 <dt>
81 <label>{lang}wcf.acp.user.groups{/lang}</label>
82 </dt>
83 <dd>
84 {htmlCheckboxes options=$availableGroups name=groupIDs selected=$groupIDs}
85 </dd>
86 </dl>
87 {/if}
7991009f 88
5da92f1b 89 {event name='generalFields'}
eee4c4ff 90 </fieldset>
5da92f1b
MW
91
92 {if $action == 'add' || $__wcf->session->getPermission('admin.user.canEditMailAddress')}
93 <fieldset>
94 <legend>{lang}wcf.user.email{/lang}</legend>
95
96 <dl{if $errorType.email|isset} class="formError"{/if}>
97 <dt><label for="email">{lang}wcf.user.email{/lang}</label></dt>
98 <dd>
99 <input type="email" id="email" name="email" value="{$email}" required="required" class="medium" />
100 {if $errorType.email|isset}
101 <small class="innerError">
102 {if $errorType.email == 'empty'}
103 {lang}wcf.global.form.error.empty{/lang}
104 {else}
105 {lang}wcf.user.email.error.{@$errorType.email}{/lang}
106 {/if}
107 </small>
108 {/if}
109 </dd>
110 </dl>
111
112 <dl{if $errorType.confirmEmail|isset} class="formError"{/if}>
113 <dt><label for="confirmEmail">{lang}wcf.user.confirmEmail{/lang}</label></dt>
114 <dd>
115 <input type="email" id="confirmEmail" name="confirmEmail" value="{$confirmEmail}" required="required" class="medium" />
116 {if $errorType.confirmEmail|isset}
117 <small class="innerError">
118 {lang}wcf.user.confirmEmail.error.{@$errorType.confirmEmail}{/lang}
119 </small>
120 {/if}
121 </dd>
122 </dl>
123
124 {event name='emailFields'}
125 </fieldset>
126 {/if}
127
128 {if $action == 'add' || $__wcf->session->getPermission('admin.user.canEditPassword')}
129 <fieldset>
130 <legend>{lang}wcf.user.password{/lang}</legend>
131
132 <dl{if $errorType.password|isset} class="formError"{/if}>
133 <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
134 <dd>
135 <input type="password" id="password" name="password" value="{$password}"{if $action == 'add'} required="required"{/if} class="medium" />
136 {if $errorType.password|isset}
137 <small class="innerError">
138 {if $errorType.password == 'empty'}
139 {lang}wcf.global.form.error.empty{/lang}
140 {else}
141 {lang}wcf.user.password.error.{@$errorType.password}{/lang}
142 {/if}
143 </small>
144 {/if}
145 </dd>
146 </dl>
147
148 <dl{if $errorType.confirmPassword|isset} class="formError"{/if}>
149 <dt><label for="confirmPassword">{lang}wcf.user.confirmPassword{/lang}</label></dt>
150 <dd>
151 <input type="password" id="confirmPassword" name="confirmPassword" value="{$confirmPassword}"{if $action == 'add'} required="required"{/if} class="medium" />
152 {if $errorType.confirmPassword|isset}
153 <small class="innerError">
154 {lang}wcf.user.confirmPassword.error.{@$errorType.confirmPassword}{/lang}
155 </small>
156 {/if}
157 </dd>
158 </dl>
159
160 {event name='passwordFields'}
161 </fieldset>
162 {/if}
baa1ddc3 163
15470df4 164 {if $action == 'edit' && $__wcf->session->getPermission('admin.user.canBanUser') && $__wcf->user->userID != $userID}
baa1ddc3
MW
165 <fieldset>
166 <legend>{lang}wcf.acp.user.banUser{/lang}</legend>
167
168 <dl>
77f70354 169 <dt></dt>
baa1ddc3
MW
170 <dd>
171 <label><input type="checkbox" id="banned" name="banned" value="1" {if $banned == 1}checked="checked" {/if}/> {lang}wcf.acp.user.banUser{/lang}</label>
172 <small>{lang}wcf.acp.user.banUser.description{/lang}</small>
173 </dd>
174 </dl>
175
176 <dl>
177 <dt><label for="banReason">{lang}wcf.acp.user.banReason{/lang}</label></dt>
178 <dd>
179 <textarea name="banReason" id="banReason" cols="40" rows="10">{$banReason}</textarea>
180 <small>{lang}wcf.acp.user.banReason.description{/lang}</small>
181 </dd>
182 </dl>
183
184 {event name='banFields'}
185 </fieldset>
186
9543d9fe 187 <script data-relocate="true">
baa1ddc3
MW
188 //<![CDATA[
189 $('#banned').change(function (event) {
190 if ($('#banned').is(':checked')) {
191 $('#banReason').attr('readonly', false);
192 }
193 else {
194 $('#banReason').attr('readonly', true);
195 }
196 });
197 $('#banned').change();
198 //]]>
199 </script>
200 {/if}
201
202 {event name='fieldsets'}
5da92f1b 203 </div>
eee4c4ff 204
5da92f1b
MW
205 {foreach from=$optionTree item=categoryLevel1}
206 <div id="{@$categoryLevel1[object]->categoryName}" class="container containerPadding tabMenuContent hidden">
207 {foreach from=$categoryLevel1[categories] item=categoryLevel2}
208 <fieldset>
209 <legend>{lang}wcf.user.option.category.{@$categoryLevel2[object]->categoryName}{/lang}</legend>
210
211 {if $categoryLevel2[object]->categoryName == 'settings.general' && $availableLanguages|count > 1}
212 <dl>
213 <dt><label for="languageID">{lang}wcf.user.language{/lang}</label></dt>
214 <dd>
215 {htmlOptions options=$availableLanguages selected=$languageID name=languageID id=languageID disableEncoding=true}
216 </dd>
217 </dl>
218
219 {if $availableContentLanguages|count > 1}
220 <dl>
221 <dt>
8c9d3f7a 222 <label>{lang}wcf.user.visibleLanguages{/lang}</label>
5da92f1b
MW
223 </dt>
224 <dd>
8c9d3f7a
MW
225 {foreach from=$availableContentLanguages key=availableLanguageID item=availableLanguage}
226 <label><input type="checkbox" name="visibleLanguages[]" value="{@$availableLanguageID}"{if $availableLanguageID|in_array:$visibleLanguages} checked="checked"{/if} /> {@$availableLanguage}</label>
227 {/foreach}
5da92f1b
MW
228 </dd>
229 </dl>
230 {/if}
eee4c4ff 231 {/if}
5da92f1b 232
320f4a6d
MW
233 {if $categoryLevel2[object]->categoryName == 'profile.personal' && MODULE_USER_RANK}
234 <dl>
235 <dt><label for="userTitle">{lang}wcf.user.userTitle{/lang}</label></dt>
236 <dd>
237 <input type="text" id="userTitle" name="userTitle" value="{$userTitle}" class="long" maxlength="{@USER_TITLE_MAX_LENGTH}" />
238 {if $errorType[userTitle]|isset}
239 <small class="innerError">
240 {lang}wcf.user.userTitle.error.{@$errorType[userTitle]}{/lang}
241 </small>
242 {/if}
243 <small>{lang}wcf.user.userTitle.description{/lang}</small>
244 </dd>
245 </dl>
246 {/if}
247
5da92f1b
MW
248 {event name='categoryFields'}
249
250 {include file='optionFieldList' options=$categoryLevel2[options] langPrefix='wcf.user.option.'}
251
252 {if $categoryLevel2[categories]|count}
253 {foreach from=$categoryLevel2[categories] item=categoryLevel3}
254 {include file='optionFieldList' options=$categoryLevel3[options] langPrefix='wcf.user.option.'}
255 {/foreach}
eee4c4ff 256 {/if}
5da92f1b 257 </fieldset>
f277d540 258 {/foreach}
f277d540 259 </div>
5da92f1b 260 {/foreach}
baa1ddc3 261
320f4a6d
MW
262 {if MODULE_USER_SIGNATURE}
263 <div id="signatureManagement" class="container containerPadding tabMenuContent hidden">
264 <fieldset>
265 <legend>{lang}wcf.user.signature{/lang}</legend>
266
267 <dl>
268 <dt><label for="signature">{lang}wcf.user.signature{/lang}</label></dt>
269 <dd>
270 <textarea name="signature" id="signature" cols="40" rows="10">{$signature}</textarea>
271 </dd>
272 </dl>
273
274 <dl>
275 <dt>{lang}wcf.message.settings{/lang}</dt>
276 <dd>
277 <label><input id="signatureEnableSmilies" name="signatureEnableSmilies" type="checkbox" value="1"{if $signatureEnableSmilies} checked="checked"{/if} /> {lang}wcf.message.settings.enableSmilies{/lang}</label>
278 <label><input id="signatureEnableBBCodes" name="signatureEnableBBCodes" type="checkbox" value="1"{if $signatureEnableBBCodes} checked="checked"{/if} /> {lang}wcf.message.settings.enableBBCodes{/lang}</label>
279 <label><input id="signatureEnableHtml" name="signatureEnableHtml" type="checkbox" value="1"{if $signatureEnableHtml} checked="checked"{/if} /> {lang}wcf.message.settings.enableHtml{/lang}</label>
280 </dd>
281 </dl>
282 </fieldset>
283
57f097e8
MS
284 {if $__wcf->session->getPermission('admin.user.canDisableSignature')}
285 <fieldset>
286 <legend>{lang}wcf.acp.user.disableSignature{/lang}</legend>
287
288 <dl>
289 <dt></dt>
290 <dd>
291 <label><input type="checkbox" id="disableSignature" name="disableSignature" value="1" {if $disableSignature == 1}checked="checked" {/if}/> {lang}wcf.acp.user.disableSignature{/lang}</label>
292 </dd>
293 </dl>
294
295 <dl>
296 <dt><label for="disableSignatureReason">{lang}wcf.acp.user.disableSignatureReason{/lang}</label></dt>
297 <dd>
298 <textarea name="disableSignatureReason" id="disableSignatureReason" cols="40" rows="10">{$disableSignatureReason}</textarea>
299 </dd>
300 </dl>
301 </fieldset>
320f4a6d 302
57f097e8
MS
303 <script data-relocate="true">
304 //<![CDATA[
305 $('#disableSignature').change(function (event) {
306 if ($('#disableSignature').is(':checked')) {
307 $('#disableSignatureReason').attr('readonly', false);
308 }
309 else {
310 $('#disableSignatureReason').attr('readonly', true);
311 }
312 });
313 $('#disableSignature').change();
314 //]]>
315 </script>
316 {/if}
320f4a6d
MW
317 </div>
318 {/if}
319
320 {if $action == 'edit'}
321 <div id="avatarForm" class="container containerPadding tabMenuContent hidden">
322 <fieldset>
323 <legend>{lang}wcf.user.avatar{/lang}</legend>
324
325 <dl>
77f70354 326 <dt></dt>
320f4a6d
MW
327 <dd>
328 <label><input type="radio" name="avatarType" value="none" {if $avatarType == 'none'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.none{/lang}</label>
329 </dd>
330 </dl>
331
332 <dl class="jsOnly{if $errorType[customAvatar]|isset} formError{/if}" id="avatarUpload">
333 <dt class="framed">{if $avatarType == 'custom'}{@$userAvatar->getImageTag(96)}{else}<img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon96" />{/if}</dt>
334 <dd>
335 <label><input type="radio" name="avatarType" value="custom" {if $avatarType == 'custom'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.custom{/lang}</label>
336
337 {* placeholder for upload button: *}
338 <div></div>
339
340 {if $errorType[customAvatar]|isset}
341 <small class="innerError">
342 {if $errorType[customAvatar] == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
343 </small>
344 {/if}
345 </dd>
346 </dl>
347
348 {if MODULE_GRAVATAR}
349 <dl{if $errorType[gravatar]|isset} class="formError"{/if}>
68101113 350 <dt class="framed"><img src="https://secure.gravatar.com/avatar/{@$user->email|strtolower|md5}?s=96" alt="" class="icon96" /></dt>
320f4a6d
MW
351 <dd>
352 <label><input type="radio" name="avatarType" value="gravatar" {if $avatarType == 'gravatar'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.gravatar{/lang}</label>
353
354 {if $errorType[gravatar]|isset}
355 <small class="innerError">
356 {if $errorType[gravatar] == 'notFound'}{lang}wcf.user.avatar.type.gravatar.error.notFound{/lang}{/if}
357 </small>
358 {/if}
359 </dd>
360 </dl>
361 {/if}
362 </fieldset>
363
57f097e8
MS
364 {if $__wcf->session->getPermission('admin.user.canDisableAvatar')}
365 <fieldset>
366 <legend>{lang}wcf.acp.user.disableAvatar{/lang}</legend>
367
368 <dl>
369 <dt></dt>
370 <dd>
371 <label><input type="checkbox" id="disableAvatar" name="disableAvatar" value="1" {if $disableAvatar == 1}checked="checked" {/if}/> {lang}wcf.acp.user.disableAvatar{/lang}</label>
372 </dd>
373 </dl>
374
375 <dl>
376 <dt><label for="disableAvatarReason">{lang}wcf.acp.user.disableAvatarReason{/lang}</label></dt>
377 <dd>
378 <textarea name="disableAvatarReason" id="disableAvatarReason" cols="40" rows="10">{$disableAvatarReason}</textarea>
379 </dd>
380 </dl>
381 </fieldset>
320f4a6d 382
57f097e8 383 <script data-relocate="true">
320f4a6d
MW
384 //<![CDATA[
385 $(function() {
386 $('#disableAvatar').change(function (event) {
387 if ($('#disableAvatar').is(':checked')) {
388 $('#disableAvatarReason').attr('readonly', false);
389 }
390 else {
391 $('#disableAvatarReason').attr('readonly', true);
392 }
393 });
394 $('#disableAvatar').change();
57f097e8
MS
395 //]]>
396 </script>
397 {/if}
398
399 <script data-relocate="true" src="{@$__wcf->getPath()}js/WCF.Message{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
400 <script data-relocate="true" src="{@$__wcf->getPath()}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
401 <script data-relocate="true">
402 //<![CDATA[
403 $(function() {
320f4a6d
MW
404 WCF.Language.addObject({
405 'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
406 'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
407 'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
408 'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
409 'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
410 'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}',
411 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}'
412 });
413
414 new WCF.User.Avatar.Upload({@$user->userID});
415 });
416 //]]>
417 </script>
418 </div>
419 {/if}
420
baa1ddc3 421 {event name='tabMenuContent'}
158bd3ca
TD
422 </div>
423
184a8d6d 424 <div class="formSubmit">
3852f864 425 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
ee629b22 426 {@SECURITY_TOKEN_INPUT_TAG}
39bea7dd 427 </div>
158bd3ca
TD
428</form>
429
430{include file='footer'}