Commit | Line | Data |
---|---|---|
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®</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 |