Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / wysiwyg.tpl
CommitLineData
67837071 1{if !$wysiwygEnableUpload|isset}{assign var=wysiwygEnableUpload value=false}{/if}
5e18a011 2<link rel="stylesheet" type="text/css" href="{@$__wcf->getPath()}js/3rdParty/redactor/redactor.css" />
9543d9fe 3<script data-relocate="true">
3f5d34eb
AE
4var __REDACTOR_ICON_PATH = '{@$__wcf->getPath()}icon/';
5var __REDACTOR_BUTTONS = [ {implode from=$__wcf->getBBCodeHandler()->getButtonBBCodes() item=__bbcode}{ icon: '{$__bbcode->wysiwygIcon}', label: '{$__bbcode->buttonLabel|language}', name: '{$__bbcode->bbcodeTag}' }{/implode} ];
5e18a011
AE
6var __REDACTOR_SMILIES = { {implode from=$defaultSmilies item=smiley}'{@$smiley->smileyCode|encodeJS}': '{@$smiley->getURL()|encodeJS}'{/implode} };
7var __REDACTOR_SOURCE_BBCODES = [ {implode from=$__wcf->getBBCodeHandler()->getSourceBBCodes() item=__bbcode}'{@$__bbcode->bbcodeTag}'{/implode} ];
d45eaff6 8</script>
9543d9fe 9<script data-relocate="true">
d45eaff6 10$(function() {
3d6f6542 11 var $editorName = '{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}';
5e18a011 12 var $callbackIdentifier = 'Redactor_' + $editorName;
d45eaff6 13
67837071
AE
14 {if $wysiwygEnableUpload}
15 WCF.Language.addObject({
16 'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
17 'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
18 'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
19 'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
20 'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
21 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}',
22 'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
23 'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}',
24 'wcf.attachment.upload.limits': '{'wcf.attachment.upload.limits'|language|encodeJS}'
25 });
26 {/if}
27
3d6f6542 28 WCF.System.Dependency.Manager.setup($callbackIdentifier, function() {
a3234fdc 29 var $textarea = $('#' + $editorName);
d47835d8 30 var $buttons = [ ];
a3234fdc 31
d47835d8 32 {include file='wysiwygToolbar'}
d45eaff6 33
d47835d8 34 var $autosave = $textarea.data('autosave');
eb1537e3 35 var $config = {
d47835d8 36 buttons: $buttons,
eb1537e3 37 minHeight: 200,
22459e14 38 plugins: [ 'wutil', 'wmonkeypatch', 'wbutton', 'wbbcode', 'wfontcolor', 'wfontfamily', 'wfontsize' ],
d47835d8
AE
39 wautosave: {
40 active: ($autosave) ? true : false,
41 key: ($autosave) ? $autosave : '',
42 saveOnInit: {if !$errorField|empty}true{else}false{/if}
a3234fdc 43 }
d47835d8 44 };
a3234fdc 45
67837071
AE
46 {if $wysiwygEnableUpload}
47 $config.plugins.push('wupload');
48 $config.wattachment = {
f1f694ff 49 attachments: [ ],
67837071
AE
50 maxCount: {@$attachmentHandler->getMaxCount()},
51 objectType: '{@$attachmentObjectType}',
52 objectID: '{@$attachmentObjectID}',
53 parentObjectID: '{@$attachmentParentObjectID}',
54 tmpHash: '{$tmpHash|encodeJS}'
55 };
f1f694ff
AE
56
57 {if $attachmentList|isset && !$attachmentList|empty}
58 {foreach from=$attachmentList item=attachment}
59 $config.wattachment.attachments.push({
60 attachmentID: {@$attachment->attachmentID},
61 filename: '{$attachment->filename|encodeJs}',
62 isImage: {if $attachment->isImage}true{else}false{/if},
63 tinyThumbnailUrl: '{if $attachment->tinyThumbnailType}{link controller='Attachment' object=$attachment}tiny=1{/link}{/if}',
64 url: '{link controller='Attachment' object=$attachment}{/link}'
65 });
66 {/foreach}
67 {/if}
67837071
AE
68 {/if}
69
eb1537e3
AE
70 {event name='javascriptInit'}
71
a3234fdc 72 $textarea.redactor($config);
3d6f6542 73 });
5e18a011 74
3d6f6542 75 head.load([
67837071 76 '{@$__wcf->getPath()}js/WCF.Attachment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}',
e3cbf45f
AE
77 '{@$__wcf->getPath()}js/3rdParty/redactor/redactor{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}',
78 {if !ENABLE_DEBUG_MODE}
79 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wcombined.min.js?v={@$__wcfVersion}',
80 {else}
81 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wbbcode.js?v={@$__wcfVersion}',
82 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wbutton.js?v={@$__wcfVersion}',
83 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontcolor.js?v={@$__wcfVersion}',
84 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontfamily.js?v={@$__wcfVersion}',
85 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontsize.js?v={@$__wcfVersion}',
86 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wmonkeypatch.js?v={@$__wcfVersion}',
87 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wutil.js?v={@$__wcfVersion}',
88 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wupload.js?v={@$__wcfVersion}'
89 {/if}
3d6f6542
AE
90 {event name='javascriptFiles'}
91 ], function() {
92 WCF.System.Dependency.Manager.invoke($callbackIdentifier);
93 });
d45eaff6 94});
5e18a011 95</script>