Merge branch '3.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / styleAdd.tpl
CommitLineData
6c80f0df
AE
1{include file='header' pageTitle='wcf.acp.style.'|concat:$action}
2
b3ac08d1
AE
3<link href="{@$__wcf->getPath()}acp/style/acpStyleEditor.css" type="text/css" rel="stylesheet">
4
90b4b964
AE
5{js application='wcf' acp='true' file='WCF.ACP.Style'}
6{js application='wcf' file='WCF.ColorPicker' bundle='WCF.Combined'}
9543d9fe 7<script data-relocate="true">
87fc5501 8 require([
65a5d80c
AE
9 'WoltLabSuite/Core/Acp/Ui/Style/CoverPhoto/Delete', 'WoltLabSuite/Core/Acp/Ui/Style/CoverPhoto/Upload', 'WoltLabSuite/Core/Acp/Ui/Style/Favicon/Upload', 'WoltLabSuite/Core/Acp/Ui/Style/Image/Upload',
10 'WoltLabSuite/Core/Acp/Ui/Style/Editor', 'WoltLabSuite/Core/Ui/Toggle/Input', 'Language'
87fc5501 11 ], function(
65a5d80c
AE
12 AcpUiStyleCoverPhotoDelete, AcpUiStyleCoverPhotoUpload, AcpUiStyleFaviconUpload, AcpUiStyleImageUpload,
13 AcpUiStyleEditor, UiToggleInput, Language
87fc5501 14 ) {
90b4b964
AE
15 AcpUiStyleEditor.setup({
16 isTainted: {if $isTainted}true{else}false{/if},
b3ac08d1
AE
17 styleId: {if $action === 'edit'}{@$style->styleID}{else}0{/if},
18 styleRuleMap: styleRuleMap
90b4b964 19 });
59ab4d0f 20
2e572b29
AE
21 new AcpUiStyleImageUpload({if $action == 'add'}0{else}{@$style->styleID}{/if}, '{$tmpHash}', false);
22 new AcpUiStyleImageUpload({if $action == 'add'}0{else}{@$style->styleID}{/if}, '{$tmpHash}', true);
6b4444ce
MW
23
24 new UiToggleInput('input[name="useGoogleFont"]', {
25 show: ['#wcfFontFamilyGoogleContainer']
26 });
87fc5501
AE
27
28 {if $action === 'edit'}
87fc5501 29 new AcpUiStyleFaviconUpload({@$style->styleID});
65a5d80c
AE
30
31 {if MODULE_USER_COVER_PHOTO}
32 Language.addObject({
33 'wcf.acp.style.coverPhoto.delete.confirmMessage': '{lang}wcf.acp.style.coverPhoto.delete.confirmMessage{/lang}',
34 'wcf.user.coverPhoto.upload.error.invalidExtension': '{lang}wcf.user.coverPhoto.upload.error.invalidExtension{/lang}',
35 'wcf.user.coverPhoto.upload.error.minHeight': '{lang}wcf.user.coverPhoto.upload.error.minHeight{/lang}',
36 'wcf.user.coverPhoto.upload.error.minWidth': '{lang}wcf.user.coverPhoto.upload.error.minWidth{/lang}',
37 'wcf.user.coverPhoto.upload.error.uploadFailed': '{lang}wcf.user.coverPhoto.upload.error.uploadFailed{/lang}'
38 });
39
40 AcpUiStyleCoverPhotoDelete.init({@$style->styleID});
41 new AcpUiStyleCoverPhotoUpload({@$style->styleID});
42 {/if}
87fc5501 43 {/if}
90b4b964
AE
44 });
45
6c80f0df
AE
46 $(function() {
47 new WCF.ColorPicker('.jsColorPicker');
6c80f0df
AE
48
49 WCF.Language.addObject({
2475d2a3
MW
50 'wcf.style.colorPicker': '{lang}wcf.style.colorPicker{/lang}',
51 'wcf.style.colorPicker.new': '{lang}wcf.style.colorPicker.new{/lang}',
06c6034f 52 'wcf.style.colorPicker.current': '{lang}wcf.style.colorPicker.current{/lang}',
40645848 53 'wcf.style.colorPicker.button.apply': '{lang}wcf.style.colorPicker.button.apply{/lang}',
91fa523c
AE
54 'wcf.acp.style.favicon.error.dimensions': '{lang}wcf.acp.style.favicon.error.dimensions{/lang}',
55 'wcf.acp.style.favicon.error.invalidExtension': '{lang}wcf.acp.style.favicon.error.invalidExtension{/lang}',
40645848 56 'wcf.acp.style.image.error.invalidExtension': '{lang}wcf.acp.style.image.error.invalidExtension{/lang}'
6c80f0df 57 });
83d1d0e7 58 new WCF.ACP.Style.LogoUpload('{$tmpHash}', '{@$__wcf->getPath()}images/');
4a292263 59 new WCF.ACP.Style.LogoUploadMobile('{$tmpHash}', '{@$__wcf->getPath()}images/');
6c80f0df 60
315c6dc0 61 {if $action == 'edit'}
6c80f0df
AE
62 new WCF.ACP.Style.CopyStyle({@$style->styleID});
63
64 WCF.Language.addObject({
c842ea04 65 'wcf.acp.style.copyStyle.confirmMessage': '{@"wcf.acp.style.copyStyle.confirmMessage"|language|encodeJS}'
6c80f0df
AE
66 });
67 {/if}
46818b6a
MW
68
69 $('.jsUnitSelect').change(function(event) {
70 var $target = $(event.currentTarget);
87fc5501 71 $target.prev().attr('step', (($target.val() === 'em' || $target.val() === 'rem') ? '0.01' : '1'));
46818b6a 72 }).trigger('change');
6c80f0df 73 });
6c80f0df 74</script>
95961bdf
MW
75
76<header class="contentHeader">
b5c94e9e
AE
77 <div class="contentHeaderTitle">
78 <h1 class="contentTitle">{lang}wcf.acp.style.{$action}{/lang}</h1>
79 {if $action == 'edit'}<p class="contentHeaderDescription">{$styleName}</p>{/if}
80 </div>
81
82 <nav class="contentHeaderNavigation">
315c6dc0
MW
83 <ul>
84 {if $action == 'edit'}
f2b50825
AE
85 <li><a href="{link controller='StyleExport' id=$style->styleID}{/link}" class="button"><span class="icon icon16 fa-download"></span> <span>{lang}wcf.acp.style.exportStyle{/lang}</span></a></li>
86 <li><a class="jsCopyStyle button"><span class="icon icon16 fa-copy"></span> <span>{lang}wcf.acp.style.copyStyle{/lang}</span></a></li>
315c6dc0
MW
87 {/if}
88
f2b50825 89 <li><a href="{link controller='StyleList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.menu.link.style.list{/lang}</span></a></li>
315c6dc0 90
b5c94e9e 91 {event name='contentHeaderNavigation'}
315c6dc0
MW
92 </ul>
93 </nav>
b5c94e9e
AE
94</header>
95
13744d6e
F
96{if !$isTainted}
97 <p class="info">{lang}wcf.acp.style.protected{/lang}</p>
98{/if}
b5c94e9e
AE
99
100{include file='formError'}
101
102{if $success|isset}
103 <p class="success">{lang}wcf.global.success.{$action}{/lang}</p>
104{/if}
6c80f0df
AE
105
106<form method="post" action="{if $action == 'add'}{link controller='StyleAdd'}{/link}{else}{link controller='StyleEdit' id=$styleID}{/link}{/if}">
95961bdf 107 <div class="section tabMenuContainer" data-active="{$activeTabMenuItem}" data-store="activeTabMenuItem" id="styleTabMenuContainer">
6c80f0df
AE
108 <nav class="tabMenu">
109 <ul>
110 <li><a href="{@$__wcf->getAnchor('general')}">{lang}wcf.acp.style.general{/lang}</a></li>
111 <li><a href="{@$__wcf->getAnchor('globals')}">{lang}wcf.acp.style.globals{/lang}</a></li>
112 <li><a href="{@$__wcf->getAnchor('colors')}">{lang}wcf.acp.style.colors{/lang}</a></li>
113 <li><a href="{@$__wcf->getAnchor('advanced')}">{lang}wcf.acp.style.advanced{/lang}</a></li>
7991009f
MS
114
115 {event name='tabMenuTabs'}
6c80f0df
AE
116 </ul>
117 </nav>
118
119 {* general *}
95961bdf
MW
120 <div id="general" class="tabMenuContent">
121 <div class="section">
6c80f0df
AE
122 <dl{if $errorField == 'styleName'} class="formError"{/if}>
123 <dt><label for="styleName">{lang}wcf.acp.style.styleName{/lang}</label></dt>
124 <dd>
e5f9b56c 125 <input type="text" name="styleName" id="styleName" value="{$styleName}" class="long">
6c80f0df
AE
126 {if $errorField == 'styleName'}
127 <small class="innerError">
128 {if $errorType == 'empty'}
129 {lang}wcf.global.form.error.empty{/lang}
130 {else}
dadc0d16 131 {lang}wcf.acp.style.styleName.error.{$errorType}{/lang}
6c80f0df
AE
132 {/if}
133 </small>
134 {/if}
135 </dd>
136 </dl>
137 <dl{if $errorField == 'authorName'} class="formError"{/if}>
138 <dt><label for="authorName">{lang}wcf.acp.style.authorName{/lang}</label></dt>
139 <dd>
e5f9b56c 140 <input type="text" name="authorName" id="authorName" value="{$authorName}" class="long"{if !$isTainted} readonly{/if}>
6c80f0df
AE
141 {if $errorField == 'authorName'}
142 <small class="innerError">
143 {if $errorType == 'empty'}
144 {lang}wcf.global.form.error.empty{/lang}
145 {else}
dadc0d16 146 {lang}wcf.acp.style.authorName.error.{$errorType}{/lang}
6c80f0df
AE
147 {/if}
148 </small>
149 {/if}
150 </dd>
151 </dl>
152 <dl{if $errorField == 'copyright'} class="formError"{/if}>
153 <dt><label for="copyright">{lang}wcf.acp.style.copyright{/lang}</label></dt>
154 <dd>
e5f9b56c 155 <input type="text" name="copyright" id="copyright" value="{$copyright}" class="long"{if !$isTainted} readonly{/if}>
6c80f0df
AE
156 {if $errorField == 'copyright'}
157 <small class="innerError">
158 {if $errorType == 'empty'}
159 {lang}wcf.global.form.error.empty{/lang}
160 {else}
dadc0d16 161 {lang}wcf.acp.style.copyright.error.{$errorType}{/lang}
6c80f0df
AE
162 {/if}
163 </small>
164 {/if}
165 </dd>
166 </dl>
167 <dl{if $errorField == 'styleVersion'} class="formError"{/if}>
168 <dt><label for="styleVersion">{lang}wcf.acp.style.styleVersion{/lang}</label></dt>
169 <dd>
e5f9b56c 170 <input type="text" name="styleVersion" id="styleVersion" value="{$styleVersion}" class="small"{if !$isTainted} readonly{/if}>
6c80f0df
AE
171 {if $errorField == 'styleVersion'}
172 <small class="innerError">
173 {if $errorType == 'empty'}
174 {lang}wcf.global.form.error.empty{/lang}
175 {else}
dadc0d16 176 {lang}wcf.acp.style.styleVersion.error.{$errorType}{/lang}
6c80f0df
AE
177 {/if}
178 </small>
179 {/if}
180 </dd>
181 </dl>
811f5a93
AE
182 <dl{if $errorField == 'apiVersion'} class="formError"{/if}>
183 <dt><label for="apiVersion">{lang}wcf.acp.style.apiVersion{/lang}</label></dt>
184 <dd>
185 <select name="apiVersion" id="apiVersion"{if !$isTainted} disabled{/if}>
186 {foreach from=$supportedApiVersions item=supportedApiVersion}
187 <option value="{$supportedApiVersion}"{if $supportedApiVersion === $apiVersion} selected{/if}>{$supportedApiVersion} ({lang}wcf.acp.style.apiVersion.{if $supportedApiVersion === $recommendedApiVersion}recommended{else}deprecated{/if}{/lang})</option>
188 {/foreach}
189 </select>
190 <small>{lang}wcf.acp.style.apiVersion.description{/lang}</small>
191 </dd>
192 </dl>
6c80f0df
AE
193 <dl{if $errorField == 'styleDate'} class="formError"{/if}>
194 <dt><label for="styleDate">{lang}wcf.acp.style.styleDate{/lang}</label></dt>
195 <dd>
e5f9b56c 196 <input type="date" name="styleDate" id="styleDate" value="{$styleDate}" class="small"{if !$isTainted} readonly{/if}>
6c80f0df
AE
197 {if $errorField == 'styleDate'}
198 <small class="innerError">
199 {if $errorType == 'empty'}
200 {lang}wcf.global.form.error.empty{/lang}
201 {else}
dadc0d16 202 {lang}wcf.acp.style.styleDate.error.{$errorType}{/lang}
6c80f0df
AE
203 {/if}
204 </small>
205 {/if}
206 </dd>
207 </dl>
208 <dl{if $errorField == 'license'} class="formError"{/if}>
209 <dt><label for="license">{lang}wcf.acp.style.license{/lang}</label></dt>
210 <dd>
e5f9b56c 211 <input type="text" name="license" id="license" value="{$license}" class="long"{if !$isTainted} readonly{/if}>
6c80f0df
AE
212 {if $errorField == 'license'}
213 <small class="innerError">
214 {if $errorType == 'empty'}
215 {lang}wcf.global.form.error.empty{/lang}
216 {else}
dadc0d16 217 {lang}wcf.acp.style.license.error.{$errorType}{/lang}
6c80f0df
AE
218 {/if}
219 </small>
220 {/if}
221 </dd>
222 </dl>
223 <dl{if $errorField == 'authorURL'} class="formError"{/if}>
224 <dt><label for="authorURL">{lang}wcf.acp.style.authorURL{/lang}</label></dt>
225 <dd>
e5f9b56c 226 <input type="text" name="authorURL" id="authorURL" value="{$authorURL}" class="long"{if !$isTainted} readonly{/if}>
6c80f0df
AE
227 {if $errorField == 'authorURL'}
228 <small class="innerError">
229 {if $errorType == 'empty'}
230 {lang}wcf.global.form.error.empty{/lang}
231 {else}
dadc0d16 232 {lang}wcf.acp.style.authorURL.error.{$errorType}{/lang}
6c80f0df
AE
233 {/if}
234 </small>
235 {/if}
236 </dd>
237 </dl>
90b4b964
AE
238 <dl{if $errorField == 'packageName'} class="formError"{/if}>
239 <dt><label for="packageName">{lang}wcf.acp.style.packageName{/lang}</label></dt>
240 <dd>
e5f9b56c 241 <input type="text" name="packageName" id="packageName" value="{$packageName}" class="long"{if !$isTainted} readonly{/if}>
90b4b964
AE
242 {if $errorField == 'packageName'}
243 <small class="innerError">{lang}wcf.acp.style.packageName.error.{$errorType}{/lang}</small>
244 {/if}
245 </dd>
246 </dl>
6c80f0df
AE
247 <dl{if $errorField == 'styleDescription'} class="formError"{/if}>
248 <dt><label for="styleDescription">{lang}wcf.acp.style.styleDescription{/lang}</label></dt>
249 <dd>
47ccf3ef 250 <textarea name="styleDescription" id="styleDescription">{$i18nPlainValues['styleDescription']}</textarea>
6c80f0df
AE
251 {if $errorField == 'styleDescription'}
252 <small class="innerError">
253 {if $errorType == 'empty'}
254 {lang}wcf.global.form.error.empty{/lang}
255 {else}
dadc0d16 256 {lang}wcf.acp.style.styleDescription.error.{$errorType}{/lang}
6c80f0df
AE
257 {/if}
258 </small>
259 {/if}
aa5fecb3
AE
260
261 {include file='multipleLanguageInputJavascript' elementIdentifier='styleDescription' forceSelection=true}
6c80f0df
AE
262 </dd>
263 </dl>
7991009f
MS
264
265 {event name='dataFields'}
95961bdf 266 </div>
6c80f0df 267
95961bdf
MW
268 <section class="section">
269 <h2 class="sectionTitle">{lang}wcf.acp.style.general.files{/lang}</h2>
6c80f0df
AE
270
271 <dl{if $errorField == 'image'} class="formError"{/if}>
272 <dt><label for="image">{lang}wcf.acp.style.image{/lang}</label></dt>
95961bdf 273 <dd>
695c56e6
MW
274 <div class="selectedImagePreview">
275 <img src="{if $action == 'add'}{@$__wcf->getPath()}images/stylePreview.png{else}{@$style->getPreviewImage()}{/if}" alt="" id="styleImage">
276 </div>
6c80f0df 277 <div id="uploadImage"></div>
6c80f0df
AE
278 <small>{lang}wcf.acp.style.image.description{/lang}</small>
279 </dd>
280 </dl>
2e572b29
AE
281 <dl{if $errorField == 'image'} class="formError"{/if}>
282 <dt><label for="image2x">{lang}wcf.acp.style.image2x{/lang}</label></dt>
283 <dd>
284 <div class="selectedImagePreview">
285 <img src="{if $action == 'add'}{@$__wcf->getPath()}images/stylePreview@2x.png{else}{@$style->getPreviewImage2x()}{/if}" alt="" id="styleImage2x">
286 </div>
287 <div id="uploadImage2x"></div>
288 <small>{lang}wcf.acp.style.image2x.description{/lang}</small>
289 </dd>
290 </dl>
f9e7df4b 291 {if $availableTemplateGroups|count}
6c80f0df
AE
292 <dl{if $errorField == 'templateGroupID'} class="formError"{/if}>
293 <dt><label for="templateGroupID">{lang}wcf.acp.style.templateGroupID{/lang}</label></dt>
294 <dd>
295 <select name="templateGroupID" id="templateGroupID">
f9e7df4b
MW
296 <option value="0">{lang}wcf.acp.template.group.default{/lang}</option>
297 {foreach from=$availableTemplateGroups item=templateGroup}
b7908c02 298 <option value="{@$templateGroup->templateGroupID}"{if $templateGroup->templateGroupID == $templateGroupID} selected{/if}>{$templateGroup->getName()}</option>
f9e7df4b 299 {/foreach}
6c80f0df
AE
300 </select>
301 {if $errorField == 'templateGroupID'}
302 <small class="innerError">
303 {if $errorType == 'empty'}
304 {lang}wcf.global.form.error.empty{/lang}
305 {else}
dadc0d16 306 {lang}wcf.acp.style.templateGroupID.error.{$errorType}{/lang}
6c80f0df
AE
307 {/if}
308 </small>
309 {/if}
310 </dd>
311 </dl>
f9e7df4b 312 {/if}
6c80f0df
AE
313 <dl{if $errorField == 'imagePath'} class="formError"{/if}>
314 <dt><label for="imagePath">{lang}wcf.acp.style.imagePath{/lang}</label></dt>
315 <dd>
e5f9b56c 316 <input type="text" name="imagePath" id="imagePath" value="{$imagePath}" class="long">
6c80f0df
AE
317 {if $errorField == 'imagePath'}
318 <small class="innerError">
319 {if $errorType == 'empty'}
320 {lang}wcf.global.form.error.empty{/lang}
321 {else}
dadc0d16 322 {lang}wcf.acp.style.imagePath.error.{$errorType}{/lang}
6c80f0df
AE
323 {/if}
324 </small>
325 {/if}
326 <small>{lang}wcf.acp.style.imagePath.description{/lang}</small>
327 </dd>
328 </dl>
7991009f
MS
329
330 {event name='fileFields'}
95961bdf 331 </section>
7991009f 332
87fc5501 333 {if $action === 'edit'}
91fa523c
AE
334 <section class="section">
335 <h2 class="sectionTitle">{lang}wcf.acp.style.general.favicon{/lang}</h2>
336
337 <dl>
338 <dt><label for="favicon">{lang}wcf.acp.style.favicon{/lang}</label></dt>
339 <dd>
340 <div class="selectedFaviconPreview">
87fc5501 341 <img src="{@$style->getFaviconAppleTouchIcon()}" alt="" id="faviconImage" style="height: 32px; width: 32px;">
91fa523c
AE
342 </div>
343 <div id="uploadFavicon"></div>
344 <small>{lang}wcf.acp.style.favicon.description{/lang}</small>
345 </dd>
346 </dl>
347
348 {event name='faviconFields'}
349 </section>
65a5d80c
AE
350
351 {if MODULE_USER_COVER_PHOTO}
352 <section class="section">
353 <h2 class="sectionTitle">{lang}wcf.acp.style.general.coverPhoto{/lang}</h2>
354
355 <dl>
356 <dt><label for="coverPhoto">{lang}wcf.acp.style.coverPhoto{/lang}</label></dt>
357 <dd>
358 <div id="coverPhotoPreview" style="background-image: url({@$__wcf->getPath()}images/coverPhotos/{@$style->getCoverPhoto()})"></div>
359 <div id="uploadCoverPhoto">
95bb95f9 360 <a href="#" class="button jsButtonDeleteCoverPhoto"{if !$style->coverPhotoExtension} style="display:none"{/if}>{lang}wcf.global.button.delete{/lang}</a>
65a5d80c
AE
361 </div>
362 <small>{lang}wcf.acp.style.coverPhoto.description{/lang}</small>
363 </dd>
364 </dl>
365
366 {event name='coverPhotoFields'}
367 </section>
368 {/if}
91fa523c
AE
369 {/if}
370
7991009f 371 {event name='generalFieldsets'}
6c80f0df
AE
372 </div>
373
374 {* globals *}
95961bdf 375 <div id="globals" class="tabMenuContent">
6c80f0df 376 {* layout *}
95961bdf
MW
377 <section class="section">
378 <h2 class="sectionTitle">{lang}wcf.acp.style.globals.layout{/lang}</h2>
6c80f0df
AE
379
380 <dl>
77f70354 381 <dt></dt>
6c80f0df 382 <dd><label>
6f2bc235 383 <input type="checkbox" id="useFluidLayout" name="useFluidLayout" value="1"{if $variables[useFluidLayout]} checked{/if}>
6c80f0df
AE
384 <span>{lang}wcf.acp.style.globals.useFluidLayout{/lang}</span>
385 </label></dd>
386 </dl>
a78137a1
MW
387
388 <dl id="fluidLayoutMinWidth">
389 <dt><label for="wcfLayoutMinWidth">{lang}wcf.acp.style.globals.fluidLayoutMinWidth{/lang}</label></dt>
390 <dd>
e5f9b56c 391 <input type="number" id="wcfLayoutMinWidth" name="wcfLayoutMinWidth" value="{@$variables[wcfLayoutMinWidth]}" class="tiny">
67b82019
MW
392 <select name="wcfLayoutMinWidth_unit" class="jsUnitSelect">
393 {foreach from=$availableUnits item=unit}
394 <option value="{@$unit}"{if $variables[wcfLayoutMinWidth_unit] == $unit} selected{/if}>{@$unit}</option>
395 {/foreach}
396 </select>
a78137a1
MW
397 </dd>
398 </dl>
399 <dl id="fluidLayoutMaxWidth">
400 <dt><label for="wcfLayoutMaxWidth">{lang}wcf.acp.style.globals.fluidLayoutMaxWidth{/lang}</label></dt>
b3ef228c 401 <dd>
e5f9b56c 402 <input type="number" id="wcfLayoutMaxWidth" name="wcfLayoutMaxWidth" value="{@$variables[wcfLayoutMaxWidth]}" class="tiny">
67b82019
MW
403 <select name="wcfLayoutMaxWidth_unit" class="jsUnitSelect">
404 {foreach from=$availableUnits item=unit}
405 <option value="{@$unit}"{if $variables[wcfLayoutMaxWidth_unit] == $unit} selected{/if}>{@$unit}</option>
406 {/foreach}
407 </select>
b3ef228c
MS
408 </dd>
409 </dl>
a78137a1 410
b3ef228c
MS
411 <dl id="fixedLayoutVariables">
412 <dt><label for="wcfLayoutFixedWidth">{lang}wcf.acp.style.globals.fixedLayoutWidth{/lang}</label></dt>
413 <dd>
e5f9b56c 414 <input type="number" id="wcfLayoutFixedWidth" name="wcfLayoutFixedWidth" value="{@$variables[wcfLayoutFixedWidth]}" class="tiny">
67b82019
MW
415 <select name="wcfLayoutFixedWidth_unit" class="jsUnitSelect">
416 {foreach from=$availableUnits item=unit}
417 <option value="{@$unit}"{if $variables[wcfLayoutFixedWidth_unit] == $unit} selected{/if}>{@$unit}</option>
418 {/foreach}
419 </select>
b3ef228c
MS
420 </dd>
421 </dl>
a78137a1
MW
422
423 {event name='layoutFields'}
95961bdf 424 </section>
a78137a1
MW
425
426 {* logo *}
95961bdf
MW
427 <section class="section">
428 <h2 class="sectionTitle">{lang}wcf.acp.style.globals.pageLogo{/lang}</h2>
a78137a1 429
6c80f0df
AE
430 <dl>
431 <dt><label for="pageLogo">{lang}wcf.acp.style.globals.pageLogo{/lang}</label></dt>
95961bdf 432 <dd>
695c56e6
MW
433 <div class="selectedImagePreview">
434 <img src="" alt="" id="styleLogo" style="max-width: 100%">
435 </div>
83d1d0e7 436 <div id="uploadLogo"></div>
83d1d0e7 437 </dd>
6c80f0df 438 <dd>
e5f9b56c 439 <input type="text" name="pageLogo" id="pageLogo" value="{$variables[pageLogo]}" class="long">
6c80f0df
AE
440 <small>{lang}wcf.acp.style.globals.pageLogo.description{/lang}</small>
441 </dd>
442 </dl>
7991009f 443
4a292263
MW
444 <dl>
445 <dt><label for="pageLogoWidth">{lang}wcf.acp.style.globals.pageLogo.width{/lang}</label></dt>
446 <dd>
447 <input type="number" name="pageLogoWidth" id="pageLogoWidth" value="{$variables[pageLogoWidth]}" class="tiny">
448 </dd>
449 </dl>
450 <dl>
451 <dt><label for="pageLogoHeight">{lang}wcf.acp.style.globals.pageLogo.height{/lang}</label></dt>
452 <dd>
453 <input type="number" name="pageLogoHeight" id="pageLogoHeight" value="{$variables[pageLogoHeight]}" class="tiny">
454 </dd>
455 </dl>
456
457 <dl>
458 <dt><label for="pageLogoMobile">{lang}wcf.acp.style.globals.pageLogoMobile{/lang}</label></dt>
459 <dd>
695c56e6
MW
460 <div class="selectedImagePreview">
461 <img src="" alt="" id="styleLogoMobile" style="max-width: 100%">
462 </div>
4a292263
MW
463 <div id="uploadLogoMobile"></div>
464 </dd>
465 <dd>
466 <input type="text" name="pageLogoMobile" id="pageLogoMobile" value="{$variables[pageLogoMobile]}" class="long">
467 <small>{lang}wcf.acp.style.globals.pageLogoMobile.description{/lang}</small>
468 </dd>
469 </dl>
470
a78137a1 471 {event name='logoFields'}
95961bdf 472 </section>
6c80f0df
AE
473
474 {* font *}
95961bdf
MW
475 <section class="section">
476 <h2 class="sectionTitle">{lang}wcf.acp.style.globals.font{/lang}</h2>
6c80f0df
AE
477
478 <dl>
b3ac08d1
AE
479 <dt><label for="wcfFontSizeDefault">{lang}wcf.acp.style.globals.fontSizeDefault{/lang}</label></dt>
480 <dd>
e5f9b56c 481 <input type="number" id="wcfFontSizeDefault" name="wcfFontSizeDefault" value="{@$variables[wcfFontSizeDefault]}" class="tiny">
67b82019
MW
482 <select name="wcfFontSizeDefault_unit" class="jsUnitSelect">
483 {foreach from=$availableUnits item=unit}
0347920c
MW
484 {if $unit == 'px' || $unit == 'pt'}
485 <option value="{@$unit}"{if $variables[wcfFontSizeDefault_unit] == $unit} selected{/if}>{@$unit}</option>
486 {/if}
67b82019
MW
487 {/foreach}
488 </select>
b3ac08d1
AE
489 </dd>
490 </dl>
491 <dl>
492 <dt><label for="wcfFontSizeSmall">{lang}wcf.acp.style.globals.fontSizeSmall{/lang}</label></dt>
493 <dd>
e5f9b56c 494 <input type="number" id="wcfFontSizeSmall" name="wcfFontSizeSmall" value="{@$variables[wcfFontSizeSmall]}" class="tiny">
67b82019
MW
495 <select name="wcfFontSizeSmall_unit" class="jsUnitSelect">
496 {foreach from=$availableUnits item=unit}
497 <option value="{@$unit}"{if $variables[wcfFontSizeSmall_unit] == $unit} selected{/if}>{@$unit}</option>
498 {/foreach}
499 </select>
b3ac08d1
AE
500 </dd>
501 </dl>
502 <dl>
503 <dt><label for="wcfFontSizeHeadline">{lang}wcf.acp.style.globals.fontSizeHeadline{/lang}</label></dt>
504 <dd>
e5f9b56c 505 <input type="number" id="wcfFontSizeHeadline" name="wcfFontSizeHeadline" value="{@$variables[wcfFontSizeHeadline]}" class="tiny">
67b82019
MW
506 <select name="wcfFontSizeHeadline_unit" class="jsUnitSelect">
507 {foreach from=$availableUnits item=unit}
508 <option value="{@$unit}"{if $variables[wcfFontSizeHeadline_unit] == $unit} selected{/if}>{@$unit}</option>
509 {/foreach}
510 </select>
b3ac08d1
AE
511 </dd>
512 </dl>
f6fc939a
AE
513 <dl>
514 <dt><label for="wcfFontSizeSection">{lang}wcf.acp.style.globals.fontSizeSection{/lang}</label></dt>
515 <dd>
e5f9b56c 516 <input type="number" id="wcfFontSizeSection" name="wcfFontSizeSection" value="{@$variables[wcfFontSizeSection]}" class="tiny">
67b82019
MW
517 <select name="wcfFontSizeSection_unit" class="jsUnitSelect">
518 {foreach from=$availableUnits item=unit}
519 <option value="{@$unit}"{if $variables[wcfFontSizeSection_unit] == $unit} selected{/if}>{@$unit}</option>
520 {/foreach}
521 </select>
f6fc939a
AE
522 </dd>
523 </dl>
b3ac08d1
AE
524 <dl>
525 <dt><label for="wcfFontSizeTitle">{lang}wcf.acp.style.globals.fontSizeTitle{/lang}</label></dt>
526 <dd>
e5f9b56c 527 <input type="number" id="wcfFontSizeTitle" name="wcfFontSizeTitle" value="{@$variables[wcfFontSizeTitle]}" class="tiny">
67b82019
MW
528 <select name="wcfFontSizeTitle_unit" class="jsUnitSelect">
529 {foreach from=$availableUnits item=unit}
530 <option value="{@$unit}"{if $variables[wcfFontSizeTitle_unit] == $unit} selected{/if}>{@$unit}</option>
531 {/foreach}
532 </select>
b3ac08d1
AE
533 </dd>
534 </dl>
535
95961bdf 536 <dl>
b3ac08d1
AE
537 <dt></dt>
538 <dd><label>
698da207 539 <input type="checkbox" id="useGoogleFont" name="useGoogleFont" value="1"{if !$variables[useGoogleFont]|empty} checked{/if}>
b3ac08d1
AE
540 <span>{lang}wcf.acp.style.globals.useGoogleFont{/lang}</span>
541 </label></dd>
542 </dl>
6b4444ce 543 <dl id="wcfFontFamilyGoogleContainer">
b3ac08d1 544 <dt><label for="wcfFontFamilyGoogle">{lang}wcf.acp.style.globals.fontFamilyGoogle{/lang}</label></dt>
6c80f0df 545 <dd>
b3ac08d1 546 <input type="text" id="wcfFontFamilyGoogle" name="wcfFontFamilyGoogle" value="{$variables[wcfFontFamilyGoogle]}" class="medium">
6c80f0df
AE
547 </dd>
548 </dl>
549 <dl>
b3ac08d1 550 <dt><label for="wcfFontFamilyFallback">{lang}wcf.acp.style.globals.fontFamilyFallback{/lang}</label></dt>
6c80f0df 551 <dd>
67b82019
MW
552 <select name="wcfFontFamilyFallback" id="wcfFontFamilyFallback">
553 {foreach from=$availableFontFamilies key=fontFamily item=primaryFont}
554 <option value='{@$fontFamily}'{if $variables[wcfFontFamilyFallback] == $fontFamily} selected{/if}>{@$primaryFont}</option>
555 {/foreach}
556 </select>
6c80f0df
AE
557 </dd>
558 </dl>
7991009f
MS
559
560 {event name='fontFields'}
95961bdf 561 </section>
7991009f
MS
562
563 {event name='globalFieldsets'}
6c80f0df
AE
564 </div>
565
566 {* colors *}
95961bdf
MW
567 <div id="colors" class="tabMenuContent">
568 <div class="section">
569 <div id="spWrapper">
570 <div id="spWindow">
0aabd40b
MW
571 <div id="spHeaderPanel" data-region="wcfHeaderMenu">
572 <div class="spBoundary">
573 <ol class="inlineList">
574 <li><a>Lorem</a></li>
575 <li><a>Ipsum Dolor</a></li>
3926d706 576 <li><a>Sit Amet Lorem</a></li>
0aabd40b
MW
577
578 <li class="active">
579 <a>Sadipscing</a>
580 <ol id="spSubMenu" data-region="wcfHeaderMenuDropdown">
581 <li><a>Lorem</a></li>
582 <li><a>Ipsum</a></li>
583 <li class="active"><a>Dolor Sit</a></li>
584 </ol>
585 </li>
586 </ol>
fe17bd5f 587 </div>
0aabd40b
MW
588 </div>
589
95961bdf
MW
590 <div id="spHeader" data-region="wcfHeader">
591 <div class="spBoundary">
07937b16 592 <div id="spLogo"><img src="{@$__wcf->getPath()}acp/images/woltlabSuite.png"></div>
ac229adb 593 <div id="spSearch"><div class="spInlineWrapper" data-region="wcfHeaderSearchBox"><input type="search" id="spSearchBox" placeholder="{lang}wcf.global.search.enterSearchTerm{/lang}" autocomplete="off"></div></div>
95961bdf
MW
594 </div>
595 </div>
596
597 <div id="spNavigation" data-region="wcfNavigation">
598 <div class="spBoundary">
599 <ol class="inlineList">
b3ac08d1 600 <li><a>Lorem</a></li>
95961bdf 601 <li><a>Ipsum</a></li>
b3ac08d1
AE
602 </ol>
603 </div>
b3ac08d1 604 </div>
95961bdf
MW
605
606 <div id="spContent">
607 <div class="spBoundary">
608 <div id="spContentWrapper">
609 <div class="spHeadline" data-region="wcfContentHeadline">Lorem Ipsum</div>
1223c43c 610
0aabd40b 611 <div data-region="wcfContent">
95961bdf 612 Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. <a>At vero eos</a> et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
1223c43c 613
811f5a93
AE
614 <div data-region="wcfContentContainer">
615 <div class="spContentContainer">
616 Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
617
618 <div id="spContentBorderInner"></div>
619
620 Stet clita kasd gubergren, no sea <a>takimata</a> sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor <a>invidunt</a> ut labore et dolore magna aliquyam erat, sed diam voluptua.
621 </div>
622 </div>
95961bdf
MW
623
624 <div id="spContentBorder"></div>
625
626 <div id="spContentDimmed" data-region="wcfContentDimmed">
627 Stet clita kasd gubergren, <a>no sea takimata</a> sanctus est Lorem ipsum dolor sit amet.
628 </div>
0aabd40b 629 </div>
95961bdf
MW
630
631 <div class="spHeadline">Tabular Box</div>
632
633 <table id="spTable" data-region="wcfTabularBox">
634 <thead>
635 <tr>
636 <th><a>Lorem</a></th>
637 <th><a>Ipsum</a></th>
638 <th><a>Dolor Sit Amet</a></th>
639 </tr>
640 </thead>
641
642 <tbody>
643 <tr>
644 <td>Lorem ipsum dolor</td><td>sit amet, consetetur sadipscing elitr</td><td>sed diam nonumy</td>
645 </tr>
646 <tr>
647 <td>eirmod tempor</td><td>invidunt ut labore et dolore</td><td>magna aliquyam erat</td>
648 </tr>
649 <tr>
650 <td>sed diam voluptua</td><td>At vero eos</td><td>et accusam et justo</td>
651 </tr>
652 </tbody>
653 </table>
654
655 <div class="spHeadline">Input</div>
656
657 <dl data-region="wcfInput">
47e49962 658 <dt><label class="spInputLabel" for="spInput">Lorem Ipsum</label></dt>
5dd18761 659 <dd><input type="text" id="spInput" class="long" placeholder="Placeholder" value="Consetetur sadipscing elitr"></dd>
95961bdf
MW
660 </dl>
661 <dl data-region="wcfInputDisabled">
47e49962 662 <dt><label class="spInputLabel" for="spInputDisabled">Dolor Sit Amet</label></dt>
5dd18761 663 <dd><input type="text" id="spInputDisabled" class="long" value="Disabled" disabled></dd>
95961bdf 664 </dl>
1223c43c 665
95961bdf
MW
666 <div class="spHeadline">Button</div>
667
ac229adb
AE
668 <div id="spButton">
669 <div class="spInlineWrapper" data-region="wcfButton">
670 <ol class="inlineList">
671 <li><a class="button">Button</a></li>
672 <li><a class="button active">Button (Active)</a></li>
673 </ol>
674 </div>
675 <div class="spInlineWrapper" data-region="wcfButtonDisabled">
676 <ol class="inlineList">
677 <li><a class="button disabled">Button (Disabled)</a></li>
678 </ol>
679 </div>
680 </div>
95961bdf 681
ac229adb
AE
682 <div id="spButtonPrimary">
683 <div class="spInlineWrapper" data-region="wcfButtonPrimary">
684 <ol class="inlineList">
685 <li><a class="button buttonPrimary">Primary Button</a></li>
686 <li><a class="button buttonPrimary active">Primary Button (Active)</a></li>
687 <li><a class="button disabled">Primary Button (Disabled)</a></li>
688 </ol>
689 </div>
690 </div>
95961bdf 691
aa893dd8
AE
692 <div class="spHeadline">Editor</div>
693
694 <div id="spEditor">
695 <div id="spEditorToolbar" data-region="wcfEditorButton">
696 <ul class="redactor-toolbar">
697 <li><a class="redactor-button-disabled"><span class="icon icon16 fa-file-code-o"></span></a></li>
698 <li><a><span class="icon icon16 fa-undo"></span></a></li>
699 <li><a><span class="icon icon16 fa-repeat"></span></a></li>
700 <li><a><span class="icon icon16 fa-expand"></span></a></li>
701 <li class="redactor-toolbar-separator"><a><span class="icon icon16 fa-header"></span></a></li>
702 <li class="redactor-toolbar-separator"><a><span class="icon icon16 fa-bold"></span></a></li>
703 <li><a class="dropact"><span class="icon icon16 fa-italic"></span></a></li>
704 <li><a><span class="icon icon16 fa-underline"></span></a></li>
705 <li><a><span class="icon icon16 fa-strikethrough"></span></a></li>
706 </ul>
707 </div>
708 <div id="spEditorContent"></div>
709 </div>
710
95961bdf
MW
711 <div class="spHeadline">Dropdown</div>
712
713 <div style="position: relative">
714 <ul class="dropdownMenu" id="spDropdown" data-region="wcfDropdown">
715 <li><a>Lorem Ipsum</a></li>
716 <li class="active"><a>Dolor Sit Amet</a></li>
717 <li><a>Consetetur Sadipscing</a></li>
718 <li class="dropdownDivider"></li>
719 <li><a>Sed diam nonumy</a></li>
720 </ul>
1223c43c 721 </div>
b3ac08d1 722
95961bdf
MW
723 <div class="spHeadline">Status</div>
724
725 <ol id="spStatus">
726 <li>
727 <div id="spStatusInfo" data-region="wcfStatusInfo">Lorem ipsum dolor <a>sit amet</a>.</div>
728 </li>
729 <li>
730 <div id="spStatusSuccess" data-region="wcfStatusSuccess"><a>Sed diam nonumy</a> eirmod tempor.</div>
731 </li>
732 <li>
733 <div id="spStatusWarning" data-region="wcfStatusWarning">At vero eos <a>et accusam et justo duo</a>.</div>
734 </li>
735 <li>
736 <div id="spStatusError" data-region="wcfStatusError">Stet clita <a>kasd gubergren</a>, no sea.</div>
737 </li>
738 </ol>
b3ac08d1 739 </div>
1223c43c 740
95961bdf
MW
741 <div id="spContentSidebar">
742 <div class="spContentSidebarBox" data-region="wcfSidebar">
743 <div class="spContentSidebarHeadline" data-region="wcfSidebarHeadline">Sidebar</div>
744
745 <p>
746 Lorem ipsum dolor sit amet, consetetur sadipscing elitr, <a>sed diam nonumy eirmod tempor</a> invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam <a>et justo</a> duo dolores et ea rebum.
747 </p>
748 </div>
749
750 <div class="spContentSidebarBox">
751 <div class="spContentSidebarHeadline"><a>Dolor Sit Amet</a></div>
752
753 <p>
754 <a>Stet clita kasd gubergren</a>, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut <a>labore et dolore magna</a> aliquyam erat, sed diam voluptua.
755 </p>
756
757 <div id="spContentSidebarBoxDimmed" style="margin-top: 10px;" data-region="wcfSidebarDimmed">
758 Stet clita kasd gubergren, <a>no sea takimata</a> sanctus est Lorem ipsum dolor sit amet.
759 </div>
760 </div>
761 </div>
b3ac08d1 762 </div>
95961bdf
MW
763 </div>
764
765 <div id="spFooterBox" data-region="wcfFooterBox">
766 <div class="spBoundary">
767 <div class="spFooterBoxItem">
768 <div class="spFooterBoxHeadline" data-region="wcfFooterBoxHeadline">Lorem Ipsum</div>
b3ac08d1
AE
769
770 <p>
95961bdf 771 Lorem ipsum dolor sit amet, consetetur <a>sadipscing elitr</a>, sed diam nonumy eirmod tempor <a>invidunt ut labore</a> et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
b3ac08d1
AE
772 </p>
773 </div>
774
95961bdf
MW
775 <div class="spFooterBoxItem">
776 <div class="spFooterBoxHeadline"><a>Dolor Sit Amet</a></div>
b3ac08d1
AE
777
778 <p>
95961bdf 779 Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, <a>sed diam voluptua</a>.
b3ac08d1
AE
780 </p>
781 </div>
782 </div>
783 </div>
95961bdf
MW
784
785 <div id="spFooter" data-region="wcfFooter">
a785e6a7
MW
786 <div class="spBoundary">
787 <div class="spFooterItem">
788 <div class="spFooterHeadline" data-region="wcfFooterHeadline">Lorem Ipsum <a>Dolor Sit Amet</a></div>
789
790 <p>
791 Lorem ipsum dolor sit amet, consetetur <a>sadipscing elitr</a>, sed diam nonumy eirmod tempor <a>invidunt ut labore</a> et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
792 </p>
793 </div>
794 </div>
795 </div>
796
797 <div id="spFooterCopyright" data-region="wcfFooterCopyright">
95961bdf
MW
798 <div class="spBoundary">
799 Copyright &copy; 1970-2038 <a>Example Company</a>
800 </div>
801 </div>
b3ac08d1 802 </div>
95961bdf
MW
803 <div id="spSidebar">
804 <div id="spVariablesWrapper">
ac229adb
AE
805 <div id="spSidebarButtons">
806 <ul>
27c81d83 807 <li id="spSelectCategory"><a href="#" class="button jsButtonSelectCategoryByClick">{lang}wcf.acp.style.colors.selectCategoryByClick{/lang}</a></li>
ac229adb
AE
808 <li><a href="#" class="button jsButtonToggleColorPalette">{lang}wcf.acp.style.colors.toggleColorPalette{/lang}</a></li>
809 </ul>
810 </div>
27c81d83 811 <div class="spSidebarBox spSidebarBoxCategorySelection">
67b82019
MW
812 <select id="spCategories">
813 <option value="none" selected>{lang}wcf.global.noSelection{/lang}</option>
814 {foreach from=$colorCategories key=spName item=spCategory}
815 <optgroup label="{$spName}">
816 {if $spCategory|is_array}
817 {foreach from=$spCategory item=spChildCategory}
818 <option value="{$spChildCategory}">{$spChildCategory}</option>
819 {/foreach}
820 {else}
821 <option value="{$spCategory}">{$spCategory}</option>
822 {/if}
823 </optgroup>
824 {/foreach}
825 </select>
b3ac08d1
AE
826 </div>
827
95961bdf 828 <div class="spSidebarBox" data-category="none">
811f5a93
AE
829 <p>{lang}wcf.acp.style.colors.description{/lang}</p>
830 <p><br></p>
831 <p><sup class="spApiVersion">3.1</sup> <small>{lang version='3.1'}wcf.acp.style.colors.description.apiVersion{/lang}</small></p>
b3ac08d1 832 </div>
95961bdf
MW
833
834 {foreach from=$colors key=spCategory item=spColors}
835 <div class="spSidebarBox" data-category="{$spCategory}" style="display: none;">
836 <ul>
837 {foreach from=$spColors item=spType}
838 {capture assign=spColor}{$spCategory}{$spType|ucfirst}{/capture}
839 <li class="box24 spColor">
840 <div class="spColorBox">
841 <span class="styleVariableColor jsColorPicker" style="background-color: {$variables[$spColor]};" data-color="{$variables[$spColor]}" data-store="{$spColor}_value"></span>
e5f9b56c 842 <input type="hidden" id="{$spColor}_value" name="{$spColor}" value="{$variables[$spColor]}">
95961bdf
MW
843 </div>
844 <div>
811f5a93 845 <span class="spVariable">${$spColor}{if $newVariables[$spColor]|isset} <sup class="spApiVersion">{$newVariables[$spColor]}</sup>{/if}</span>
95961bdf
MW
846 <span class="spDescription">{$spType}</span>
847 </div>
848 </li>
849 {/foreach}
850 </ul>
851 </div>
852 {/foreach}
b3ac08d1
AE
853 </div>
854 </div>
f2b50825 855 </div>
fe17bd5f 856 </div>
6c80f0df
AE
857 </div>
858
b3ac08d1
AE
859 <script>
860 var styleRuleMap = {
861 'wcfHeaderBackground': '#spHeader { background-color: VALUE; }',
55b402a0 862 'wcfHeaderText': '#spHeader { color: VALUE; }',
b3ac08d1
AE
863 'wcfHeaderLink': '#spHeader a { color: VALUE; }',
864 'wcfHeaderLinkActive': '#spHeader a:hover { color: VALUE; }',
865 'wcfHeaderSearchBoxBackground': '#spSearchBox { background-color: VALUE; }',
866 'wcfHeaderSearchBoxText': '#spSearchBox { color: VALUE; }',
e2368a74 867 'wcfHeaderSearchBoxPlaceholder': '#spSearchBox::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spSearchBox::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spSearchBox:-ms-input-placeholder { color: VALUE; }',
fee45149 868 'wcfHeaderSearchBoxPlaceholderActive': '#spSearchBox:focus::-webkit-input-placeholder, #spSearchBox:hover::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spSearchBox:focus::-moz-placeholder, #spSearchBox:hover::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spSearchBox:focus:-ms-input-placeholder, #spSearchBox:hover:-ms-input-placeholder { color: VALUE; }',
b3ac08d1
AE
869 'wcfHeaderSearchBoxBackgroundActive': '#spSearchBox:focus, #spSearchBox:hover { background-color: VALUE; }',
870 'wcfHeaderSearchBoxTextActive': '#spSearchBox:focus, #spSearchBox:hover { color: VALUE; }',
0aabd40b
MW
871 'wcfHeaderMenuBackground': '#spHeaderPanel { background-color: VALUE; }',
872 'wcfHeaderMenuLinkBackground': '#spHeaderPanel ol.inlineList > li > a { background-color: VALUE; }',
873 'wcfHeaderMenuLinkBackgroundActive': '#spHeaderPanel ol.inlineList > li.active > a, #spHeaderPanel ol.inlineList > li > a:hover { background-color: VALUE; }',
874 'wcfHeaderMenuLink': '#spHeaderPanel ol.inlineList > li > a { color: VALUE; }',
875 'wcfHeaderMenuLinkActive': '#spHeaderPanel ol.inlineList > li.active > a, #spHeaderPanel ol.inlineList > li > a:hover { color: VALUE; }',
f6fc939a 876 'wcfHeaderMenuDropdownBackground': '#spSubMenu { background-color: VALUE; }',
f6fc939a
AE
877 'wcfHeaderMenuDropdownLink': '#spSubMenu li > a { color: VALUE; }',
878 'wcfHeaderMenuDropdownBackgroundActive': '#spSubMenu li.active > a, #spSubMenu li > a:hover { background-color: VALUE; }',
879 'wcfHeaderMenuDropdownLinkActive': '#spSubMenu li.active > a, #spSubMenu li > a:hover { color: VALUE; }',
b3ac08d1
AE
880 'wcfNavigationBackground': '#spNavigation { background-color: VALUE; }',
881 'wcfNavigationText': '#spNavigation { color: VALUE; }',
882 'wcfNavigationLink': '#spNavigation a { color: VALUE; }',
883 'wcfNavigationLinkActive': '#spNavigation a:hover { color: VALUE; }',
884 'wcfContentBackground': '#spContent { background-color: VALUE; }',
1223c43c
AE
885 'wcfContentBorder': '#spContentBorder { border-color: VALUE; }',
886 'wcfContentBorderInner': '#spContentBorderInner { border-color: VALUE; }',
811f5a93
AE
887 'wcfContentContainerBackground': '.spContentContainer { background-color: VALUE; }',
888 'wcfContentContainerBorder': '.spContentContainer { border-color: VALUE; }',
b3ac08d1
AE
889 'wcfContentText': '#spContent { color: VALUE; }',
890 'wcfContentLink': '#spContent a { color: VALUE; }',
891 'wcfContentLinkActive': '#spContent a:hover { color: VALUE; }',
1223c43c
AE
892 'wcfContentDimmedText': '#spContentDimmed { color: VALUE; }',
893 'wcfContentDimmedLink': '#spContentDimmed a { color: VALUE; }',
894 'wcfContentDimmedLinkActive': '#spContentDimmed a:hover { color: VALUE; }',
b3ac08d1
AE
895 'wcfContentHeadlineBorder': '.spHeadline { border-color: VALUE; }',
896 'wcfContentHeadlineText': '.spHeadline { color: VALUE; }',
897 'wcfContentHeadlineLink': '.spHeadline a { color: VALUE; }',
898 'wcfContentHeadlineLinkActive': '.spHeadline a:hover { color: VALUE; }',
899 'wcfTabularBoxBorderInner': '#spTable td { border-color: VALUE; }',
900 'wcfTabularBoxHeadline': '#spTable { border-color: VALUE; } __COMBO_RULE__ #spTable th, #spTable th a { color: VALUE; }',
901 'wcfTabularBoxBackgroundActive': '#spTable tr:hover > td { background-color: VALUE; }',
902 'wcfTabularBoxHeadlineActive': '#spTable th a:hover { color: VALUE; }',
47e49962 903 'wcfInputLabel': '.spInputLabel { color: VALUE; }',
b3ac08d1
AE
904 'wcfInputBackground': '#spInput { background-color: VALUE; }',
905 'wcfInputBorder': '#spInput { border-color: VALUE; }',
906 'wcfInputText': '#spInput { color: VALUE; }',
f6fc939a 907 'wcfInputPlaceholder': '#spInput::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInput::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spInput:-ms-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled:-ms-input-placeholder { color: VALUE; }',
7a9ba67e 908 'wcfInputPlaceholderActive': '#spInput:focus::-webkit-input-placeholder, #spInput:hover::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInput:focus::-moz-placeholder, #spInput:hover::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spInput:focus:-ms-input-placeholder, #spInput:hover:-ms-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled:focus::-webkit-input-placeholder, #spInputDisabled:hover::-webkit-input-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled:focus::-moz-placeholder, #spInputDisabled:hover::-moz-placeholder { color: VALUE; } __COMBO_RULE__ #spInputDisabled:focus:-ms-input-placeholder, #spInputDisabled:hover:-ms-input-placeholder { color: VALUE; }',
b3ac08d1
AE
909 'wcfInputBackgroundActive': '#spInput:focus, #spInput:hover { background-color: VALUE; }',
910 'wcfInputBorderActive': '#spInput:focus, #spInput:hover { border-color: VALUE; }',
911 'wcfInputTextActive': '#spInput:focus, #spInput:hover { color: VALUE; }',
912 'wcfInputDisabledBackground': '#spInputDisabled { background-color: VALUE; }',
913 'wcfInputDisabledBorder': '#spInputDisabled { border-color: VALUE; }',
914 'wcfInputDisabledText': '#spInputDisabled { color: VALUE; }',
915 'wcfButtonBackground': '#spButton .button { background-color: VALUE; }',
b3ac08d1
AE
916 'wcfButtonText': '#spButton .button { color: VALUE; }',
917 'wcfButtonBackgroundActive': '#spButton .button.active, #spButton .button:hover { background-color: VALUE; }',
b3ac08d1
AE
918 'wcfButtonTextActive': '#spButton .button.active, #spButton .button:hover { color: VALUE; }',
919 'wcfButtonPrimaryBackground': '#spButtonPrimary .button { background-color: VALUE; }',
b3ac08d1
AE
920 'wcfButtonPrimaryText': '#spButtonPrimary .button { color: VALUE; }',
921 'wcfButtonPrimaryBackgroundActive': '#spButtonPrimary .button.active, #spButtonPrimary .button:hover { background-color: VALUE; }',
b3ac08d1
AE
922 'wcfButtonPrimaryTextActive': '#spButtonPrimary .button.active, #spButtonPrimary .button:hover { color: VALUE; }',
923 'wcfButtonDisabledBackground': '#spButton .button.disabled, #spButtonPrimary .button.disabled { background-color: VALUE; }',
b3ac08d1 924 'wcfButtonDisabledText': '#spButton .button.disabled, #spButtonPrimary .button.disabled { color: VALUE; }',
aa893dd8
AE
925 'wcfEditorButtonBackground': '#spEditor .redactor-toolbar, #spEditor .redactor-toolbar a { background-color: VALUE; }',
926 'wcfEditorButtonBackgroundActive': '#spEditor .redactor-toolbar a:hover, #spEditor .redactor-toolbar a.dropact { background-color: VALUE; }',
927 'wcfEditorButtonText': '#spEditor .redactor-toolbar a { color: VALUE; }',
928 'wcfEditorButtonTextActive': '#spEditor .redactor-toolbar a:hover, #spEditor .redactor-toolbar a.dropact { color: VALUE; }',
929 'wcfEditorButtonTextDisabled': '#spEditor .redactor-toolbar a.redactor-button-disabled { color: VALUE; }',
e1e6944a 930 'wcfDropdownBackground': '#spDropdown { background-color: VALUE; } __COMBO_RULE__ #spDropdown::before { border-bottom-color: VALUE; }',
b3ac08d1 931 'wcfDropdownBorderInner': '#spDropdown .dropdownDivider { border-color: VALUE; }',
02cb8f6f
MW
932 'wcfDropdownText': '#spDropdown li { color: VALUE; }',
933 'wcfDropdownLink': '#spDropdown li a { color: VALUE; }',
934 'wcfDropdownBackgroundActive': '#spDropdown li.active > a, #spDropdown li a:hover { background-color: VALUE; }',
935 'wcfDropdownLinkActive': '#spDropdown li.active > a, #spDropdown li a:hover { color: VALUE; }',
b3ac08d1
AE
936 'wcfFooterBoxBackground': '#spFooterBox { background-color: VALUE; }',
937 'wcfFooterBoxText': '#spFooterBox { color: VALUE; }',
938 'wcfFooterBoxLink': '#spFooterBox a { color: VALUE; }',
939 'wcfFooterBoxLinkActive': '#spFooterBox a:hover { color: VALUE; }',
940 'wcfFooterBoxHeadlineText': '#spFooterBox .spFooterBoxHeadline { color: VALUE; }',
941 'wcfFooterBoxHeadlineLink': '#spFooterBox .spFooterBoxHeadline a { color: VALUE; }',
942 'wcfFooterBoxHeadlineLinkActive': '#spFooterBox .spFooterBoxHeadline a:hover { color: VALUE; }',
943 'wcfFooterBackground': '#spFooter { background-color: VALUE; }',
944 'wcfFooterText': '#spFooter { color: VALUE; }',
945 'wcfFooterLink': '#spFooter a { color: VALUE; }',
c0c67e64 946 'wcfFooterLinkActive': '#spFooter a:hover { color: VALUE; }',
a785e6a7
MW
947 'wcfFooterHeadlineText': '#spFooter .spFooterHeadline { color: VALUE; }',
948 'wcfFooterHeadlineLink': '#spFooter .spFooterHeadline a { color: VALUE; }',
949 'wcfFooterHeadlineLinkActive': '#spFooter .spFooterHeadline a:hover { color: VALUE; }',
950 'wcfFooterCopyrightBackground': '#spFooterCopyright { background-color: VALUE; }',
951 'wcfFooterCopyrightText': '#spFooterCopyright { color: VALUE; }',
952 'wcfFooterCopyrightLink': '#spFooterCopyright a { color: VALUE; }',
c0c67e64 953 'wcfFooterCopyrightLinkActive': '#spFooterCopyright a:hover { color: VALUE; }',
b3ac08d1
AE
954 'wcfSidebarBackground': '#spContentSidebar .spContentSidebarBox { background-color: VALUE; }',
955 'wcfSidebarText': '#spContentSidebar .spContentSidebarBox { color: VALUE; }',
956 'wcfSidebarLink': '#spContentSidebar .spContentSidebarBox a { color: VALUE; }',
957 'wcfSidebarLinkActive': '#spContentSidebar .spContentSidebarBox a:hover { color: VALUE; }',
1223c43c
AE
958 'wcfSidebarDimmedText': '#spContentSidebar .spContentSidebarBox #spContentSidebarBoxDimmed { color: VALUE; }',
959 'wcfSidebarDimmedLink': '#spContentSidebar .spContentSidebarBox #spContentSidebarBoxDimmed a { color: VALUE; }',
960 'wcfSidebarDimmedLinkActive': '#spContentSidebar .spContentSidebarBox #spContentSidebarBoxDimmed a:hover { color: VALUE; }',
b3ac08d1
AE
961 'wcfSidebarHeadlineText': '#spContentSidebar .spContentSidebarBox .spContentSidebarHeadline { color: VALUE; }',
962 'wcfSidebarHeadlineLink': '#spContentSidebar .spContentSidebarBox .spContentSidebarHeadline a { color: VALUE; }',
963 'wcfSidebarHeadlineLinkActive': '#spContentSidebar .spContentSidebarBox .spContentSidebarHeadline a:hover { color: VALUE; }',
1223c43c
AE
964 'wcfStatusInfoBackground': '#spStatusInfo { background-color: VALUE; }',
965 'wcfStatusInfoBorder': '#spStatusInfo { border-color: VALUE; }',
966 'wcfStatusInfoText': '#spStatusInfo { color: VALUE; }',
967 'wcfStatusInfoLink': '#spStatusInfo a { color: VALUE; }',
968 'wcfStatusInfoLinkActive': '#spStatusInfo a:hover { color: VALUE; }',
969 'wcfStatusSuccessBackground': '#spStatusSuccess { background-color: VALUE; }',
970 'wcfStatusSuccessBorder': '#spStatusSuccess { border-color: VALUE; }',
971 'wcfStatusSuccessText': '#spStatusSuccess { color: VALUE; }',
972 'wcfStatusSuccessLink': '#spStatusSuccess a { color: VALUE; }',
973 'wcfStatusSuccessLinkActive': '#spStatusSuccess a:hover { color: VALUE; }',
974 'wcfStatusWarningBackground': '#spStatusWarning { background-color: VALUE; }',
975 'wcfStatusWarningBorder': '#spStatusWarning { border-color: VALUE; }',
976 'wcfStatusWarningText': '#spStatusWarning { color: VALUE; }',
977 'wcfStatusWarningLink': '#spStatusWarning a { color: VALUE; }',
978 'wcfStatusWarningLinkActive': '#spStatusWarning a:hover { color: VALUE; }',
979 'wcfStatusErrorBackground': '#spStatusError { background-color: VALUE; }',
980 'wcfStatusErrorBorder': '#spStatusError { border-color: VALUE; }',
981 'wcfStatusErrorText': '#spStatusError { color: VALUE; }',
982 'wcfStatusErrorLink': '#spStatusError a { color: VALUE; }',
983 'wcfStatusErrorLinkActive': '#spStatusError a:hover { color: VALUE; }'
b3ac08d1
AE
984 };
985 </script>
986
6c80f0df 987 {* advanced *}
95961bdf 988 <div id="advanced" class="tabMenuContainer tabMenuContent">
90b4b964
AE
989 {if !$isTainted}
990 <nav class="menu">
991 <ul>
992 <li data-name="advanced-custom"><a href="{@$__wcf->getAnchor('advanced-custom')}">{lang}wcf.acp.style.advanced.custom{/lang}</a></li>
993 <li data-name="advanced-original"><a href="{@$__wcf->getAnchor('advanced-original')}">{lang}wcf.acp.style.advanced.original{/lang}</a></li>
994 </ul>
995 </nav>
996
90b4b964 997 {* custom declarations *}
f2b50825 998 <div id="advanced-custom" class="tabMenuContent">
95961bdf 999 <section class="section">
97ec0367 1000 <h2 class="sectionTitle">{lang}wcf.acp.style.advanced.individualScss{/lang}</h2>
90b4b964
AE
1001
1002 <dl class="wide">
95961bdf 1003 <dt></dt>
90b4b964 1004 <dd>
5432b9ab
MW
1005 <div dir="ltr">
1006 <textarea id="individualScssCustom" rows="20" cols="40" name="individualScssCustom">{$variables[individualScssCustom]}</textarea>
1007 </div>
97ec0367 1008 <small>{lang}wcf.acp.style.advanced.individualScss.description{/lang}</small>
90b4b964
AE
1009 </dd>
1010 </dl>
95961bdf 1011 </section>
90b4b964 1012
97ec0367
MW
1013 <section class="section{if $errorField == 'overrideScssCustom'} formError{/if}">
1014 <h2 class="sectionTitle">{lang}wcf.acp.style.advanced.overrideScss{/lang}</h2>
90b4b964
AE
1015
1016 <dl class="wide">
95961bdf 1017 <dt></dt>
90b4b964 1018 <dd>
5432b9ab
MW
1019 <div dir="ltr">
1020 <textarea id="overrideScssCustom" rows="20" cols="40" name="overrideScssCustom">{$variables[overrideScssCustom]}</textarea>
1021 </div>
97ec0367 1022 {if $errorField == 'overrideScssCustom'}
90b4b964 1023 <small class="innerError">
97ec0367
MW
1024 {lang}wcf.acp.style.advanced.overrideScss.error{/lang}
1025 {implode from=$errorType item=error}{lang}wcf.acp.style.advanced.overrideScss.error.{$error.error}{/lang}{/implode}
90b4b964
AE
1026 </small>
1027 {/if}
97ec0367 1028 <small>{lang}wcf.acp.style.advanced.overrideScss.description{/lang}</small>
90b4b964
AE
1029 </dd>
1030 </dl>
95961bdf 1031 </section>
97ec0367 1032 {include file='codemirror' codemirrorMode='text/x-less' codemirrorSelector='#individualScssCustom, #overrideScssCustom'}
90b4b964
AE
1033
1034 {event name='syntaxFieldsetsCustom'}
1035 </div>
1036
1037 {* original declarations / tainted style *}
221cffc9 1038 <div id="advanced-original" class="tabMenuContent">
90b4b964
AE
1039 {/if}
1040
95961bdf 1041 <section class="section">
97ec0367 1042 <h2 class="sectionTitle">{lang}wcf.acp.style.advanced.individualScss{/lang}{if !$isTainted} ({lang}wcf.acp.style.protected.less{/lang}){/if}</h2>
6c80f0df 1043
b5c1c549 1044 <dl class="wide">
95961bdf 1045 <dt></dt>
b5c1c549 1046 <dd>
5432b9ab
MW
1047 <div dir="ltr">
1048 <textarea id="individualScss" rows="20" cols="40" name="individualScss">{$variables[individualScss]}</textarea>
fe17bd5f 1049 </div>
97ec0367 1050 <small>{lang}wcf.acp.style.advanced.individualScss.description{/lang}</small>
b5c1c549
MW
1051 </dd>
1052 </dl>
95961bdf 1053 </section>
6c80f0df 1054
97ec0367
MW
1055 <section class="section{if $errorField == 'overrideScss'} formError{/if}">
1056 <h2 class="sectionTitle">{lang}wcf.acp.style.advanced.overrideScss{/lang}{if !$isTainted} ({lang}wcf.acp.style.protected.less{/lang}){/if}</h2>
6c80f0df 1057
b5c1c549 1058 <dl class="wide">
95961bdf 1059 <dt></dt>
b5c1c549 1060 <dd>
5432b9ab
MW
1061 <div dir="ltr">
1062 <textarea id="overrideScss" rows="20" cols="40" name="overrideScss">{$variables[overrideScss]}</textarea>
1063 </div>
97ec0367 1064 {if $errorField == 'overrideScss'}
b5c1c549 1065 <small class="innerError">
97ec0367
MW
1066 {lang}wcf.acp.style.advanced.overrideScss.error{/lang}
1067 {implode from=$errorType item=error}{lang}wcf.acp.style.advanced.overrideScss.error.{$error.error}{/lang}{/implode}
b5c1c549
MW
1068 </small>
1069 {/if}
97ec0367 1070 <small>{lang}wcf.acp.style.advanced.overrideScss.description{/lang}</small>
b5c1c549
MW
1071 </dd>
1072 </dl>
95961bdf 1073 </section>
97ec0367 1074 {include file='codemirror' codemirrorMode='text/x-less' codemirrorSelector='#individualScss, #overrideScss' editable=$isTainted}
90b4b964
AE
1075
1076 {event name='syntaxFieldsetsOriginal'}
7991009f 1077
90b4b964
AE
1078 {if !$isTainted}
1079 </div>
1080 {/if}
6c80f0df 1081 </div>
7991009f
MS
1082
1083 {event name='tabMenuContents'}
6c80f0df
AE
1084 </div>
1085
1086 <div class="formSubmit">
e5f9b56c
MW
1087 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
1088 <input type="hidden" name="tmpHash" value="{$tmpHash}">
ee629b22 1089 {@SECURITY_TOKEN_INPUT_TAG}
6c80f0df
AE
1090 </div>
1091</form>
1092
90b4b964
AE
1093<div id="styleDisableProtection" class="jsStaticDialogContent" data-title="{lang}wcf.acp.style.protected.title{/lang}">
1094 <p>{lang}wcf.acp.style.protected.description{/lang}</p>
1095
95961bdf 1096 <dl>
90b4b964
AE
1097 <dt></dt>
1098 <dd><label for="styleDisableProtectionConfirm"><input type="checkbox" id="styleDisableProtectionConfirm"> {lang}wcf.acp.style.protected.confirm{/lang}</label></dd>
1099 </dl>
1100
1101 <div class="formSubmit">
13744d6e 1102 <button id="styleDisableProtectionSubmit" class="buttonPrimary" disabled>{lang}wcf.global.button.submit{/lang}</button>
90b4b964
AE
1103 </div>
1104</div>
1105
0400171e 1106{include file='footer'}