Merge branch '3.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / settings.tpl
1 {capture assign='pageTitle'}{lang}wcf.user.option.category.settings.{$category}{/lang} - {lang}wcf.user.menu.settings{/lang}{/capture}
2
3 {capture assign='contentTitle'}{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.option.category.settings.{$category}{/lang}{/capture}
4
5 {include file='userMenuSidebar'}
6
7 {include file='header' __disableAds=true __sidebarLeftHasMenu=true}
8
9 {include file='formError'}
10
11 {if $success|isset}
12 <p class="success">{lang}wcf.global.success.edit{/lang}</p>
13 {/if}
14
15 <form method="post" action="{link controller='Settings'}{/link}">
16 {if $category == 'general'}
17 {if $availableLanguages|count > 1}
18 <section class="section">
19 <h2 class="sectionTitle">{lang}wcf.user.language{/lang}</h2>
20
21 <dl>
22 <dt><label>{lang}wcf.user.language{/lang}</label></dt>
23 <dd id="languageIDContainer">
24 <script data-relocate="true">
25 $(function() {
26 var $languages = {
27 {implode from=$availableLanguages item=language}
28 '{@$language->languageID}': {
29 iconPath: '{@$language->getIconPath()|encodeJS}',
30 languageName: '{@$language|encodeJS}'
31 }
32 {/implode}
33 };
34
35 require(['WoltLabSuite/Core/Language/Chooser'], function(LanguageChooser) {
36 LanguageChooser.init('languageIDContainer', 'languageID', {@$languageID}, $languages);
37
38 var small = elCreate('small');
39 small.innerHTML = '{lang}wcf.user.language.description{/lang}';
40 elById('languageIDContainer').appendChild(small);
41 });
42 });
43 </script>
44 <noscript>
45 <select name="languageID" id="languageID">
46 {foreach from=$availableLanguages item=language}
47 <option value="{@$language->languageID}"{if $language->languageID == $languageID} selected{/if}>{$language}</option>
48 {/foreach}
49 </select>
50 </noscript>
51 </dd>
52 </dl>
53
54 {hascontent}
55 <dl>
56 <dt><label>{lang}wcf.user.visibleLanguages{/lang}</label></dt>
57 <dd class="floated">
58 {content}
59 {foreach from=$availableContentLanguages item=language}
60 <label><input name="contentLanguageIDs[]" type="checkbox" value="{@$language->languageID}"{if $language->languageID|in_array:$contentLanguageIDs} checked{/if}> {$language}</label>
61 {/foreach}
62 {/content}
63 <small>{lang}wcf.user.visibleLanguages.description{/lang}</small></dd>
64 </dl>
65 {/hascontent}
66
67 {event name='languageFields'}
68 </section>
69 {/if}
70
71 {if $availableStyles|count > 1}
72 <section class="section">
73 <h2 class="sectionTitle">{lang}wcf.user.styles{/lang}</h2>
74
75 <dl>
76 <dt><label for="styleID">{lang}wcf.user.style{/lang}</label></dt>
77 <dd>
78 <select id="styleID" name="styleID">
79 <option value="0">{lang}wcf.global.defaultValue{/lang}</option>
80 {foreach from=$availableStyles item=style}
81 <option value="{@$style->styleID}"{if $style->styleID == $styleID} selected{/if}>{$style->styleName}</option>
82 {/foreach}
83 </select>
84 <small>{lang}wcf.user.style.description{/lang}</small>
85 </dd>
86 </dl>
87
88 {event name='styleFields'}
89 </section>
90 {/if}
91
92 {if MODULE_TROPHY && $__wcf->getSession()->getPermission('user.profile.trophy.maxUserSpecialTrophies') > 0 && $availableTrophies|count}
93 <section class="section">
94 <h2 class="sectionTitle">{lang}wcf.user.trophy.trophies{/lang}</h2>
95 <dl{if $errorField == 'specialTrophies'} class="formError"{/if}>
96 <dt>{lang}wcf.user.trophy.specialTrophies{/lang}</dt>
97 <dd>
98 <ul class="specialTrophyList">
99 {if $__wcf->getSession()->getPermission('user.profile.trophy.maxUserSpecialTrophies') == 1}
100 {foreach from=$availableTrophies item=trophy}
101 <li><label><input type="radio" name="specialTrophies[]" value="{$trophy->getObjectID()}"{if $trophy->getObjectID()|in_array:$specialTrophies} checked{/if}> {@$trophy->renderTrophy(32)} <span>{$trophy->getTitle()}</span></label></li>
102 {/foreach}
103 {else}
104 {foreach from=$availableTrophies item=trophy}
105 <li><label><input type="checkbox" name="specialTrophies[]" value="{$trophy->getObjectID()}"{if $trophy->getObjectID()|in_array:$specialTrophies} checked{/if}> {@$trophy->renderTrophy(32)} <span>{$trophy->getTitle()}</span></label></li>
106 {/foreach}
107 {/if}
108 </ul>
109 {if $errorField == 'specialTrophies'}
110 <small class="innerError">
111 {lang}wcf.user.trophy.specialTrophies.error.{$errorType}{/lang}
112 </small>
113 {/if}
114 <small>{lang}wcf.user.trophy.specialTrophies.description{/lang}</small>
115 </dd>
116 </dl>
117
118 {event name='trophyFields'}
119 </section>
120 {/if}
121 {/if}
122
123 {if !$optionTree|empty}
124 {foreach from=$optionTree[0][categories][0][categories] item=optionCategory}
125 <section class="section">
126 <h2 class="sectionTitle">{lang}wcf.user.option.category.{@$optionCategory[object]->categoryName}{/lang}</h2>
127
128 {include file='userProfileOptionFieldList' options=$optionCategory[options] langPrefix='wcf.user.option.'}
129 </section>
130 {/foreach}
131 {/if}
132
133 {event name='sections'}
134
135 <div class="formSubmit">
136 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
137 {if $category != 'general'}<input type="hidden" name="category" value="{$category}">{/if}
138 {@SECURITY_TOKEN_INPUT_TAG}
139 </div>
140 </form>
141
142 <script data-relocate="true">
143 $(function() {
144 new WCF.Option.Handler();
145 });
146 </script>
147
148 {include file='footer' __disableAds=true}