Merge remote-tracking branch 'refs/remotes/origin/3.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / avatarEdit.tpl
1 {include file='userMenuSidebar'}
2
3 {include file='header'}
4
5 {if $__wcf->user->disableAvatar}
6 <p class="error">{lang}wcf.user.avatar.error.disabled{/lang}</p>
7 {/if}
8
9 {include file='formError'}
10
11 {if $success|isset}
12 <p class="success">{lang}wcf.global.success.edit{/lang}</p>
13 {/if}
14
15 <form method="post" action="{link controller='AvatarEdit'}{/link}" id="avatarForm">
16 <div class="section avatarEdit">
17 <dl class="avatarType">
18 <dt></dt>
19 <dd>
20 <label><input type="radio" name="avatarType" value="none" {if $avatarType == 'none'}checked {/if}> {lang}wcf.user.avatar.type.none{/lang}</label>
21 <small>{lang}wcf.user.avatar.type.none.description{/lang}</small>
22 </dd>
23 </dl>
24
25 {if $__wcf->getSession()->getPermission('user.profile.avatar.canUploadAvatar')}
26 <dl class="avatarType jsOnly{if $errorField == 'custom'} formError{/if}" id="avatarUpload">
27 <dt>
28 {if $avatarType == 'custom'}
29 {@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
30 {else}
31 <img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="userAvatarImage" style="width: 96px; height: 96px">
32 {/if}
33 </dt>
34 <dd>
35 <label><input type="radio" name="avatarType" value="custom"{if $avatarType == 'custom'} checked{/if}> {lang}wcf.user.avatar.type.custom{/lang}</label>
36 <small>{lang}wcf.user.avatar.type.custom.description{/lang}</small>
37
38 {* placeholder for upload button: *}
39 <div class="avatarUploadButtonContainer"></div>
40
41 {if $errorField == 'custom'}
42 <small class="innerError">
43 {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
44 </small>
45 {/if}
46 </dd>
47 </dl>
48 {/if}
49
50 {if MODULE_GRAVATAR}
51 <dl class="avatarType{if $errorField == 'gravatar'} formError{/if}">
52 <dt><img src="https://secure.gravatar.com/avatar/{@$__wcf->user->email|strtolower|md5}?s=96{if GRAVATAR_DEFAULT_TYPE != '404'}&amp;d={@GRAVATAR_DEFAULT_TYPE}{/if}" alt="" class="userAvatarImage icon96"></dt>
53 <dd>
54 <label><input type="radio" name="avatarType" value="gravatar"{if $avatarType == 'gravatar'} checked{/if}> {lang}wcf.user.avatar.type.gravatar{/lang}</label>
55 {if $errorField == 'gravatar'}
56 <small class="innerError">
57 {if $errorType == 'notFound'}{lang}wcf.user.avatar.type.gravatar.error.notFound{/lang}{/if}
58 </small>
59 {/if}
60 <small>{lang}wcf.user.avatar.type.gravatar.description{/lang}</small>
61 </dd>
62 </dl>
63 {/if}
64
65 {event name='avatarFields'}
66 </div>
67
68 {event name='sections'}
69
70 {if !$__wcf->user->disableAvatar}
71 <div class="formSubmit">
72 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
73 {@SECURITY_TOKEN_INPUT_TAG}
74 </div>
75 {/if}
76 </form>
77
78 {if $__wcf->getSession()->getPermission('user.profile.avatar.canUploadAvatar')}
79 <script data-relocate="true">
80 $(function() {
81 WCF.Language.addObject({
82 'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
83 'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
84 'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
85 'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
86 'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
87 'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}'
88 });
89
90 {if !$__wcf->user->disableAvatar}
91 new WCF.User.Avatar.Upload();
92 {/if}
93 });
94 </script>
95 {/if}
96
97 {include file='footer'}