Fixed time zone calculation issue
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / user.tpl
1 {include file='documentHeader'}
2
3 <head>
4 <title>{lang}wcf.user.profile{/lang} - {lang}wcf.user.members{/lang} - {PAGE_TITLE|language}</title>
5
6 {include file='headInclude'}
7
8 <link rel="canonical" href="{link controller='User' object=$user}{/link}" />
9
10 <script data-relocate="true" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
11 {event name='javascriptInclude'}
12 <script data-relocate="true">
13 //<![CDATA[
14 $(function() {
15 {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
16 WCF.Language.addObject({
17 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}',
18 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
19 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
20 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
21 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
22 });
23
24 {if !$user->getPermission('user.profile.cannotBeIgnored')}
25 new WCF.User.Profile.IgnoreUser({@$user->userID}, {if $__wcf->getUserProfileHandler()->isIgnoredUser($user->userID)}true{else}false{/if});
26 {/if}
27
28 new WCF.User.Profile.Follow({@$user->userID}, {if $__wcf->getUserProfileHandler()->isFollowing($user->userID)}true{else}false{/if});
29 {/if}
30
31 new WCF.User.Profile.TabMenu({@$user->userID});
32
33 WCF.TabMenu.init();
34
35 {if $user->canEdit() || ($__wcf->getUser()->userID == $user->userID && $user->canEditOwnProfile())}
36 WCF.Language.addObject({
37 'wcf.user.editProfile': '{lang}wcf.user.editProfile{/lang}',
38 });
39
40 new WCF.User.Profile.Editor({@$user->userID}, {if $editOnInit}true{else}false{/if});
41 {/if}
42
43 {if $user->activityPoints}
44 WCF.Language.addObject({
45 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
46 });
47
48 WCF.User.Profile.ActivityPointList.init();
49 {/if}
50
51 {if $followingCount > 10}
52 var $followingList = null;
53 $('#followingAll').click(function() {
54 if ($followingList === null) {
55 $followingList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowingAction', $('#followingAll').parents('fieldset').children('legend').text().replace(/ \d+$/, ''), { userID: {@$user->userID} });
56 }
57
58 $followingList.open();
59 });
60 {/if}
61 {if $followerCount > 10}
62 var $followerList = null;
63 $('#followerAll').click(function() {
64 if ($followerList === null) {
65 $followerList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowAction', $('#followerAll').parents('fieldset').children('legend').text().replace(/ \d+$/, ''), { userID: {@$user->userID} });
66 }
67
68 $followerList.open();
69 });
70 {/if}
71 {if $visitorCount > 10}
72 var $visitorList = null;
73 $('#visitorAll').click(function() {
74 if ($visitorList === null) {
75 $visitorList = new WCF.User.List('wcf\\data\\user\\profile\\visitor\\UserProfileVisitorAction', $('#visitorAll').parents('fieldset').children('legend').text().replace(/ \d+$/, ''), { userID: {@$user->userID} });
76 }
77
78 $visitorList.open();
79 });
80 {/if}
81
82 {event name='javascriptInit'}
83 });
84 //]]>
85 </script>
86
87 <noscript>
88 <style type="text/css">
89 #profileContent > .tabMenu > ul > li:not(:first-child) {
90 display: none !important;
91 }
92
93 #profileContent > .tabMenuContent:not(:first-of-type) {
94 display: none !important;
95 }
96 </style>
97 </noscript>
98 </head>
99
100 <body id="tpl{$templateName|ucfirst}">
101
102 {include file='userSidebar' assign='sidebar'}
103
104 {include file='header' sidebarOrientation='left'}
105
106 <header class="boxHeadline userHeadline">
107 <span class="framed invisible">{@$user->getAvatar()->getImageTag(48)}</span>
108
109 <h1>{$user->username}{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h1>
110
111 <ul class="dataList">
112 {if $user->gender}<li>{lang}wcf.user.gender.{if $user->gender == 1}male{else}female{/if}{/lang}</li>{/if}
113 {if $user->getAge()}<li>{@$user->getAge()}</li>{/if}
114 {if $user->location}<li>{lang}wcf.user.membersList.location{/lang}</li>{/if}
115 {if $user->getOldUsername()}<li>{lang}wcf.user.profile.oldUsername{/lang}</li>{/if}
116 <li>{lang}wcf.user.membersList.registrationDate{/lang}</li>
117 {event name='userDataRow1'}
118 </ul>
119 {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}
120 <dl class="plain inlineDataList">
121 <dt>{lang}wcf.user.usersOnline.lastActivity{/lang}</dt>
122 <dd>{@$user->getLastActivityTime()|time}{if $user->getCurrentLocation()}, {@$user->getCurrentLocation()}{/if}</dd>
123 {event name='userDataRow2'}
124 </dl>
125 {/if}
126 <nav class="jsMobileNavigation buttonGroupNavigation">
127 <ul id="profileButtonContainer" class="buttonGroup">
128 {hascontent}
129 <li class="dropdown">
130 <a class="button dropdownToggle jsTooltip" title="{lang}wcf.user.searchUserContent{/lang}"><span class="icon icon16 icon-search"></span> <span class="invisible">{lang}wcf.user.searchUserContent{/lang}</span></a>
131 <ul class="dropdownMenu">
132 {content}
133 {event name='quickSearchItems'}
134 {/content}
135 </ul>
136 </li>
137 {/hascontent}
138 {if $user->userID != $__wcf->user->userID}{if $user->isAccessible('canViewEmailAddress')}<li><a class="button jsTooltip" href="mailto:{@$user->getEncodedEmail()}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{elseif $user->isAccessible('canMail') && $__wcf->session->getPermission('user.profile.canMail')}<li><a class="button jsTooltip" href="{link controller='Mail' object=$user}{/link}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{/if}{/if}
139 {event name='buttons'}
140 </ul>
141 </nav>
142 </header>
143
144 {include file='userNotice'}
145
146 <div class="contentNavigation">
147 {hascontent}
148 <nav>
149 <ul>
150 {content}
151 {event name='contentNavigationButtons'}
152 {/content}
153 </ul>
154 </nav>
155 {/hascontent}
156 </div>
157
158 <section id="profileContent" class="marginTop tabMenuContainer" data-active="{$__wcf->getUserProfileMenu()->getActiveMenuItem()->getIdentifier()}">
159 <nav class="tabMenu">
160 <ul>
161 {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
162 {if $menuItem->getContentManager()->isVisible($userID)}
163 <li><a href="{$__wcf->getAnchor($menuItem->getIdentifier())}">{lang}wcf.user.profile.menu.{@$menuItem->menuItem}{/lang}</a></li>
164 {/if}
165 {/foreach}
166 </ul>
167 </nav>
168
169 {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
170 {if $menuItem->getContentManager()->isVisible($userID)}
171 <div id="{$menuItem->getIdentifier()}" class="container tabMenuContent" data-menu-item="{$menuItem->menuItem}">
172 {if $menuItem === $__wcf->getUserProfileMenu()->getActiveMenuItem()}
173 {@$profileContent}
174 {/if}
175 </div>
176 {/if}
177 {/foreach}
178 </section>
179
180 {include file='footer'}
181
182 </body>
183 </html>