Fix avatar cropping in ACP
authorMatthias Schmidt <gravatronics@live.com>
Fri, 3 Apr 2015 06:19:10 +0000 (08:19 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 3 Apr 2015 06:19:10 +0000 (08:19 +0200)
wcfsetup/install/files/acp/templates/avatarCropDialog.tpl [new file with mode: 0644]
wcfsetup/install/files/acp/templates/userAdd.tpl

diff --git a/wcfsetup/install/files/acp/templates/avatarCropDialog.tpl b/wcfsetup/install/files/acp/templates/avatarCropDialog.tpl
new file mode 100644 (file)
index 0000000..8dca628
--- /dev/null
@@ -0,0 +1,16 @@
+<dl class="wide">
+       <dt>{lang}wcf.user.avatar.type.custom.crop{/lang}</dt>
+       <dd>
+               <div id="userAvatarCropSelection">
+                       {@$avatar->getImageTag()}
+                       <div id="userAvatarCropOverlay"></div>
+                       <div id="userAvatarCropOverlaySelection"></div>
+               </div>
+               
+               <small>{lang}wcf.user.avatar.type.custom.crop.description{/lang}</small>
+       </dd>
+</dl>
+
+<div class="formSubmit">
+       <button data-type="save" class="buttonPrimary">{lang}wcf.global.button.save{/lang}</button>
+</div>
index 99bd3152b0f57d358b06a5e747d2a59d4603df7f..60990fda525158f33476f0402e5b82d6c3353ac9 100644 (file)
                                        </dl>
                                        
                                        <dl class="jsOnly{if $errorType[customAvatar]|isset} formError{/if}" id="avatarUpload">
-                                               <dt class="framed">{if $avatarType == 'custom'}{@$userAvatar->getImageTag(96)}{else}<img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon96" />{/if}</dt>
+                                               <dt class="framed">
+                                                       {if $avatarType == 'custom'}
+                                                               {assign var='__customAvatar' value=$userAvatar->getImageTag(96)}
+                                                               {if $userAvatar->canCrop()}
+                                                                       {assign var='__customAvatar' value=$__customAvatar|substr:0:-2}
+                                                                       {assign var='__customAvatarTitle' value='wcf.user.avatar.type.custom.crop'|language}
+                                                                       {append var='__customAvatar' value='class="userAvatarCrop jsTooltip" title="'|concat:$__customAvatarTitle:'" />'}
+                                                               {/if}
+                                                               
+                                                               {@$__customAvatar}
+                                                       {else}
+                                                               <img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon96" />
+                                                       {/if}
+                                               </dt>
                                                <dd>
                                                        <label><input type="radio" name="avatarType" value="custom" {if $avatarType == 'custom'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.custom{/lang}</label>
                                                        
                                                $('#disableAvatar').change();
                                                
                                                WCF.Language.addObject({
+                                                       'wcf.user.avatar.type.custom.crop': '{lang}wcf.user.avatar.type.custom.crop{/lang}',
                                                        'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
                                                        'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
                                                        'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
                                                        'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}'
                                                });
                                                
-                                               new WCF.User.Avatar.Upload({@$user->userID});
+                                               {if $userAvatar && $userAvatar->canCrop()}
+                                                       new WCF.User.Avatar.Upload({@$user->userID}, new WCF.User.Avatar.Crop({@$userAvatar->avatarID}));
+                                               {else}
+                                                       new WCF.User.Avatar.Upload({@$user->userID});
+                                               {/if}
                                        });
                                        //]]>
                                </script>