Commit | Line | Data |
---|---|---|
11fd4618 MW |
1 | {include file='header' pageTitle='wcf.acp.box.'|concat:$action} |
2 | ||
f5069034 JR |
3 | <script data-relocate="true"> |
4 | {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')}{include file='mediaJavaScript'}{/if} | |
be3a8e90 | 5 | |
f5069034 JR |
6 | {if $boxType == 'system'} |
7 | require(['WoltLabSuite/Core/Acp/Ui/Box/Controller/Handler'], function(AcpUiBoxControllerHandler) { | |
b1756163 | 8 | AcpUiBoxControllerHandler.init({if $boxController}{@$boxController->objectTypeID}{/if}); |
f5069034 | 9 | }); |
78b341f1 AE |
10 | {/if} |
11 | ||
12 | require(['Dictionary', 'Language', 'WoltLabSuite/Core/Acp/Ui/Box/Handler'], function(Dictionary, Language, AcpUiBoxHandler) { | |
13 | Language.addObject({ | |
e2e8c155 | 14 | 'wcf.page.pageObjectID': '{jslang}wcf.page.pageObjectID{/jslang}', |
78b341f1 AE |
15 | {foreach from=$pageNodeList item=pageNode} |
16 | {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.{@$pageNode->identifier}{/lang}{/capture} | |
17 | {if $pageObjectIDLanguageItem} | |
e2e8c155 | 18 | 'wcf.page.pageObjectID.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}', |
78b341f1 AE |
19 | {/if} |
20 | {capture assign='pageObjectIDLanguageItem'}{lang __optional=true}wcf.page.pageObjectID.search.{@$pageNode->identifier}{/lang}{/capture} | |
21 | {if $pageObjectIDLanguageItem} | |
e2e8c155 | 22 | 'wcf.page.pageObjectID.search.{@$pageNode->identifier}': '{@$pageObjectIDLanguageItem|encodeJS}', |
78b341f1 | 23 | {/if} |
5636588a | 24 | {/foreach} |
e2e8c155 MW |
25 | 'wcf.page.pageObjectID.search.noResults': '{jslang}wcf.page.pageObjectID.search.noResults{/jslang}', |
26 | 'wcf.page.pageObjectID.search.results': '{jslang}wcf.page.pageObjectID.search.results{/jslang}', | |
27 | 'wcf.page.pageObjectID.search.terms': '{jslang}wcf.page.pageObjectID.search.terms{/jslang}' | |
f5069034 | 28 | }); |
78b341f1 AE |
29 | |
30 | var handlers = new Dictionary(); | |
31 | {foreach from=$pageHandlers key=handlerPageID item=requireObjectID} | |
32 | handlers.set({@$handlerPageID}, {if $requireObjectID}true{else}false{/if}); | |
33 | {/foreach} | |
34 | ||
35 | AcpUiBoxHandler.init(handlers, '{$boxType}'); | |
36 | }); | |
be3a8e90 MS |
37 | |
38 | {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')} | |
39 | require(['WoltLabSuite/Core/Media/Manager/Select'], function(MediaManagerSelect) { | |
f5ecf730 | 40 | new MediaManagerSelect({ |
9f663473 | 41 | dialogTitle: '{jslang}wcf.media.chooseImage{/jslang}', |
dac0007f | 42 | imagesOnly: 1 |
f5ecf730 | 43 | }); |
be3a8e90 MS |
44 | }); |
45 | {/if} | |
e5ef247a AE |
46 | |
47 | {if $action === 'edit'} | |
48 | require(['Language', 'WoltLabSuite/Core/Acp/Ui/Box/Copy'], function (Language, AcpUiBoxCopy) { | |
49 | Language.addObject({ | |
e2e8c155 | 50 | 'wcf.acp.box.copy': '{jslang}wcf.acp.box.copy{/jslang}' |
e5ef247a AE |
51 | }); |
52 | ||
53 | AcpUiBoxCopy.init(); | |
54 | }); | |
55 | {/if} | |
f5069034 | 56 | </script> |
56eb7314 | 57 | |
e5ef247a AE |
58 | {if $action === 'edit'} |
59 | <div id="acpBoxCopyDialog" style="display: none"> | |
60 | <div> | |
61 | {lang}wcf.acp.box.copy.description{/lang} | |
62 | </div> | |
63 | ||
64 | <div class="formSubmit"> | |
65 | <a href="{link controller='BoxAdd' presetBoxID=$box->boxID}{/link}" class="button buttonPrimary">{lang}wcf.global.button.submit{/lang}</a> | |
66 | </div> | |
67 | </div> | |
68 | {/if} | |
69 | ||
487db634 | 70 | <header class="contentHeader"> |
b5c94e9e | 71 | <div class="contentHeaderTitle"> |
04ef1206 | 72 | <h1 class="contentTitle">{if $action == 'add'}{lang}wcf.acp.box.add{/lang}{else}{lang}wcf.acp.box.edit{/lang}{/if}</h1> |
b5c94e9e AE |
73 | </div> |
74 | ||
75 | <nav class="contentHeaderNavigation"> | |
76 | <ul> | |
e5ef247a AE |
77 | {if $action === 'edit'} |
78 | <li><a href="#" class="button jsButtonCopyBox"><span class="icon icon16 fa-copy"></span> {lang}wcf.acp.box.button.copyBox{/lang}</a></li> | |
79 | {/if} | |
b5c94e9e AE |
80 | <li><a href="{link controller='BoxList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.menu.link.cms.box.list{/lang}</span></a></li> |
81 | ||
82 | {event name='contentHeaderNavigation'} | |
83 | </ul> | |
84 | </nav> | |
11fd4618 MW |
85 | </header> |
86 | ||
fa6a7e74 | 87 | {include file='formNotice'} |
11fd4618 | 88 | |
9dc79430 AE |
89 | {if $action == 'edit' && !$lastVersion|empty} |
90 | <p class="info">{lang}wcf.acp.box.lastVersion{/lang}</p> | |
91 | {/if} | |
92 | ||
b8ff6bac | 93 | <form id="formContainer" method="post" action="{if $action == 'add'}{link controller='BoxAdd'}{/link}{else}{link controller='BoxEdit' id=$boxID}{/link}{/if}"> |
64bbd0d1 MW |
94 | <div class="section tabMenuContainer" data-active="{$activeTabMenuItem}" data-store="activeTabMenuItem" id="pageTabMenuContainer"> |
95 | <nav class="tabMenu"> | |
96 | <ul> | |
04ef1206 | 97 | <li><a href="{@$__wcf->getAnchor('general')}">{lang}wcf.global.form.data{/lang}</a></li> |
64bbd0d1 | 98 | <li><a href="{@$__wcf->getAnchor('contents')}">{lang}wcf.acp.box.contents{/lang}</a></li> |
f5ecf730 MW |
99 | <li><a href="{@$__wcf->getAnchor('pages')}">{lang}wcf.acp.page.list{/lang}</a></li> |
100 | <li><a href="{@$__wcf->getAnchor('acl')}">{lang}wcf.acl.access{/lang}</a></li> | |
64bbd0d1 MW |
101 | |
102 | {event name='tabMenuTabs'} | |
103 | </ul> | |
104 | </nav> | |
11fd4618 | 105 | |
64bbd0d1 MW |
106 | <div id="general" class="tabMenuContent"> |
107 | <div class="section"> | |
108 | <dl{if $errorField == 'name'} class="formError"{/if}> | |
109 | <dt><label for="name">{lang}wcf.global.name{/lang}</label></dt> | |
110 | <dd> | |
49568e60 | 111 | <input type="text" id="name" name="name" value="{$name}" autofocus class="long" maxlength="255"> |
64bbd0d1 MW |
112 | {if $errorField == 'name'} |
113 | <small class="innerError"> | |
114 | {if $errorType == 'empty'} | |
115 | {lang}wcf.global.form.error.empty{/lang} | |
116 | {else} | |
117 | {lang}wcf.acp.box.name.error.{@$errorType}{/lang} | |
118 | {/if} | |
119 | </small> | |
11fd4618 | 120 | {/if} |
64bbd0d1 MW |
121 | </dd> |
122 | </dl> | |
11fd4618 | 123 | |
3b5ed183 MW |
124 | {if $boxType == 'system'} |
125 | <dl id="boxControllerContainer"{if $errorField == 'boxControllerID'} class="formError"{/if}{if !$boxController} style="display: none;"{/if}> | |
126 | <dt><label for="boxControllerID">{lang}wcf.acp.box.boxController{/lang}</label></dt> | |
127 | <dd> | |
128 | <select name="boxControllerID" id="boxControllerID"> | |
129 | {foreach from=$availableBoxControllers item=availableBoxController} | |
130 | <option value="{@$availableBoxController->objectTypeID}"{if $boxController && $availableBoxController->objectTypeID == $boxController->objectTypeID} selected{/if} data-supported-positions='[{implode from=$availableBoxPositions[$availableBoxController->objectTypeID] item=$__position}"{$__position}"{/implode}]'>{lang}wcf.acp.box.boxController.{@$availableBoxController->objectType}{/lang}</option> | |
131 | {/foreach} | |
132 | </select> | |
133 | ||
134 | {if $errorField == 'boxType'} | |
135 | <small class="innerError"> | |
136 | {if $errorType == 'empty'} | |
137 | {lang}wcf.global.form.error.empty{/lang} | |
138 | {else} | |
139 | {lang}wcf.acp.box.boxController.error.{@$errorType}{/lang} | |
140 | {/if} | |
141 | </small> | |
142 | {/if} | |
143 | </dd> | |
144 | </dl> | |
145 | {/if} | |
11fd4618 | 146 | |
64bbd0d1 MW |
147 | <dl{if $errorField == 'position'} class="formError"{/if}> |
148 | <dt><label for="position">{lang}wcf.acp.box.position{/lang}</label></dt> | |
149 | <dd> | |
150 | <select name="position" id="position"> | |
151 | {foreach from=$availablePositions item=availablePosition} | |
54afcc57 | 152 | <option value="{@$availablePosition}"{if $availablePosition == $position} selected{/if}>{lang}wcf.acp.box.position.{@$availablePosition}{/lang}</option> |
64bbd0d1 MW |
153 | {/foreach} |
154 | </select> | |
155 | ||
156 | {if $errorField == 'position'} | |
157 | <small class="innerError"> | |
158 | {if $errorType == 'empty'} | |
159 | {lang}wcf.global.form.error.empty{/lang} | |
160 | {else} | |
161 | {lang}wcf.acp.box.position.error.{@$errorType}{/lang} | |
162 | {/if} | |
163 | </small> | |
5636588a | 164 | {/if} |
64bbd0d1 MW |
165 | </dd> |
166 | </dl> | |
167 | ||
168 | <dl> | |
f5ecf730 | 169 | <dt><label for="showOrder">{lang}wcf.global.showOrder{/lang}</label></dt> |
64bbd0d1 | 170 | <dd> |
e5f9b56c | 171 | <input type="number" id="showOrder" name="showOrder" value="{@$showOrder}" class="tiny" min="0"> |
64bbd0d1 MW |
172 | </dd> |
173 | </dl> | |
174 | ||
175 | <dl{if $errorField == 'cssClassName'} class="formError"{/if}> | |
176 | <dt><label for="cssClassName">{lang}wcf.acp.box.cssClassName{/lang}</label></dt> | |
177 | <dd> | |
04ef1206 | 178 | <input type="text" id="cssClassName" name="cssClassName" value="{$cssClassName}" class="long" maxlength="255"> |
64bbd0d1 MW |
179 | {if $errorField == 'cssClassName'} |
180 | <small class="innerError"> | |
181 | {if $errorType == 'empty'} | |
182 | {lang}wcf.global.form.error.empty{/lang} | |
183 | {else} | |
184 | {lang}wcf.acp.box.cssClassName.error.{@$errorType}{/lang} | |
185 | {/if} | |
186 | </small> | |
5636588a | 187 | {/if} |
64bbd0d1 MW |
188 | </dd> |
189 | </dl> | |
190 | ||
191 | <dl> | |
192 | <dt></dt> | |
193 | <dd> | |
6f2bc235 | 194 | <label><input type="checkbox" id="showHeader" name="showHeader" value="1"{if $showHeader} checked{/if}> {lang}wcf.acp.box.showHeader{/lang}</label> |
64bbd0d1 MW |
195 | </dd> |
196 | </dl> | |
bcdb2d67 | 197 | |
808efb51 AE |
198 | <dl> |
199 | <dt></dt> | |
200 | <dd> | |
201 | <label><input type="checkbox" id="isDisabled" name="isDisabled" value="1"{if $isDisabled} checked{/if}> {lang}wcf.acp.box.isDisabled{/lang}</label> | |
202 | </dd> | |
203 | </dl> | |
35f8ac11 MS |
204 | |
205 | {event name='dataFields'} | |
64bbd0d1 | 206 | </div> |
56eb7314 | 207 | |
3cab11c0 AE |
208 | {if $boxType === 'system'} |
209 | <input type="hidden" name="linkType" value="none"> | |
210 | {else} | |
211 | <section class="section"> | |
212 | <h2 class="sectionTitle">{lang}wcf.acp.box.link{/lang}</h2> | |
213 | ||
214 | <dl> | |
215 | <dt></dt> | |
216 | <dd class="floated"> | |
217 | <label><input type="radio" name="linkType" value="none"{if $linkType == 'none'} checked{/if}> {lang}wcf.acp.box.linkType.none{/lang}</label> | |
218 | <label><input type="radio" name="linkType" value="internal"{if $linkType == 'internal'} checked{/if}> {lang}wcf.acp.box.linkType.internal{/lang}</label> | |
219 | <label><input type="radio" name="linkType" value="external"{if $linkType == 'external'} checked{/if}> {lang}wcf.acp.box.linkType.external{/lang}</label> | |
220 | </dd> | |
221 | </dl> | |
222 | ||
223 | <dl id="linkPageIDContainer"{if $errorField == 'linkPageID'} class="formError"{/if}{if $linkType != 'internal'} style="display: none;"{/if}> | |
224 | <dt><label for="linkPageID">{lang}wcf.acp.page.page{/lang}</label></dt> | |
225 | <dd> | |
226 | <select name="linkPageID" id="linkPageID"> | |
227 | <option value="0">{lang}wcf.global.noSelection{/lang}</option> | |
228 | ||
229 | {foreach from=$pageNodeList item=pageNode} | |
230 | <option value="{@$pageNode->pageID}"{if $pageNode->pageID == $linkPageID} selected{/if} data-identifier="{@$pageNode->identifier}">{if $pageNode->getDepth() > 1}{@" "|str_repeat:($pageNode->getDepth() - 1)}{/if}{$pageNode->name}</option> | |
231 | {/foreach} | |
232 | </select> | |
233 | {if $errorField == 'linkPageID'} | |
234 | <small class="innerError"> | |
235 | {if $errorType == 'empty'} | |
236 | {lang}wcf.global.form.error.empty{/lang} | |
237 | {else} | |
238 | {lang}wcf.acp.box.linkPageID.error.{@$errorType}{/lang} | |
239 | {/if} | |
240 | </small> | |
241 | {/if} | |
242 | </dd> | |
243 | </dl> | |
244 | ||
245 | <dl id="linkPageObjectIDContainer"{if $errorField == 'linkPageObjectID'} class="formError"{/if}{if !$linkPageID || !$pageHandler[$linkPageID]|isset} style="display: none;"{/if}> | |
246 | <dt><label for="linkPageObjectID">{lang}wcf.page.pageObjectID{/lang}</label></dt> | |
247 | <dd> | |
248 | <div class="inputAddon"> | |
249 | <input type="text" id="linkPageObjectID" name="linkPageObjectID" value="{$linkPageObjectID}" class="short"> | |
250 | <a href="#" id="searchLinkPageObjectID" class="inputSuffix button jsTooltip" title="{lang}wcf.page.pageObjectID.search{/lang}"><span class="icon icon16 fa-search"></span></a> | |
251 | </div> | |
252 | {if $errorField == 'linkPageObjectID'} | |
253 | <small class="innerError"> | |
254 | {if $errorType == 'empty'} | |
255 | {lang}wcf.global.form.error.empty{/lang} | |
256 | {else} | |
257 | {lang}wcf.acp.box.linkPageObjectID.error.{@$errorType}{/lang} | |
258 | {/if} | |
259 | </small> | |
260 | {/if} | |
261 | </dd> | |
262 | </dl> | |
263 | ||
264 | <dl id="externalURLContainer"{if $errorField == 'externalURL'} class="formError"{/if}{if $linkType != 'external'} style="display: none;"{/if}> | |
265 | <dt><label for="externalURL">{lang}wcf.acp.box.link.externalURL{/lang}</label></dt> | |
266 | <dd> | |
267 | <input type="text" name="externalURL" id="externalURL" value="{$externalURL}" class="long" maxlength="255" placeholder="http://"> | |
268 | {if $errorField == 'externalURL'} | |
269 | <small class="innerError"> | |
270 | {if $errorType == 'empty'} | |
271 | {lang}wcf.global.form.error.empty{/lang} | |
272 | {else} | |
273 | {lang}wcf.acp.box.link.externalURL.error.{$errorType}{/lang} | |
274 | {/if} | |
275 | </small> | |
276 | {/if} | |
277 | </dd> | |
278 | </dl> | |
279 | ||
280 | {event name='linkFields'} | |
281 | </section> | |
be3a8e90 MS |
282 | {/if} |
283 | ||
284 | <div id="boxConditions"> | |
285 | {if $boxController && $boxController->getProcessor()|is_subclass_of:'wcf\system\box\IConditionBoxController'} | |
b1756163 | 286 | {@$boxController->getProcessor()->getConditionsTemplate()} |
be3a8e90 | 287 | {/if} |
64bbd0d1 | 288 | </div> |
be3a8e90 | 289 | </div> |
64bbd0d1 MW |
290 | |
291 | <div id="contents" class="tabMenuContent"> | |
292 | {if !$isMultilingual && $boxType != 'system'} | |
293 | <div class="section"> | |
294 | {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')} | |
295 | <dl{if $errorField == 'image'} class="formError"{/if}> | |
296 | <dt><label for="image">{lang}wcf.acp.box.image{/lang}</label></dt> | |
11fd4618 | 297 | <dd> |
695c56e6 | 298 | <div id="imageDisplay" class="selectedImagePreview"> |
f4d9e975 | 299 | {if $images[0]|isset && $images[0]->hasThumbnail('small')} |
64bbd0d1 MW |
300 | {@$images[0]->getThumbnailTag('small')} |
301 | {/if} | |
302 | </div> | |
a9566c33 | 303 | <p class="button jsMediaSelectButton" data-store="imageID0" data-display="imageDisplay">{lang}wcf.media.chooseImage{/lang}</p> |
e5f9b56c | 304 | <input type="hidden" name="imageID[0]" id="imageID0"{if $imageID[0]|isset} value="{@$imageID[0]}"{/if}> |
64bbd0d1 MW |
305 | {if $errorField == 'image'} |
306 | <small class="innerError">{lang}wcf.acp.box.image.error.{@$errorType}{/lang}</small> | |
11fd4618 MW |
307 | {/if} |
308 | </dd> | |
309 | </dl> | |
f4d9e975 | 310 | {elseif $action == 'edit' && $images[0]|isset && $images[0]->hasThumbnail('small')} |
64bbd0d1 MW |
311 | <dl> |
312 | <dt>{lang}wcf.acp.box.image{/lang}</dt> | |
11fd4618 | 313 | <dd> |
64bbd0d1 | 314 | <div id="imageDisplay">{@$images[0]->getThumbnailTag('small')}</div> |
11fd4618 MW |
315 | </dd> |
316 | </dl> | |
64bbd0d1 MW |
317 | {/if} |
318 | ||
319 | <dl{if $errorField == 'title'} class="formError"{/if}> | |
f5ecf730 | 320 | <dt><label for="title0">{lang}wcf.global.title{/lang}</label></dt> |
64bbd0d1 | 321 | <dd> |
04ef1206 | 322 | <input type="text" id="title0" name="title[0]" value="{if !$title[0]|empty}{$title[0]}{/if}" class="long" maxlength="255"> |
64bbd0d1 MW |
323 | {if $errorField == 'title'} |
324 | <small class="innerError"> | |
325 | {if $errorType == 'empty'} | |
326 | {lang}wcf.global.form.error.empty{/lang} | |
327 | {else} | |
328 | {lang}wcf.acp.box.title.error.{@$errorType}{/lang} | |
329 | {/if} | |
330 | </small> | |
331 | {/if} | |
332 | </dd> | |
333 | </dl> | |
334 | ||
335 | <dl{if $errorField == 'content'} class="formError"{/if}> | |
336 | <dt><label for="content0">{lang}wcf.acp.box.content{/lang}</label></dt> | |
337 | <dd> | |
3d17e142 MW |
338 | {include file='__boxAddContent' languageID=0} |
339 | ||
64bbd0d1 MW |
340 | {if $errorField == 'content'} |
341 | <small class="innerError"> | |
342 | {if $errorType == 'empty'} | |
343 | {lang}wcf.global.form.error.empty{/lang} | |
344 | {else} | |
345 | {lang}wcf.acp.box.content.error.{@$errorType}{/lang} | |
346 | {/if} | |
347 | </small> | |
348 | {/if} | |
349 | </dd> | |
350 | </dl> | |
11fd4618 | 351 | </div> |
4b0da844 AE |
352 | |
353 | {if $boxType == 'text'} | |
354 | {include file='messageFormTabs' wysiwygContainerID='content0'} | |
355 | {/if} | |
64bbd0d1 MW |
356 | {else} |
357 | <div class="tabMenuContainer"> | |
358 | <nav class="menu"> | |
359 | <ul> | |
360 | {foreach from=$availableLanguages item=availableLanguage} | |
361 | {assign var='containerID' value='language'|concat:$availableLanguage->languageID} | |
362 | <li><a href="{@$__wcf->getAnchor($containerID)}">{$availableLanguage->languageName}</a></li> | |
363 | {/foreach} | |
364 | </ul> | |
365 | </nav> | |
366 | ||
367 | {foreach from=$availableLanguages item=availableLanguage} | |
368 | <div id="language{@$availableLanguage->languageID}" class="tabMenuContent"> | |
369 | <div class="section"> | |
370 | {if $boxType != 'system'} | |
371 | {if $__wcf->session->getPermission('admin.content.cms.canUseMedia')} | |
372 | <dl{if $errorField == 'image'|concat:$availableLanguage->languageID} class="formError"{/if}> | |
373 | <dt><label for="image{@$availableLanguage->languageID}">{lang}wcf.acp.box.image{/lang}</label></dt> | |
374 | <dd> | |
695c56e6 | 375 | <div id="imageDisplay{@$availableLanguage->languageID}" class="selectedImagePreview"> |
f4d9e975 | 376 | {if $images[$availableLanguage->languageID]|isset && $images[$availableLanguage->languageID]->hasThumbnail('small')} |
64bbd0d1 MW |
377 | {@$images[$availableLanguage->languageID]->getThumbnailTag('small')} |
378 | {/if} | |
379 | </div> | |
a9566c33 | 380 | <p class="button jsMediaSelectButton" data-store="imageID{@$availableLanguage->languageID}" data-display="imageDisplay{@$availableLanguage->languageID}">{lang}wcf.media.chooseImage{/lang}</p> |
e5f9b56c | 381 | <input type="hidden" name="imageID[{@$availableLanguage->languageID}]" id="imageID{@$availableLanguage->languageID}"{if $imageID[$availableLanguage->languageID]|isset} value="{@$imageID[$availableLanguage->languageID]}"{/if}> |
64bbd0d1 MW |
382 | {if $errorField == 'image'|concat:$availableLanguage->languageID} |
383 | <small class="innerError">{lang}wcf.acp.box.image.error.{@$errorType}{/lang}</small> | |
384 | {/if} | |
385 | </dd> | |
386 | </dl> | |
f4d9e975 | 387 | {elseif $action == 'edit' && $images[$availableLanguage->languageID]|isset && $images[$availableLanguage->languageID]->hasThumbnail('small')} |
64bbd0d1 MW |
388 | <dl> |
389 | <dt>{lang}wcf.acp.box.image{/lang}</dt> | |
390 | <dd> | |
391 | <div id="imageDisplay">{@$images[$availableLanguage->languageID]->getThumbnailTag('small')}</div> | |
392 | </dd> | |
393 | </dl> | |
394 | {/if} | |
395 | {/if} | |
396 | ||
397 | <dl{if $errorField == 'title'|concat:$availableLanguage->languageID} class="formError"{/if}> | |
2f273839 | 398 | <dt><label for="title{@$availableLanguage->languageID}">{lang}wcf.global.title{/lang}</label></dt> |
64bbd0d1 | 399 | <dd> |
04ef1206 | 400 | <input type="text" id="title{@$availableLanguage->languageID}" name="title[{@$availableLanguage->languageID}]" value="{if !$title[$availableLanguage->languageID]|empty}{$title[$availableLanguage->languageID]}{/if}" class="long" maxlength="255"> |
64bbd0d1 MW |
401 | {if $errorField == 'title'|concat:$availableLanguage->languageID} |
402 | <small class="innerError"> | |
403 | {if $errorType == 'empty'} | |
404 | {lang}wcf.global.form.error.empty{/lang} | |
405 | {else} | |
406 | {lang}wcf.acp.box.title.error.{@$errorType}{/lang} | |
407 | {/if} | |
408 | </small> | |
409 | {/if} | |
410 | </dd> | |
411 | </dl> | |
412 | ||
413 | {if $boxType != 'system'} | |
414 | <dl{if $errorField == 'content'|concat:$availableLanguage->languageID} class="formError"{/if}> | |
415 | <dt><label for="content{@$availableLanguage->languageID}">{lang}wcf.acp.box.content{/lang}</label></dt> | |
416 | <dd> | |
3d17e142 MW |
417 | {include file='__boxAddContent' languageID=$availableLanguage->languageID} |
418 | ||
64bbd0d1 MW |
419 | {if $errorField == 'content'|concat:$availableLanguage->languageID} |
420 | <small class="innerError"> | |
421 | {if $errorType == 'empty'} | |
422 | {lang}wcf.global.form.error.empty{/lang} | |
423 | {else} | |
424 | {lang}wcf.acp.box.content.error.{@$errorType}{/lang} | |
425 | {/if} | |
426 | </small> | |
427 | {/if} | |
428 | </dd> | |
429 | </dl> | |
4b0da844 AE |
430 | |
431 | {if $boxType == 'text'} | |
432 | {include file='messageFormTabs' wysiwygContainerID='content'|concat:$availableLanguage->languageID} | |
433 | {/if} | |
64bbd0d1 MW |
434 | {/if} |
435 | </div> | |
436 | </div> | |
437 | {/foreach} | |
438 | </div> | |
439 | {/if} | |
11fd4618 | 440 | </div> |
64bbd0d1 MW |
441 | |
442 | <div id="pages" class="tabMenuContent"> | |
443 | <div class="section"> | |
444 | <dl> | |
445 | <dt></dt> | |
446 | <dd> | |
6f2bc235 | 447 | <label><input type="checkbox" id="visibleEverywhere" name="visibleEverywhere" value="1"{if $visibleEverywhere} checked{/if}> {lang}wcf.acp.box.visibleEverywhere{/lang}</label> |
f5ecf730 | 448 | <script data-relocate="true"> |
e6a11b4a | 449 | require([], function() { |
fe7801f3 AE |
450 | // visibility toggle |
451 | var visibilityExceptionHidden = elById('visibilityExceptionHidden'); | |
452 | var visibilityExceptionVisible = elById('visibilityExceptionVisible'); | |
453 | ||
454 | elById('visibleEverywhere').addEventListener('change', function() { | |
455 | window[this.checked ? 'elShow' : 'elHide'](visibilityExceptionHidden); | |
456 | window[this.checked ? 'elHide' : 'elShow'](visibilityExceptionVisible); | |
457 | }); | |
f5ecf730 MW |
458 | }); |
459 | </script> | |
64bbd0d1 MW |
460 | </dd> |
461 | </dl> | |
462 | ||
463 | <dl> | |
f5ecf730 MW |
464 | <dt> |
465 | <span id="visibilityExceptionVisible"{if $visibleEverywhere} style="display: none"{/if}>{lang}wcf.acp.box.visibilityException.visible{/lang}</span> | |
466 | <span id="visibilityExceptionHidden"{if !$visibleEverywhere} style="display: none"{/if}>{lang}wcf.acp.box.visibilityException.hidden{/lang}</span> | |
467 | </dt> | |
64bbd0d1 | 468 | <dd> |
e6a11b4a | 469 | {include file='scrollablePageCheckboxList' pageCheckboxListContainerID='boxVisibilitySettings' pageCheckboxID='pageIDs'} |
64bbd0d1 MW |
470 | </dd> |
471 | </dl> | |
472 | </div> | |
473 | </div> | |
98889e94 MW |
474 | |
475 | <div id="acl" class="tabMenuContent"> | |
476 | {include file='aclSimple'} | |
477 | </div> | |
ac2ab969 MS |
478 | |
479 | {event name='tabMenuContents'} | |
64bbd0d1 | 480 | </div> |
11fd4618 MW |
481 | |
482 | <div class="formSubmit"> | |
e5f9b56c MW |
483 | <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s"> |
484 | <input type="hidden" name="isMultilingual" value="{@$isMultilingual}"> | |
f5ecf730 | 485 | <input type="hidden" name="boxType" value="{$boxType}"> |
11fd4618 MW |
486 | {@SECURITY_TOKEN_INPUT_TAG} |
487 | </div> | |
488 | </form> | |
489 | ||
490 | {include file='footer'} |