Merge branch 'master' into next
[GitHub/WoltLab/WCF.git] / com.woltlab.wcf / templates / membersList.tpl
1 {capture assign='pageTitle'}{if $searchID}{lang}wcf.user.search.results{/lang}{else}{lang}wcf.user.members{/lang}{/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}{lang}wcf.user.members{/lang}{/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">{lang}wcf.user.search{/lang}</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">
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><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">
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="selected"{/if}>{lang}wcf.user.username{/lang}</option>
58 <option value="registrationDate"{if $sortField == 'registrationDate'} selected="selected"{/if}>{lang}wcf.user.registrationDate{/lang}</option>
59 <option value="activityPoints"{if $sortField == 'activityPoints'} selected="selected"{/if}>{lang}wcf.user.activityPoint{/lang}</option>
60 {if MODULE_LIKE}<option value="likesReceived"{if $sortField == 'likesReceived'} selected="selected"{/if}>{lang}wcf.like.likesReceived{/lang}</option>{/if}
61 <option value="lastActivityTime"{if $sortField == 'lastActivityTime'} selected="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="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
66 <option value="DESC"{if $sortOrder == 'DESC'} selected="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 {@SID_INPUT_TAG}
75 </div>
76 </div>
77 </form>
78 </section>
79 {/capture}
80
81 {include file='header'}
82
83 {hascontent}
84 <div class="paginationTop">
85 {content}
86 {if $searchID}
87 {pages print=true assign=pagesLinks controller='MembersList' id=$searchID link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
88 {else}
89 {pages print=true assign=pagesLinks controller='MembersList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
90 {/if}
91 {/content}
92 </div>
93 {/hascontent}
94
95 {if $items}
96 <div class="section sectionContainerList">
97 <ol class="containerList userList">
98 {foreach from=$objects item=user}
99 {include file='userListItem'}
100 {/foreach}
101 </ol>
102 </div>
103 {else}
104 <p class="info">{lang}wcf.user.members.noMembers{/lang}</p>
105 {/if}
106
107 <footer class="contentFooter">
108 {hascontent}
109 <div class="paginationBottom">
110 {content}{@$pagesLinks}{/content}
111 </div>
112 {/hascontent}
113
114 {hascontent}
115 <nav class="contentFooterNavigation">
116 <ul>
117 {content}{event name='contentFooterNavigation'}{/content}
118 </ul>
119 </nav>
120 {/hascontent}
121 </footer>
122
123 <script data-relocate="true">
124 //<![CDATA[
125 $(function() {
126 WCF.Language.addObject({
127 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
128 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
129 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
130 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
131 });
132
133 new WCF.User.Action.Follow($('.userList > li'));
134 new WCF.User.Action.Ignore($('.userList > li'));
135
136 new WCF.Search.User('#searchUsername', function(data) {
137 var $link = '{link controller='User' id=2147483646 title='wcfTitlePlaceholder' encode=false}{/link}';
138 window.location = $link.replace('2147483646', data.objectID).replace('wcfTitlePlaceholder', data.label);
139 }, false, [ ], false);
140 });
141 //]]>
142 </script>
143
144 {include file='footer'}