Added button to insert all attachments at once (position not clear yet)
[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}',
5b2bda56 23 'wcf.attachment.insertAll': '{lang}wcf.attachment.insertAll{/lang}',
67837071
AE
24 'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}',
25 'wcf.attachment.upload.limits': '{'wcf.attachment.upload.limits'|language|encodeJS}'
26 });
27 {/if}
28
3d6f6542 29 WCF.System.Dependency.Manager.setup($callbackIdentifier, function() {
a3234fdc 30 var $textarea = $('#' + $editorName);
d47835d8 31 var $buttons = [ ];
a3234fdc 32
d47835d8 33 {include file='wysiwygToolbar'}
d45eaff6 34
d47835d8 35 var $autosave = $textarea.data('autosave');
eb1537e3 36 var $config = {
d47835d8 37 buttons: $buttons,
eb1537e3 38 minHeight: 200,
22459e14 39 plugins: [ 'wutil', 'wmonkeypatch', 'wbutton', 'wbbcode', 'wfontcolor', 'wfontfamily', 'wfontsize' ],
d47835d8
AE
40 wautosave: {
41 active: ($autosave) ? true : false,
42 key: ($autosave) ? $autosave : '',
43 saveOnInit: {if !$errorField|empty}true{else}false{/if}
a3234fdc 44 }
d47835d8 45 };
a3234fdc 46
67837071
AE
47 {if $wysiwygEnableUpload}
48 $config.plugins.push('wupload');
49 $config.wattachment = {
f1f694ff 50 attachments: [ ],
67837071
AE
51 maxCount: {@$attachmentHandler->getMaxCount()},
52 objectType: '{@$attachmentObjectType}',
53 objectID: '{@$attachmentObjectID}',
54 parentObjectID: '{@$attachmentParentObjectID}',
55 tmpHash: '{$tmpHash|encodeJS}'
56 };
f1f694ff
AE
57
58 {if $attachmentList|isset && !$attachmentList|empty}
59 {foreach from=$attachmentList item=attachment}
60 $config.wattachment.attachments.push({
61 attachmentID: {@$attachment->attachmentID},
62 filename: '{$attachment->filename|encodeJs}',
63 isImage: {if $attachment->isImage}true{else}false{/if},
64 tinyThumbnailUrl: '{if $attachment->tinyThumbnailType}{link controller='Attachment' object=$attachment}tiny=1{/link}{/if}',
65 url: '{link controller='Attachment' object=$attachment}{/link}'
66 });
67 {/foreach}
68 {/if}
67837071
AE
69 {/if}
70
eb1537e3
AE
71 {event name='javascriptInit'}
72
a3234fdc 73 $textarea.redactor($config);
3d6f6542 74 });
5e18a011 75
3d6f6542 76 head.load([
67837071 77 '{@$__wcf->getPath()}js/WCF.Attachment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}',
e3cbf45f
AE
78 '{@$__wcf->getPath()}js/3rdParty/redactor/redactor{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}',
79 {if !ENABLE_DEBUG_MODE}
80 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wcombined.min.js?v={@$__wcfVersion}',
81 {else}
82 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wbbcode.js?v={@$__wcfVersion}',
83 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wbutton.js?v={@$__wcfVersion}',
84 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontcolor.js?v={@$__wcfVersion}',
85 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontfamily.js?v={@$__wcfVersion}',
86 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wfontsize.js?v={@$__wcfVersion}',
87 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wmonkeypatch.js?v={@$__wcfVersion}',
88 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wutil.js?v={@$__wcfVersion}',
89 '{@$__wcf->getPath()}js/3rdParty/redactor/plugins/wupload.js?v={@$__wcfVersion}'
90 {/if}
3d6f6542
AE
91 {event name='javascriptFiles'}
92 ], function() {
93 WCF.System.Dependency.Manager.invoke($callbackIdentifier);
94 });
d45eaff6 95});
5e18a011 96</script>