Merge branch '3.0'
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / membersList.tpl
1 {capture assign='pageTitle'}{if $searchID}{lang}wcf.user.search.results{/lang}{else}{$__wcf->getActivePage()->getTitle()}{/if}{if $pageNo > 1} - {lang}wcf.page.pageNo{/lang}{/if}{/capture}
2
3 {capture assign='contentTitle'}{if $searchID}{lang}wcf.user.search.results{/lang}{else}{$__wcf->getActivePage()->getTitle()}{/if} <span class="badge">{#$items}</span>{/capture}
4
5 {capture assign='canonicalURLParameters'}sortField={@$sortField}&sortOrder={@$sortOrder}{if $letter}&letter={@$letter|rawurlencode}{/if}{/capture}
6
7 {capture assign='headContent'}
8 {if $pageNo < $pages}
9 <link rel="next" href="{link controller='MembersList'}pageNo={@$pageNo+1}&{@$canonicalURLParameters}{/link}">
10 {/if}
11 {if $pageNo > 1}
12 <link rel="prev" href="{link controller='MembersList'}{if $pageNo > 2}pageNo={@$pageNo-1}&{/if}{@$canonicalURLParameters}{/link}">
13 {/if}
14 <link rel="canonical" href="{link controller='MembersList'}{if $pageNo > 1}pageNo={@$pageNo}&{/if}{@$canonicalURLParameters}{/link}">
15 {/capture}
16
17 {capture assign='sidebarRight'}
18 {assign var=encodedLetter value=$letter|rawurlencode}
19 <section class="jsOnly box">
20 <form method="post" action="{link controller='UserSearch'}{/link}">
21 <h2 class="boxTitle"><a href="{link controller='UserSearch'}{/link}">{lang}wcf.user.search{/lang}</a></h2>
22
23 <div class="boxContent">
24 <dl>
25 <dt></dt>
26 <dd>
27 <input type="text" id="searchUsername" name="username" class="long" placeholder="{lang}wcf.user.username{/lang}">
28 {@SECURITY_TOKEN_INPUT_TAG}
29 </dd>
30 </dl>
31 </div>
32 </form>
33 </section>
34
35 <section class="box" data-static-box-identifier="com.woltlab.wcf.MembersListLetters">
36 <h2 class="boxTitle">{lang}wcf.user.members.sort.letters{/lang}</h2>
37
38 <div class="boxContent">
39 <ul class="buttonList smallButtons letters">
40 {foreach from=$letters item=__letter}
41 <li><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{/if}" class="button small{if $letter == $__letter} active{/if}">{$__letter}</a></li>
42 {/foreach}
43 {if !$letter|empty}<li class="lettersReset"><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}{/link}{/if}" class="button small">{lang}wcf.user.members.sort.letters.all{/lang}</a></li>{/if}
44 </ul>
45 </div>
46 </section>
47
48 <section class="box" data-static-box-identifier="com.woltlab.wcf.MembersListSorting">
49 <form method="post" action="{if $searchID}{link controller='MembersList' id=$searchID}{/link}{else}{link controller='MembersList'}{/link}{/if}">
50 <h2 class="boxTitle">{lang}wcf.user.members.sort{/lang}</h2>
51
52 <div class="boxContent">
53 <dl>
54 <dt></dt>
55 <dd>
56 <select id="sortField" name="sortField">
57 <option value="username"{if $sortField == 'username'} selected{/if}>{lang}wcf.user.username{/lang}</option>
58 <option value="registrationDate"{if $sortField == 'registrationDate'} selected{/if}>{lang}wcf.user.registrationDate{/lang}</option>
59 <option value="activityPoints"{if $sortField == 'activityPoints'} selected{/if}>{lang}wcf.user.activityPoint{/lang}</option>
60 {if MODULE_LIKE}<option value="likesReceived"{if $sortField == 'likesReceived'} selected{/if}>{lang}wcf.like.likesReceived{/lang}</option>{/if}
61 <option value="lastActivityTime"{if $sortField == 'lastActivityTime'} selected{/if}>{lang}wcf.user.usersOnline.lastActivity{/lang}</option>
62 {event name='sortField'}
63 </select>
64 <select name="sortOrder">
65 <option value="ASC"{if $sortOrder == 'ASC'} selected{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
66 <option value="DESC"{if $sortOrder == 'DESC'} selected{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
67 </select>
68 </dd>
69 </dl>
70
71 <div class="formSubmit">
72 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
73 <input type="hidden" name="letter" value="{$letter}">
74 </div>
75 </div>
76 </form>
77 </section>
78 {/capture}
79
80 {include file='header'}
81
82 {hascontent}
83 <div class="paginationTop">
84 {content}
85 {if $searchID}
86 {pages print=true assign=pagesLinks controller='MembersList' id=$searchID link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
87 {else}
88 {pages print=true assign=pagesLinks controller='MembersList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
89 {/if}
90 {/content}
91 </div>
92 {/hascontent}
93
94 {if $items}
95 <div class="section sectionContainerList">
96 <ol class="containerList userList">
97 {foreach from=$objects item=user}
98 {include file='userListItem'}
99 {/foreach}
100 </ol>
101 </div>
102 {else}
103 <p class="info">{lang}wcf.user.members.noMembers{/lang}</p>
104 {/if}
105
106 <footer class="contentFooter">
107 {hascontent}
108 <div class="paginationBottom">
109 {content}{@$pagesLinks}{/content}
110 </div>
111 {/hascontent}
112
113 {hascontent}
114 <nav class="contentFooterNavigation">
115 <ul>
116 {content}{event name='contentFooterNavigation'}{/content}
117 </ul>
118 </nav>
119 {/hascontent}
120 </footer>
121
122 <script data-relocate="true">
123 $(function() {
124 WCF.Language.addObject({
125 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
126 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
127 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
128 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
129 });
130
131 new WCF.User.Action.Follow($('.userList > li'));
132 new WCF.User.Action.Ignore($('.userList > li'));
133
134 new WCF.Search.User('#searchUsername', function(data) {
135 var $link = '{link controller='User' id=2147483646 title='wcfTitlePlaceholder' encode=false}{/link}';
136 window.location = $link.replace('2147483646', data.objectID).replace('wcfTitlePlaceholder', data.label);
137 }, false, [ ], false);
138 });
139 </script>
140
141 {include file='footer'}