Commit | Line | Data |
---|---|---|
7485c55b MS |
1 | {if $searchID} |
2 | {assign var='pageTitle' value='wcf.acp.user.search'} | |
3 | {else} | |
4 | {assign var='pageTitle' value='wcf.acp.user.list'} | |
5 | {/if} | |
6 | ||
158bd3ca | 7 | {include file='header'} |
8c34456d | 8 | |
11910ce3 | 9 | {event name='javascriptInclude'} |
9543d9fe | 10 | <script data-relocate="true"> |
158bd3ca | 11 | //<![CDATA[ |
2c04fc49 | 12 | $(function() { |
da27d58a MS |
13 | var actionObjects = { }; |
14 | actionObjects['com.woltlab.wcf.user'] = { }; | |
d371330f | 15 | actionObjects['com.woltlab.wcf.user']['delete'] = new WCF.Action.Delete('wcf\\data\\user\\UserAction', '.jsUserRow'); |
9f959ced | 16 | |
da27d58a MS |
17 | WCF.Clipboard.init('wcf\\acp\\page\\UserListPage', {@$hasMarkedItems}, actionObjects); |
18 | ||
19 | var options = { }; | |
20 | {if $pages > 1} | |
21 | options.refreshPage = true; | |
22 | {/if} | |
23 | ||
24 | new WCF.Table.EmptyTableHandler($('#userTableContainer'), 'jsUserRow', options); | |
11cf19be MW |
25 | |
26 | WCF.Language.addObject({ | |
27 | 'wcf.acp.user.banReason': '{lang}wcf.acp.user.banReason{/lang}', | |
28 | 'wcf.acp.user.banReason.description': '{lang}wcf.acp.user.banReason.description{/lang}', | |
cb6e5946 MS |
29 | 'wcf.acp.user.ban.sure': '{lang}wcf.acp.user.ban.sure{/lang}', |
30 | 'wcf.acp.user.sendNewPassword.workerTitle': '{lang}wcf.acp.user.sendNewPassword.workerTitle{/lang}', | |
31 | 'wcf.acp.worker.abort.confirmMessage': '{lang}wcf.acp.worker.abort.confirmMessage{/lang}' | |
11cf19be MW |
32 | }); |
33 | WCF.ACP.User.BanHandler.init(); | |
cb6e5946 MS |
34 | |
35 | {if $__wcf->session->getPermission('admin.user.canEnableUser')} | |
36 | WCF.ACP.User.EnableHandler.init(); | |
37 | {/if} | |
38 | ||
39 | {if $__wcf->session->getPermission('admin.user.canEditPassword')} | |
40 | WCF.ACP.User.SendNewPasswordHandler.init(); | |
41 | {/if} | |
11910ce3 MW |
42 | |
43 | {event name='javascriptInit'} | |
2c04fc49 | 44 | }); |
158bd3ca TD |
45 | //]]> |
46 | </script> | |
47 | ||
daa737bf | 48 | <header class="boxHeadline"> |
635a8feb | 49 | <h1>{lang}{@$pageTitle}{/lang}</h1> |
158bd3ca TD |
50 | </header> |
51 | ||
52 | {assign var=encodedURL value=$url|rawurlencode} | |
53 | {assign var=encodedAction value=$action|rawurlencode} | |
184a8d6d | 54 | <div class="contentNavigation"> |
2b146ddc | 55 | {pages print=true assign=pagesLinks controller="UserList" id=$searchID link="pageNo=%d&action=$encodedAction&sortField=$sortField&sortOrder=$sortOrder"} |
158bd3ca | 56 | |
ef097134 | 57 | <nav> |
184a8d6d | 58 | <ul> |
158bd3ca | 59 | {if $__wcf->session->getPermission('admin.user.canAddUser')} |
6ab4d963 | 60 | <li><a href="{link controller='UserAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.user.add{/lang}</span></a></li> |
158bd3ca | 61 | {/if} |
5348d3d2 | 62 | |
7991009f | 63 | {event name='contentNavigationButtonsTop'} |
158bd3ca TD |
64 | </ul> |
65 | </nav> | |
66 | </div> | |
67 | ||
baa1ddc3 MW |
68 | {if $users|count} |
69 | <div id="userTableContainer" class="tabularBox tabularBoxTitle marginTop"> | |
70 | <header> | |
71 | <h2>{lang}wcf.acp.user.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2> | |
72 | </header> | |
73 | ||
184a8d6d | 74 | <table data-type="com.woltlab.wcf.user" class="table jsClipboardContainer"> |
158bd3ca | 75 | <thead> |
e843c814 | 76 | <tr> |
6f475a52 | 77 | <th class="columnMark"><label><input type="checkbox" class="jsClipboardMarkAll" /></label></th> |
ef959540 MW |
78 | <th class="columnID columnUserID{if $sortField == 'userID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField=userID&sortOrder={if $sortField == 'userID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.global.objectID{/lang}</a></th> |
79 | <th class="columnTitle columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField=username&sortOrder={if $sortField == 'username' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.user.username{/lang}</a></th> | |
158bd3ca TD |
80 | |
81 | {foreach from=$columnHeads key=column item=columnLanguageVariable} | |
ef959540 | 82 | <th class="column{$column|ucfirst}{if $sortField == $column} active {@$sortOrder}{/if}"><a href="{link controller='UserList' id=$searchID}action={@$encodedAction}&pageNo={@$pageNo}&sortField={$column}&sortOrder={if $sortField == $column && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}{$columnLanguageVariable}{/lang}</a></th> |
158bd3ca TD |
83 | {/foreach} |
84 | ||
7991009f | 85 | {event name='columnHeads'} |
158bd3ca TD |
86 | </tr> |
87 | </thead> | |
eee4c4ff | 88 | |
158bd3ca | 89 | <tbody> |
baa1ddc3 | 90 | {foreach from=$users item=user} |
34553633 | 91 | <tr class="jsUserRow jsClipboardObject"> |
baa1ddc3 MW |
92 | <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$user->userID}" /></td> |
93 | <td class="columnIcon"> | |
94 | {if $user->editable} | |
95 | <a href="{link controller='UserEdit' id=$user->userID}{/link}" title="{lang}wcf.global.button.edit{/lang}" class="jsTooltip"><span class="icon icon16 icon-pencil"></span></a> | |
96 | {else} | |
97 | <span class="icon icon16 icon-pencil disabled" title="{lang}wcf.global.button.edit{/lang}"></span> | |
98 | {/if} | |
99 | {if $user->deletable} | |
100 | <span class="icon icon16 icon-remove jsTooltip jsDeleteButton pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$user->userID}" data-confirm-message="{lang}wcf.acp.user.delete.sure{/lang}"></span> | |
101 | {else} | |
102 | <span class="icon icon16 icon-remove disabled" title="{lang}wcf.global.button.delete{/lang}"></span> | |
103 | {/if} | |
11cf19be MW |
104 | {if $user->bannable} |
105 | <span class="icon icon16 icon-{if $user->banned}lock{else}unlock{/if} jsBanButton jsTooltip pointer" title="{lang}wcf.acp.user.{if $user->banned}unban{else}ban{/if}{/lang}" data-object-id="{@$user->userID}" data-ban-message="{lang}wcf.acp.user.ban{/lang}" data-unban-message="{lang}wcf.acp.user.unban{/lang}" data-banned="{if $user->banned}true{else}false{/if}"></span> | |
106 | {else} | |
107 | <span class="icon icon16 icon-{if $user->banned}lock{else}unlock{/if} disabled" title="{lang}wcf.acp.user.{if $user->banned}unban{else}ban{/if}{/lang}"></span> | |
108 | {/if} | |
e6740117 MS |
109 | {if $user->canBeEnabled} |
110 | <span class="icon icon16 icon-{if !$user->activationCode}check{else}check-empty{/if} jsEnableButton jsTooltip pointer" title="{lang}wcf.acp.user.{if !$user->activationCode}disable{else}enable{/if}{/lang}" data-object-id="{@$user->userID}" data-enable-message="{lang}wcf.acp.user.enable{/lang}" data-disable-message="{lang}wcf.acp.user.disable{/lang}" data-enabled="{if !$user->activationCode}true{else}false{/if}"></span> | |
111 | {else} | |
112 | <span class="icon icon16 icon-{if !$user->activationCode}check{else}check-empty{/if} disabled" title="{lang}wcf.acp.user.{if !$user->activationCode}disable{else}enable{/if}{/lang}"></span> | |
320f4a6d | 113 | {/if} |
9f959ced | 114 | |
baa1ddc3 MW |
115 | {event name='rowButtons'} |
116 | </td> | |
117 | <td class="columnID columnUserID">{@$user->userID}</td> | |
f538a459 | 118 | <td class="columnIcon"><p class="framed">{@$user->getAvatar()->getImageTag(24)}</p></td> |
baa1ddc3 MW |
119 | <td class="columnTitle columnUsername">{if $user->editable}<a title="{lang}wcf.acp.user.edit{/lang}" href="{link controller='UserEdit' id=$user->userID}{/link}">{$user->username}</a>{else}{$user->username}{/if}</td> |
120 | ||
121 | {foreach from=$columnHeads key=column item=columnLanguageVariable} | |
4cbbfa69 | 122 | <td class="column{$column|ucfirst}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td> |
baa1ddc3 MW |
123 | {/foreach} |
124 | ||
125 | {event name='columns'} | |
126 | </tr> | |
127 | {/foreach} | |
158bd3ca TD |
128 | </tbody> |
129 | </table> | |
130 | </div> | |
baa1ddc3 | 131 | |
184a8d6d | 132 | <div class="contentNavigation"> |
2c04fc49 AE |
133 | {@$pagesLinks} |
134 | ||
ef097134 | 135 | <nav> |
184a8d6d | 136 | <ul> |
158bd3ca | 137 | {if $__wcf->session->getPermission('admin.user.canAddUser')} |
6ab4d963 | 138 | <li><a href="{link controller='UserAdd'}{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.user.add{/lang}</span></a></li> |
158bd3ca | 139 | {/if} |
5348d3d2 | 140 | |
7991009f | 141 | {event name='contentNavigationButtonsBottom'} |
158bd3ca TD |
142 | </ul> |
143 | </nav> | |
04f02424 MS |
144 | |
145 | <nav class="jsClipboardEditor" data-types="[ 'com.woltlab.wcf.user' ]"></nav> | |
158bd3ca | 146 | </div> |
baa1ddc3 MW |
147 | {else} |
148 | <p class="info">{lang}wcf.acp.user.search.error.noMatches{/lang}</p> | |
149 | {/if} | |
158bd3ca TD |
150 | |
151 | {include file='footer'} |