Preparing internal update
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / userPanel.tpl
CommitLineData
320f4a6d
MW
1{if $__wcf->user->userID}
2 <!-- user menu -->
28c5a05a
AE
3 <li id="userMenu">
4 <a class="framed" href="{link controller='User' object=$__wcf->user}{/link}">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(24)} <span>{lang}wcf.user.userNote{/lang}</span></a>
5 <div class="interactiveDropdown interactiveDropdownStatic interactiveDropdownUserMenu">
6 <div class="interactiveDropdownHeader">
7 <span class="interactiveDropdownTitle">{$__wcf->user->username}</span>
8 {hascontent}
9 <ul class="interactiveDropdownLinks">
10 {content}
11 {event name='userMenuLinks'}
12 {/content}
13 </ul>
14 {/hascontent}
15 </div>
16 <div class="interactiveDropdownItemsContainer">
17 <ul class="interactiveDropdownItems interactiveDropdownItemsUserMenu">
18 <li>
19 <a href="{link controller='User' object=$__wcf->user}{/link}" class="box64">
20 <div class="framed">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(64)}</div>
21
22 <div class="containerHeadline">
23 <h3>{$__wcf->user->username}</h3>
24 {if MODULE_USER_RANK && $__wcf->getUserProfileHandler()->getUserTitle()}<p><span class="badge userTitleBadge{if $__wcf->getUserProfileHandler()->getRank() && $__wcf->getUserProfileHandler()->getRank()->cssClassName} {@$__wcf->getUserProfileHandler()->getRank()->cssClassName}{/if}">{$__wcf->getUserProfileHandler()->getUserTitle()}</span></p>{/if}
25 <small style="display: none;">{lang}wcf.user.myProfile{/lang}</small>
26 </div>
27 </a>
28 </li>
29 <li class="dropdownDivider"></li>
30 <li><a href="{link controller='User' object=$__wcf->user}{/link}">{lang}wcf.user.myProfile{/lang}</a></li>
31 {if $__wcf->getUserProfileHandler()->canEditOwnProfile()}<li><a href="{link controller='User' object=$__wcf->user}editOnInit=true#about{/link}">{lang}wcf.user.editProfile{/lang}</a></li>{/if}
32 <li><a href="{link controller='Settings'}{/link}">{lang}wcf.user.menu.settings{/lang}</a></li>
33
34 {event name='userMenuItems'}
35
36 {if $__wcf->session->getPermission('admin.general.canUseAcp')}
37 <li class="dropdownDivider"></li>
38 <li><a href="{link isACP=true}{/link}">{lang}wcf.global.acp.short{/lang}</a></li>
39 {/if}
40 </ul>
41 </div>
42 <a class="interactiveDropdownShowAll">{lang}wcf.user.logout{/lang}</a>
43 </div>
44 <script data-relocate="true">
45 $(function() {
46 new WCF.User.Panel.UserMenu();
47 });
48 </script>
320f4a6d
MW
49
50 <li><a href="{link controller='Settings'}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-cogs"></span> <span>{lang}wcf.user.menu.settings{/lang}</span></a></li>
51
52 <!-- user notifications -->
53 {if !$__hideUserMenu|isset}
54 <li id="userNotifications" data-count="{#$__wcf->getUserNotificationHandler()->getNotificationCount()}">
55 <a href="{link controller='NotificationList'}{/link}"><span class="icon icon16 icon-bell-alt"></span> <span>{lang}wcf.user.notification.notifications{/lang}</span>{if $__wcf->getUserNotificationHandler()->getNotificationCount()} <span class="badge badgeInverse">{#$__wcf->getUserNotificationHandler()->getNotificationCount()}</span>{/if}</a>
51547f2c
AE
56 {if !OFFLINE || $__wcf->session->getPermission('admin.general.canViewPageDuringOfflineMode')}
57 <script data-relocate="true">
58 //<![CDATA[
59 $(function() {
0d42c1c1
AE
60 new WCF.User.Panel.Notification({
61 markAllAsReadConfirmMessage: '{lang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/lang}',
62 noItems: '{lang}wcf.user.notification.noMoreNotifications{/lang}',
63 settingsLink: '{link controller='NotificationSettings' encode=false}{/link}',
64 showAllLink: '{link controller='NotificationList' encode=false}{/link}',
65 title: '{lang}wcf.user.notification.notifications{/lang}'
51547f2c 66 });
320f4a6d 67 });
51547f2c
AE
68 //]]>
69 </script>
70 {/if}
320f4a6d
MW
71 </li>
72 {/if}
73{else}
74 {if !$__disableLoginLink|isset}
75 <!-- login box -->
253c1a5b 76 <li id="userLogin">
c1693262 77 <a class="loginLink" href="{link controller='Login'}{/link}">{lang}wcf.user.loginOrRegister{/lang}</a>
320f4a6d
MW
78 <div id="loginForm" style="display: none;">
79 {capture assign='__3rdPartyButtons'}
80 {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
81 <li id="githubAuth" class="3rdPartyAuth">
8eef36ed 82 <a href="{link controller='GithubAuth'}{/link}" class="thirdPartyLoginButton githubLoginButton"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.login{/lang}</span></a>
28283ef7
MW
83 </li>
84 {/if}
320f4a6d 85
28283ef7
MW
86 {if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}
87 <li id="twitterAuth" class="3rdPartyAuth">
8eef36ed 88 <a href="{link controller='TwitterAuth'}{/link}" class="thirdPartyLoginButton twitterLoginButton"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.login{/lang}</span></a>
28283ef7
MW
89 </li>
90 {/if}
320f4a6d 91
28283ef7
MW
92 {if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}
93 <li id="facebookAuth" class="3rdPartyAuth">
8eef36ed 94 <a href="{link controller='FacebookAuth'}{/link}" class="thirdPartyLoginButton facebookLoginButton"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.login{/lang}</span></a>
28283ef7
MW
95 </li>
96 {/if}
320f4a6d 97
28283ef7
MW
98 {if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}
99 <li id="googleAuth" class="3rdPartyAuth">
8eef36ed 100 <a href="{link controller='GoogleAuth'}{/link}" class="thirdPartyLoginButton googleLoginButton"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.login{/lang}</span></a>
320f4a6d
MW
101 </li>
102 {/if}
17729c4f
MW
103
104 {event name='3rdpartyButtons'}
320f4a6d
MW
105 {/capture}
106
107 <form method="post" action="{link controller='Login'}{/link}">
108 <fieldset>
109 {if $__3rdPartyButtons|trim}<legend>{lang}wcf.user.login{/lang}</legend>{/if}
110
111 <dl>
112 <dt><label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label></dt>
113 <dd>
114 <input type="text" id="username" name="username" value="" required="required" class="long" />
115 </dd>
116 </dl>
117
118 {if !REGISTER_DISABLED}
119 <dl>
120 <dt>{lang}wcf.user.login.action{/lang}</dt>
121 <dd>
122 <label><input type="radio" name="action" value="register" /> {lang}wcf.user.login.action.register{/lang}</label>
123 <label><input type="radio" name="action" value="login" checked="checked" /> {lang}wcf.user.login.action.login{/lang}</label>
124 </dd>
125 </dl>
126 {/if}
127
128 <dl>
129 <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
130 <dd>
131 <input type="password" id="password" name="password" value="" class="long" />
132 </dd>
133 </dl>
134
135 {if $__wcf->getUserAuthenticationFactory()->getUserAuthentication()->supportsPersistentLogins()}
136 <dl>
77f70354 137 <dt></dt>
320f4a6d
MW
138 <dd><label><input type="checkbox" id="useCookies" name="useCookies" value="1" checked="checked" /> {lang}wcf.user.useCookies{/lang}</label></dd>
139 </dl>
140 {/if}
141
142 {event name='loginFields'}
143
144 <div class="formSubmit">
145 <input type="submit" id="loginSubmitButton" name="submitButton" value="{lang}wcf.user.button.login{/lang}" accesskey="s" />
8a3f83e8 146 <a class="button" href="{link controller='LostPassword'}{/link}"><span>{lang}wcf.user.lostPassword{/lang}</span></a>
320f4a6d 147 <input type="hidden" name="url" value="{$__wcf->session->requestURI}" />
ee629b22 148 {@SECURITY_TOKEN_INPUT_TAG}
320f4a6d
MW
149 </div>
150 </fieldset>
151
152 {if $__3rdPartyButtons|trim}
153 <fieldset>
154 <legend>{lang}wcf.user.login.3rdParty{/lang}</legend>
8eef36ed 155 <ul class="buttonList smallButtons thirdPartyLogin">
320f4a6d
MW
156 {@$__3rdPartyButtons}
157 </ul>
158 </fieldset>
159 {/if}
160 </form>
161 </div>
162
9543d9fe 163 <script data-relocate="true">
320f4a6d
MW
164 //<![CDATA[
165 $(function() {
166 WCF.Language.addObject({
167 'wcf.user.button.login': '{lang}wcf.user.button.login{/lang}',
168 'wcf.user.button.register': '{lang}wcf.user.button.register{/lang}',
169 'wcf.user.login': '{lang}wcf.user.login{/lang}'
170 });
171 new WCF.User.Login(true);
172 });
173 //]]>
174 </script>
175 </li>
176 {/if}
edf7add2
MW
177 {if $__wcf->getLanguage()->getLanguages()|count > 1}
178 <li id="pageLanguageContainer">
9543d9fe 179 <script data-relocate="true">
edf7add2
MW
180 //<![CDATA[
181 $(function() {
182 var $languages = {
183 {implode from=$__wcf->getLanguage()->getLanguages() item=language}
184 '{@$language->languageID}': {
185 iconPath: '{@$language->getIconPath()}',
186 languageName: '{$language}'
187 }
188 {/implode}
189 };
320f4a6d 190
edf7add2
MW
191 new WCF.Language.Chooser('pageLanguageContainer', 'languageID', {@$__wcf->getLanguage()->languageID}, $languages, function(item) {
192 var $location = window.location.toString().replace(/#.*/, '').replace(/(\?|&)l=[0-9]+/g, '');
193 var $delimiter = ($location.indexOf('?') == -1) ? '?' : '&';
194
195 window.location = $location + $delimiter + 'l=' + item.data('languageID') + window.location.hash;
196 });
320f4a6d 197 });
edf7add2
MW
198 //]]>
199 </script>
200 </li>
201 {/if}
320f4a6d
MW
202{/if}
203
204{if !$__hideUserMenu|isset}
fc69b61d
MW
205 {if $__wcf->user->userID && $__wcf->session->getPermission('mod.general.canUseModeration')}
206 <li id="outstandingModeration" data-count="{#$__wcf->getModerationQueueManager()->getOutstandingModerationCount()}">
207 <a href="{link controller='ModerationList'}{/link}">
208 <span class="icon icon16 icon-warning-sign"></span>
209 <span>{lang}wcf.moderation.moderation{/lang}</span>
6552b644 210 {if $__wcf->getModerationQueueManager()->getUnreadModerationCount()}<span class="badge badgeInverse">{#$__wcf->getModerationQueueManager()->getUnreadModerationCount()}</span>{/if}
fc69b61d 211 </a>
51547f2c 212 {if !OFFLINE || $__wcf->session->getPermission('admin.general.canViewPageDuringOfflineMode')}
51547f2c
AE
213 <script data-relocate="true">
214 //<![CDATA[
215 $(function() {
b2e0e0cd
AE
216 new WCF.User.Panel.Moderation({
217 deletedContent: '{lang}wcf.moderation.showDeletedContent{/lang}',
218 deletedContentLink: '{link controller='DeletedContentList' encode=false}{/link}',
219 markAllAsReadConfirmMessage: '{lang}wcf.moderation.markAllAsRead.confirmMessage{/lang}',
220 noItems: '{lang}wcf.moderation.noMoreItems{/lang}',
e2c010a8 221 showAllLink: '{link controller='ModerationList' encode=false}{/link}',
b2e0e0cd
AE
222 title: '{lang}wcf.moderation.moderation{/lang}'
223 });
fc69b61d 224 });
51547f2c
AE
225 //]]>
226 </script>
227 {/if}
fc69b61d
MW
228 </li>
229 {/if}
230
320f4a6d
MW
231 {event name='menuItems'}
232{/if}
233
234{if $__wcf->user->userID}
235 <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-signout"></span> <span>{lang}wcf.user.logout{/lang}</span></a></li>
236{/if}