1 {include file='documentHeader'}
4 <title>{lang}wcf.user.usersOnline{/lang} - {PAGE_TITLE|language}</title>
6 {include file='headInclude'}
8 <link rel="canonical" href="{link controller='UsersOnlineList'}{/link}" />
10 <script data-relocate="true">
13 WCF.Language.addObject({
14 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
15 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
16 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
17 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
20 new WCF.User.Action.Follow($('.userList > li'));
21 new WCF.User.Action.Ignore($('.userList > li'));
26 {if USERS_ONLINE_PAGE_REFRESH > 0}
27 <meta http-equiv="refresh" content="{@USERS_ONLINE_PAGE_REFRESH}; url={link controller='UsersOnlineList'}sortField={@$sortField}&sortOrder={@$sortOrder}{/link}" />
31 <body id="tpl{$templateName|ucfirst}" data-template="{$templateName}" data-application="{$templateNameApplication}">
33 {capture assign='sidebar'}
35 <form method="post" action="{link controller='UsersOnlineList'}{/link}">
37 <legend><label for="sortField">{lang}wcf.user.members.sort{/lang}</label></legend>
42 <select id="sortField" name="sortField">
43 <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
44 <option value="lastActivityTime"{if $sortField == 'lastActivityTime'} selected="selected"{/if}>{lang}wcf.user.usersOnline.lastActivity{/lang}</option>
45 <option value="requestURI"{if $sortField == 'requestURI'} selected="selected"{/if}>{lang}wcf.user.usersOnline.location{/lang}</option>
47 {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
48 <option value="ipAddress"{if $sortField == 'ipAddress'} selected="selected"{/if}>{lang}wcf.user.usersOnline.ipAddress{/lang}</option>
49 <option value="userAgent"{if $sortField == 'userAgent'} selected="selected"{/if}>{lang}wcf.user.usersOnline.userAgent{/lang}</option>
52 <select name="sortOrder">
53 <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
54 <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
60 <div class="formSubmit">
61 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
68 <legend>{lang}wcf.user.usersOnline{/lang}</legend>
70 <p><small>{lang usersOnlineList=$objects}wcf.user.usersOnline.detail{/lang}</small></p>
71 {if USERS_ONLINE_RECORD}<p><small>{lang}wcf.user.usersOnline.record{/lang}</small></p>{/if}
73 {if USERS_ONLINE_ENABLE_LEGEND && $objects->getUsersOnlineMarkings()|count}
74 <div class="marginTopSmall">
75 <p><small>{lang}wcf.user.usersOnline.marking.legend{/lang}:</small></p>
77 {foreach from=$objects->getUsersOnlineMarkings() item=usersOnlineMarking}
78 <li><small>{@$usersOnlineMarking}</small></li>
88 {include file='header' sidebarOrientation='right'}
90 {include file='userNotice'}
92 {assign var=usersOnlineList value=''}
93 {assign var=usersOnline value=0}
94 {assign var=robotsOnlineList value=''}
95 {assign var=robotsOnline value=0}
96 {assign var=guestsOnlineList value=''}
97 {assign var=guestsOnline value=0}
98 {foreach from=$objects item=user}
99 {capture assign=locationData}
101 {if $user->getLocation()}{@$user->getLocation()}{else}{lang}wcf.user.usersOnline.location.unknown{/lang}{/if} <small>- {@$user->lastActivityTime|time}</small>
105 {capture assign=sessionData}
106 {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
107 <dl class="plain inlineDataList">
108 <dt>{lang}wcf.user.usersOnline.ipAddress{/lang}</dt>
109 <dd title="{$user->getFormattedIPAddress()}">{$user->getFormattedIPAddress()|truncate:30}</dd>
111 {if !$user->spiderID}
112 <dt>{lang}wcf.user.usersOnline.userAgent{/lang}</dt>
113 <dd title="{$user->userAgent}">{$user->getBrowser()|truncate:30}</dd>
121 {capture append=usersOnlineList}
124 <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
126 <div class="details userInformation">
127 <a href="{link controller='User' object=$user}{/link}" class="username">{@$user->getFormattedUsername()}</a>
128 {if MODULE_USER_RANK}
129 {if $user->getUserTitle()}
130 <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>
132 {if $user->getRank() && $user->getRank()->rankImage}
133 <span class="userRankImage">{@$user->getRank()->getImage()}</span>
141 {include file='userInformationButtons'}
147 {assign var=usersOnline value=$usersOnline+1}
148 {elseif $user->spiderID}
150 {capture append=robotsOnlineList}
153 <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-spider-default.svg" alt="" class="icon48" /></p>
155 <div class="details userInformation">
156 <div class="containerHeadline">
157 <h3>{if $user->getSpider()->spiderURL}<a href="{$user->getSpider()->spiderURL}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}{if EXTERNAL_LINK_REL_NOFOLLOW} rel="nofollow"{/if}>{$user->getSpider()->spiderName}</a>{else}{$user->getSpider()->spiderName}{/if}</h3>
167 {assign var=robotsOnline value=$robotsOnline+1}
170 {capture append=guestsOnlineList}
173 <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon48" /></p>
175 <div class="details userInformation">
176 <div class="containerHeadline">
177 <h3>{lang}wcf.user.guest{/lang}</h3>
187 {assign var=guestsOnline value=$guestsOnline+1}
191 <div class="contentNavigation">
196 {event name='contentNavigationButtonsTop'}
204 <header class="boxHeadline">
205 <h1>{lang}wcf.user.usersOnline{/lang} <span class="badge">{#$usersOnline}</span></h1>
208 <div class="container marginTop">
209 <ol class="containerList userList">
215 {if $guestsOnline && USERS_ONLINE_SHOW_GUESTS}
216 <header class="boxHeadline">
217 <h1>{lang}wcf.user.usersOnline.guests{/lang} <span class="badge">{#$guestsOnline}</span></h1>
220 <div class="container marginTop">
221 <ol class="containerList">
227 {if $robotsOnline && USERS_ONLINE_SHOW_ROBOTS}
228 <header class="boxHeadline">
229 <h1>{lang}wcf.user.usersOnline.robots{/lang} <span class="badge">{#$robotsOnline}</span></h1>
232 <div class="container marginTop">
233 <ol class="containerList">
239 <div class="contentNavigation">
244 {event name='contentNavigationButtonsBottom'}
251 {include file='footer'}