Merge remote-tracking branch 'refs/remotes/origin/master' into next
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / avatarEdit.tpl
1 {include file='documentHeader'}
2
3 <head>
4 <title>{lang}wcf.user.avatar.edit{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
5
6 {include file='headInclude'}
7 </head>
8
9 <body id="tpl{$templateName|ucfirst}" data-template="{$templateName}" data-application="{$templateNameApplication}">
10
11 {include file='userMenuSidebar'}
12
13 {include file='header'}
14
15 <header class="contentHeader">
16 <div class="contentHeaderTitle">
17 <h1 class="contentTitle">{lang}wcf.user.avatar.edit{/lang}</h1>
18 </div>
19
20 {hascontent}
21 <nav class="contentHeaderNavigation">
22 <ul>
23 {content}{event name='contentHeaderNavigation'}{/content}
24 </ul>
25 </nav>
26 {/hascontent}
27 </header>
28
29 {include file='userNotice'}
30
31 {if $__wcf->user->disableAvatar}
32 <p class="error">{lang}wcf.user.avatar.error.disabled{/lang}</p>
33 {/if}
34
35 {include file='formError'}
36
37 {if $success|isset}
38 <p class="success">{lang}wcf.global.success.edit{/lang}</p>
39 {/if}
40
41 <form method="post" action="{link controller='AvatarEdit'}{/link}" id="avatarForm">
42 <div class="section avatarEdit">
43 <dl class="avatarType">
44 <dt></dt>
45 <dd>
46 <label><input type="radio" name="avatarType" value="none" {if $avatarType == 'none'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.none{/lang}</label>
47 <small>{lang}wcf.user.avatar.type.none.description{/lang}</small>
48 </dd>
49 </dl>
50
51 {if $__wcf->getSession()->getPermission('user.profile.avatar.canUploadAvatar')}
52 <dl class="avatarType jsOnly{if $errorField == 'custom'} formError{/if}" id="avatarUpload">
53 <dt>
54 {if $avatarType == 'custom'}
55 {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
56 {@$__wcf->getUserProfileHandler()->getAvatar()->getCropImageTag(96)}
57 {else}
58 {@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
59 {/if}
60 {else}
61 <img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="userAvatarImage" style="width: 96px; height: 96px" />
62 {/if}
63 </dt>
64 <dd>
65 <label><input type="radio" name="avatarType" value="custom" {if $avatarType == 'custom'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.custom{/lang}</label>
66 <small>{lang}wcf.user.avatar.type.custom.description{/lang}</small>
67
68 {* placeholder for upload button: *}
69 <div class="avatarUploadButtonContainer"></div>
70
71 {if $errorField == 'custom'}
72 <small class="innerError">
73 {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
74 </small>
75 {/if}
76 </dd>
77 </dl>
78 {/if}
79
80 {if MODULE_GRAVATAR}
81 <dl class="avatarType{if $errorField == 'gravatar'} formError{/if}">
82 <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>
83 <dd>
84 <label><input type="radio" name="avatarType" value="gravatar" {if $avatarType == 'gravatar'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.gravatar{/lang}</label>
85 {if $errorField == 'gravatar'}
86 <small class="innerError">
87 {if $errorType == 'notFound'}{lang}wcf.user.avatar.type.gravatar.error.notFound{/lang}{/if}
88 </small>
89 {/if}
90 <small>{lang}wcf.user.avatar.type.gravatar.description{/lang}</small>
91 </dd>
92 </dl>
93 {/if}
94
95 {event name='avatarFields'}
96 </div>
97
98 {event name='sections'}
99
100 {if !$__wcf->user->disableAvatar}
101 <div class="formSubmit">
102 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
103 {@SECURITY_TOKEN_INPUT_TAG}
104 </div>
105 {/if}
106 </form>
107
108 {include file='footer'}
109
110 {if $__wcf->getSession()->getPermission('user.profile.avatar.canUploadAvatar')}
111 <script data-relocate="true">
112 //<![CDATA[
113 $(function() {
114 WCF.Language.addObject({
115 'wcf.user.avatar.type.custom.crop': '{lang}wcf.user.avatar.type.custom.crop{/lang}',
116 'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
117 'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
118 'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
119 'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
120 'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
121 'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}'
122 });
123
124 {if !$__wcf->user->disableAvatar}
125 {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
126 new WCF.User.Avatar.Upload(0, new WCF.User.Avatar.Crop({@$__wcf->getUserProfileHandler()->getAvatar()->avatarID}));
127 {else}
128 new WCF.User.Avatar.Upload();
129 {/if}
130 {/if}
131 });
132 //]]>
133 </script>
134 {/if}
135
136 </body>
137 </html>