Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / header.tpl
CommitLineData
158bd3ca
TD
1<!DOCTYPE html>
2<html dir="{@$__wcf->getLanguage()->getPageDirection()}" lang="{@$__wcf->getLanguage()->getFixedLanguageCode()}">
3<head>
782f3fea 4 <base href="{$baseHref}" />
158bd3ca 5 <meta charset="utf-8" />
5c2036ab 6 <title>{if $pageTitle|isset}{@$pageTitle|language} - {/if}{lang}wcf.global.acp{/lang}{if PACKAGE_ID} - {PAGE_TITLE|language}{/if}</title>
9543d9fe 7 <script data-relocate="true">
158bd3ca 8 //<![CDATA[
f06eca44 9 var SID_ARG_2ND = '{@SID_ARG_2ND_NOT_ENCODED}';
7a353b6a 10 var WCF_PATH = '{@$__wcf->getPath()}';
158bd3ca 11 var SECURITY_TOKEN = '{@SECURITY_TOKEN}';
22a51072 12 var LANGUAGE_ID = {@$__wcf->getLanguage()->languageID};
8574cbfd 13 var TIME_NOW = {@TIME_NOW};
158bd3ca
TD
14 //]]>
15 </script>
9543d9fe
AE
16 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/jquery.min.js?v={@$__wcfVersion}"></script>
17 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.min.js?v={@$__wcfVersion}"></script>
478653ba 18 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.nestedSortable.min.js?v={@$__wcfVersion}"></script>
9543d9fe
AE
19 <script data-relocate="true" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.timepicker.min.js?v={@$__wcfVersion}"></script>
20 <script data-relocate="true" src="{@$__wcf->getPath()}js/WCF.js?v={@$__wcfVersion}"></script>
21 <script data-relocate="true" src="{@$__wcf->getPath()}acp/js/WCF.ACP.js?v={@$__wcfVersion}"></script>
22 <script data-relocate="true">
fb969237 23 //<![CDATA[
fad5ab68 24 WCF.User.init({$__wcf->user->userID}, '{@$__wcf->user->username|encodeJS}');
fb969237
TD
25 //]]>
26 </script>
8805f7bf 27 {event name='javascriptInclude'}
158bd3ca 28
e6f055e0 29 <!-- Stylesheets -->
ae054dfc 30 {@$__wcf->getStyleHandler()->getStylesheet()}
08c04942 31 {event name='stylesheets'}
e6f055e0 32
e44f2cf1
AE
33 <!-- Icons -->
34 <link rel="shortcut icon" href="{@$__wcf->getPath()}images/favicon.ico" />
35 <link rel="apple-touch-icon" href="{@$__wcf->getPath()}images/apple-touch-icon.png" />
36
9543d9fe 37 <script data-relocate="true">
158bd3ca
TD
38 //<![CDATA[
39 $(function() {
40 {* work-around for unknown core-object during WCFSetup *}
41 {if PACKAGE_ID}
42 {assign var=activeMenuItems value=$__wcf->getACPMenu()->getActiveMenuItems()|array_reverse}
a75dfffb 43 var $activeMenuItems = [{implode from=$activeMenuItems item=_menuItem}'{$_menuItem}'{/implode}];
158bd3ca
TD
44 new WCF.ACP.Menu($activeMenuItems);
45 {/if}
46
47 WCF.Language.addObject({
d83154c3
AE
48 '__days': [ '{lang}wcf.date.day.sunday{/lang}', '{lang}wcf.date.day.monday{/lang}', '{lang}wcf.date.day.tuesday{/lang}', '{lang}wcf.date.day.wednesday{/lang}', '{lang}wcf.date.day.thursday{/lang}', '{lang}wcf.date.day.friday{/lang}', '{lang}wcf.date.day.saturday{/lang}' ],
49 '__daysShort': [ '{lang}wcf.date.day.sun{/lang}', '{lang}wcf.date.day.mon{/lang}', '{lang}wcf.date.day.tue{/lang}', '{lang}wcf.date.day.wed{/lang}', '{lang}wcf.date.day.thu{/lang}', '{lang}wcf.date.day.fri{/lang}', '{lang}wcf.date.day.sat{/lang}' ],
50 '__months': [ '{lang}wcf.date.month.january{/lang}', '{lang}wcf.date.month.february{/lang}', '{lang}wcf.date.month.march{/lang}', '{lang}wcf.date.month.april{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.june{/lang}', '{lang}wcf.date.month.july{/lang}', '{lang}wcf.date.month.august{/lang}', '{lang}wcf.date.month.september{/lang}', '{lang}wcf.date.month.october{/lang}', '{lang}wcf.date.month.november{/lang}', '{lang}wcf.date.month.december{/lang}' ],
1100805d 51 '__monthsShort': [ '{lang}wcf.date.month.short.jan{/lang}', '{lang}wcf.date.month.short.feb{/lang}', '{lang}wcf.date.month.short.mar{/lang}', '{lang}wcf.date.month.short.apr{/lang}', '{lang}wcf.date.month.short.may{/lang}', '{lang}wcf.date.month.short.jun{/lang}', '{lang}wcf.date.month.short.jul{/lang}', '{lang}wcf.date.month.short.aug{/lang}', '{lang}wcf.date.month.short.sep{/lang}', '{lang}wcf.date.month.short.oct{/lang}', '{lang}wcf.date.month.short.nov{/lang}', '{lang}wcf.date.month.short.dec{/lang}' ],
c138555b 52 'wcf.acp.search.noResults': '{lang}wcf.acp.search.noResults{/lang}',
77f8b178 53 'wcf.clipboard.item.unmarkAll': '{lang}wcf.clipboard.item.unmarkAll{/lang}',
270599e2 54 'wcf.date.relative.now': '{lang}wcf.date.relative.now{/lang}',
5d3e8144
TD
55 'wcf.date.relative.minutes': '{capture assign=relativeMinutes}{lang}wcf.date.relative.minutes{/lang}{/capture}{@$relativeMinutes|encodeJS}',
56 'wcf.date.relative.hours': '{capture assign=relativeHours}{lang}wcf.date.relative.hours{/lang}{/capture}{@$relativeHours|encodeJS}',
57 'wcf.date.relative.pastDays': '{capture assign=relativePastDays}{lang}wcf.date.relative.pastDays{/lang}{/capture}{@$relativePastDays|encodeJS}',
58 'wcf.date.dateFormat': '{lang}wcf.date.dateFormat{/lang}',
59 'wcf.date.dateTimeFormat': '{lang}wcf.date.dateTimeFormat{/lang}',
c02c7d58 60 'wcf.date.shortDateTimeFormat': '{lang}wcf.date.shortDateTimeFormat{/lang}',
e3d60ee7
AE
61 'wcf.date.hour': '{lang}wcf.date.hour{/lang}',
62 'wcf.date.minute': '{lang}wcf.date.minute{/lang}',
b418da85 63 'wcf.date.timeFormat': '{lang}wcf.date.timeFormat{/lang}',
9f8d4e52 64 'wcf.date.firstDayOfTheWeek': '{lang}wcf.date.firstDayOfTheWeek{/lang}',
30e9092c 65 'wcf.global.button.add': '{lang}wcf.global.button.add{/lang}',
7fdd9da5 66 'wcf.global.button.cancel': '{lang}wcf.global.button.cancel{/lang}',
4445e78f 67 'wcf.global.button.close': '{lang}wcf.global.button.close{/lang}',
7fdd9da5 68 'wcf.global.button.collapsible': '{lang}wcf.global.button.collapsible{/lang}',
7eac81dc 69 'wcf.global.button.delete': '{lang}wcf.global.button.delete{/lang}',
7fdd9da5
AE
70 'wcf.global.button.disable': '{lang}wcf.global.button.disable{/lang}',
71 'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}',
72 'wcf.global.button.edit': '{lang}wcf.global.button.edit{/lang}',
73 'wcf.global.button.enable': '{lang}wcf.global.button.enable{/lang}',
3e1dc4e5 74 'wcf.global.button.next': '{lang}wcf.global.button.next{/lang}',
f6777b68 75 'wcf.global.button.preview': '{lang}wcf.global.button.preview{/lang}',
7eac81dc 76 'wcf.global.button.reset': '{lang}wcf.global.button.reset{/lang}',
7fdd9da5 77 'wcf.global.button.save': '{lang}wcf.global.button.save{/lang}',
7eac81dc
MS
78 'wcf.global.button.search': '{lang}wcf.global.button.search{/lang}',
79 'wcf.global.button.submit': '{lang}wcf.global.button.submit{/lang}',
5d3e8144
TD
80 'wcf.global.confirmation.cancel': '{lang}wcf.global.confirmation.cancel{/lang}',
81 'wcf.global.confirmation.confirm': '{lang}wcf.global.confirmation.confirm{/lang}',
82 'wcf.global.confirmation.title': '{lang}wcf.global.confirmation.title{/lang}',
52560d9e 83 'wcf.global.decimalPoint': '{capture assign=decimalPoint}{lang}wcf.global.decimalPoint{/lang}{/capture}{$decimalPoint|encodeJS}',
6ff02d16 84 'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
00c56b20 85 'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
996eb650 86 'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
1226c6bb
MS
87 'wcf.global.form.error.greaterThan': '{lang}wcf.global.form.error.greaterThan.javaScript{/lang}',
88 'wcf.global.form.error.lessThan': '{lang}wcf.global.form.error.lessThan.javaScript{/lang}',
5d3e8144
TD
89 'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
90 'wcf.global.page.jumpTo': '{lang}wcf.global.page.jumpTo{/lang}',
91 'wcf.global.page.jumpTo.description': '{lang}wcf.global.page.jumpTo.description{/lang}',
92 'wcf.global.page.pageNavigation': '{lang}wcf.global.page.pageNavigation{/lang}',
93 'wcf.global.page.next': '{capture assign=pageNext}{lang}wcf.global.page.next{/lang}{/capture}{@$pageNext|encodeJS}',
94 'wcf.global.page.previous': '{capture assign=pagePrevious}{lang}wcf.global.page.previous{/lang}{/capture}{@$pagePrevious|encodeJS}',
b9e59fc3 95 'wcf.global.pageDirection': '{lang}wcf.global.pageDirection{/lang}',
57f097e8 96 'wcf.global.reason': '{lang}wcf.global.reason{/lang}',
9b566f66
MW
97 'wcf.global.success': '{lang}wcf.global.success{/lang}',
98 'wcf.global.success.add': '{lang}wcf.global.success.add{/lang}',
99 'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
19c4c8ef 100 'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}'
df812fa0 101 {event name='javascriptLanguageImport'}
158bd3ca 102 });
7a353b6a
TD
103
104 if (jQuery.browser.touch) $('html').addClass('touch');
158bd3ca 105 new WCF.Date.Time();
f84920f4 106 new WCF.Effect.SmoothScroll();
7766df40 107 new WCF.Effect.BalloonTooltip();
5c2c30ed 108
184a8d6d 109 WCF.Dropdown.init();
5d3e8144
TD
110 WCF.System.PageNavigation.init('.pageNavigation');
111 WCF.Date.Picker.init();
8e514e3f 112 WCF.System.FlexibleMenu.init();
184a8d6d 113
50922192
MS
114 {if $__wcf->user->userID}
115 new WCF.ACP.Search();
116 {/if}
71662ae8 117
2e78af8d 118 {event name='javascriptInit'}
158bd3ca
TD
119 });
120 //]]>
121 </script>
122</head>
123
f0e3483e 124<body id="tpl{$templateName|ucfirst}" class="wcfAcp">
158bd3ca 125 <a id="top"></a>
df812fa0 126
184a8d6d 127 <header id="pageHeader" class="layoutFluid">
bf7f8fb5 128 <div>
cc71223a 129 {if $__wcf->user->userID}
184a8d6d 130 <nav id="topMenu" class="userPanel">
3205ea47 131 <div class="layoutFluid">
daa737bf 132 <ul class="userPanelItems">
184a8d6d 133 <li id="userMenu" class="dropdown">
c12bbcd9 134 <a class="dropdownToggle framed" data-toggle="userMenu">{if PACKAGE_ID}{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(24)} {/if}{lang}wcf.user.userNote{/lang}</a>
184a8d6d 135 <ul class="dropdownMenu">
d4b5ae82 136 {if PACKAGE_ID > 1}
1ccc393c
MW
137 <li><a href="{link controller='User' object=$__wcf->user forceFrontend=true}{/link}" class="box32">
138 <div class="framed">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(32)}</div>
139
140 <div class="containerHeadline">
141 <h3>{$__wcf->user->username}</h3>
142 <small>{lang}wcf.user.myProfile{/lang}</small>
143 </div>
144 </a></li>
145 {if $__wcf->getUserProfileHandler()->canEditOwnProfile()}<li><a href="{link controller='User' object=$__wcf->user forceFrontend=true}editOnInit=true#about{/link}">{lang}wcf.user.editProfile{/lang}</a></li>{/if}
146 <li><a href="{link controller='Settings' forceFrontend=true}{/link}">{lang}wcf.user.menu.settings{/lang}</a></li>
147
148 {event name='userMenuItems'}
149
d4b5ae82
AE
150 <li class="dropdownDivider"></li>
151 {/if}
4fa916a3 152 <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" onclick="WCF.System.Confirmation.show('{lang}wcf.user.logout.sure{/lang}', $.proxy(function (action) { if (action == 'confirm') window.location.href = $(this).attr('href'); }, this)); return false;">{lang}wcf.user.logout{/lang}</a></li>
cc71223a
MW
153 </ul>
154 </li>
1ccc393c
MW
155
156 {if PACKAGE_ID > 1}
157 <li id="jumpToPage" class="dropdown">
7d266a24 158 <a href="{link forceFrontend=true}{/link}" class="dropdownToggle" data-toggle="jumpToPage"><span class="icon icon16 icon-home"></span> <span>{lang}wcf.global.jumpToPage{/lang}</span></a>
1ccc393c 159 <ul class="dropdownMenu">
47190075
AE
160 {foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=_menuItem}
161 <li><a href="{$_menuItem->getProcessor()->getLink()}">{lang}{$_menuItem->menuItem}{/lang}</a></li>
1ccc393c
MW
162 {/foreach}
163 </ul>
164 </li>
165
166 {if $__wcf->session->getPermission('admin.system.package.canUpdatePackage') && $__wcf->getAvailableUpdates()}
167 <li>
f31f284f 168 <a href="{link controller='PackageUpdate'}{/link}"><span class="icon icon16 icon-refresh"></span> <span>{lang}wcf.acp.package.updates{/lang}</span> <span class="badge badgeInverse">{#$__wcf->getAvailableUpdates()}</span></a>
1ccc393c
MW
169 </li>
170 {/if}
171 {/if}
172
173 <li id="woltlab" class="dropdown">
174 <a class="dropdownToggle" data-toggle="woltlab"><span class="icon icon16 icon-info-sign"></span> <span>WoltLab&reg;</span></a>
175
176 <ul class="dropdownMenu">
83d5fd49
MW
177 <li><a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url={"http://www.woltlab.com"|rawurlencode}"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{lang}wcf.acp.index.woltlab.website{/lang}</a></li>
178 <li><a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url={"http://www.woltlab.com/forum/"|rawurlencode}"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{lang}wcf.acp.index.woltlab.forums{/lang}</a></li>
179 <li><a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url={"http://www.woltlab.com/index.php/TicketAdd/"|rawurlencode}"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{lang}wcf.acp.index.woltlab.tickets{/lang}</a></li>
180 <li><a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url={"http://www.woltlab.com/pluginstore/"|rawurlencode}"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{lang}wcf.acp.index.woltlab.pluginStore{/lang}</a></li>
1ccc393c
MW
181 </ul>
182 </li>
183
df812fa0 184 {event name='topMenu'}
cc71223a 185 </ul>
daa737bf 186
8efdfb59
AE
187 {if $__wcf->getSession()->getPermission('admin.general.canUseAcp')}
188 <aside id="search" class="searchBar">
c138555b 189 <form>
8efdfb59
AE
190 <input type="search" name="q" placeholder="{lang}wcf.global.search.enterSearchTerm{/lang}" value="" />
191 </form>
192 </aside>
193 {/if}
cc71223a
MW
194 </div>
195 </nav>
cc71223a 196 {/if}
bf7f8fb5 197
184a8d6d 198 <div id="logo" class="logo">
191b8391 199 <a href="{link}{/link}">
5c2036ab 200 <h1>{lang}wcf.global.acp{/lang}</h1>
db5bb050
MW
201 {if PACKAGE_ID > 1}
202 {event name='headerLogo'}
203 {else}
f33b0489 204 <img src="{@$__wcf->getPath()}acp/images/wcfLogo.png" alt="" style="height: 80px; width: 502px;" />
db5bb050 205 {/if}
bf7f8fb5 206 </a>
158bd3ca 207 </div>
158bd3ca 208
62722674 209 {* work-around for unknown core-object during WCFSetup *}
db5bb050 210 {if PACKAGE_ID && $__wcf->user->userID}
62722674 211 {hascontent}
62722674 212 <nav id="mainMenu" class="mainMenu">
0d95906f 213 <ul>{content}{foreach from=$__wcf->getACPMenu()->getMenuItems('') item=_menuItem}<li data-menu-item="{$_menuItem->menuItem}"><a>{lang}{@$_menuItem->menuItem}{/lang}</a></li>{/foreach}{/content}</ul>
62722674 214 </nav>
62722674
TD
215 {/hascontent}
216 {/if}
158bd3ca 217
3205ea47 218 <nav class="navigation navigationHeader">
184a8d6d 219 <ul class="navigationIcons">
556973c1 220 <li id="toBottomLink" class="toBottomLink"><a href="{@$__wcf->getAnchor('bottom')}" title="{lang}wcf.global.scrollDown{/lang}" class="jsTooltip"><span class="icon icon16 icon-arrow-down"></span> <span class="invisible">{lang}wcf.global.scrollDown{/lang}</span></a></li>
08a322b2 221 {event name='navigationIcons'}
48b9d4ab 222 </ul>
bf7f8fb5 223 </nav>
bf7f8fb5 224 </div>
158bd3ca 225 </header>
158bd3ca 226
db5bb050 227 <div id="main" class="layoutFluid{if PACKAGE_ID && $__wcf->user->userID && $__wcf->getACPMenu()->getMenuItems('')|count} sidebarOrientationLeft{/if}">
158bd3ca 228 <div>
dec50963
MW
229 <div>
230 {hascontent}
231 <aside class="sidebar collapsibleMenu">
232 <div>
233 {content}
234 {* work-around for unknown core-object during WCFSetup *}
235 {if PACKAGE_ID && $__wcf->user->userID}
236 {foreach from=$__wcf->getACPMenu()->getMenuItems('') item=_parentMenuItem}
237 <div id="{$_parentMenuItem->menuItem}-container" style="display: none;" class="menuGroup collapsibleMenus" data-parent-menu-item="{$_parentMenuItem->menuItem}">
238 {foreach from=$__wcf->getACPMenu()->getMenuItems($_parentMenuItem->menuItem) item=_menuItem}
239 <fieldset>
240 <legend class="menuHeader" data-menu-item="{$_menuItem->menuItem}">{@$_menuItem}</legend>
241
242 <nav class="menuGroupItems">
243 <ul id="{$_menuItem->menuItem}">
244 {foreach from=$__wcf->getACPMenu()->getMenuItems($_menuItem->menuItem) item=menuItemCategory}
245 {if $__wcf->getACPMenu()->getMenuItems($menuItemCategory->menuItem)|count > 0}
246 {foreach from=$__wcf->getACPMenu()->getMenuItems($menuItemCategory->menuItem) item=subMenuItem}
247 <li id="{$subMenuItem->menuItem}" data-menu-item="{$subMenuItem->menuItem}"><a href="{$subMenuItem->getLink()}">{@$subMenuItem}</a></li>
248 {/foreach}
249 {else}
250 <li id="{$menuItemCategory->menuItem}" data-menu-item="{$menuItemCategory->menuItem}"><a href="{$menuItemCategory->getLink()}">{@$menuItemCategory}</a></li>
251 {/if}
252 {/foreach}
253 </ul>
254 </nav>
255 </fieldset>
256 {/foreach}
257 </div>
258 {/foreach}
259 {/if}
260 {/content}
261 </div>
262 </aside>
263 {/hascontent}
264
265 <section id="content" class="content">
19c4c8ef 266