</nav>
</div>
-<div id="userTableContainer" class="tabularBox marginTop">
- <nav class="menu">
- <ul>
- <li{if $action == ''} class="active"{/if}><a href="{link controller='UserList'}{/link}"><span>{lang}wcf.acp.user.list.all{/lang}</span> <span class="wcf-badge" title="{lang}wcf.acp.user.list.count{/lang}">{#$items}</span></a></li>
-
- {event name='userListOptions'}
- </ul>
- </nav>
-
- {hascontent}
+{if $users|count}
+ <div id="userTableContainer" class="tabularBox tabularBoxTitle marginTop">
+ <header>
+ <h2>{lang}wcf.acp.user.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
+ </header>
+
<table data-type="com.woltlab.wcf.user" class="table jsClipboardContainer">
<thead>
<tr>
<th class="columnTitle columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}"><a href="{link controller='UserList'}searchID={@$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>
{foreach from=$columnHeads key=column item=columnLanguageVariable}
- <th class="column{$column|ucfirst}{if $sortField == $column} active{/if}"><a href="{link controller='UserList'}searchID={@$searchID}&action={@$encodedAction}&pageNo={@$pageNo}&sortField={$column}&sortOrder={if $sortField == $column && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}{$columnLanguageVariable}{/lang}{if $sortField == $column} <span class="icon icon16 icon-sort-{@$sortOrder}"></span>{/if}</a></th>
+ <th class="column{$column|ucfirst}{if $sortField == $column} active {@$sortOrder}{/if}"><a href="{link controller='UserList'}searchID={@$searchID}&action={@$encodedAction}&pageNo={@$pageNo}&sortField={$column}&sortOrder={if $sortField == $column && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}{$columnLanguageVariable}{/lang}</a></th>
{/foreach}
{event name='columnHeads'}
</thead>
<tbody>
- {content}
- {foreach from=$users item=user}
- <tr class="jsUserRow">
- <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$user->userID}" /></td>
- <td class="columnIcon">
- {if $user->editable}
- <a href="{link controller='UserEdit' id=$user->userID}{/link}" title="{lang}wcf.acp.user.edit{/lang}" class="jsTooltip"><span class="icon icon16 icon-pencil"></span></a>
- {else}
- <span class="icon icon16 icon-pencil disabled" title="{lang}wcf.acp.user.edit{/lang}"></span>
- {/if}
- {if $user->deletable}
- <span class="icon icon16 icon-remove jsTooltip jsDeleteButton pointer" title="{lang}wcf.acp.user.delete{/lang}" data-object-id="{@$user->userID}" data-confirm-message="{lang}wcf.acp.user.delete.sure{/lang}"></span>
- {else}
- <span class="icon icon16 icon-remove disabled" title="{lang}wcf.acp.user.delete{/lang}"></span>
- {/if}
-
- {event name='rowButtons'}
- </td>
- <td class="columnID columnUserID">{@$user->userID}</td>
- <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>
-
- {foreach from=$columnHeads key=column item=columnLanguageVariable}
- <td class="column{$column|ucfirst}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
- {/foreach}
+ {foreach from=$users item=user}
+ <tr class="jsUserRow">
+ <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$user->userID}" /></td>
+ <td class="columnIcon">
+ {if $user->editable}
+ <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>
+ {else}
+ <span class="icon icon16 icon-pencil disabled" title="{lang}wcf.global.button.edit{/lang}"></span>
+ {/if}
+ {if $user->deletable}
+ <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>
+ {else}
+ <span class="icon icon16 icon-remove disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
+ {/if}
- {event name='columns'}
- </tr>
- {/foreach}
- {/content}
+ {event name='rowButtons'}
+ </td>
+ <td class="columnID columnUserID">{@$user->userID}</td>
+ <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>
+
+ {foreach from=$columnHeads key=column item=columnLanguageVariable}
+ <td class="column{$column|ucfirst}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
+ {/foreach}
+
+ {event name='columns'}
+ </tr>
+ {/foreach}
</tbody>
</table>
</div>
-
+
<div class="contentNavigation">
{@$pagesLinks}
<nav class="jsClipboardEditor" data-types="[ 'com.woltlab.wcf.user' ]"></nav>
</div>
-{hascontentelse}
-</div>
-
-<p class="info">{lang}wcf.acp.user.search.error.noMatches{/lang}</p>
-{/hascontent}
+{else}
+ <p class="info">{lang}wcf.acp.user.search.error.noMatches{/lang}</p>
+{/if}
{include file='footer'}
</div>
<form method="post" action="{link controller='UserSearch'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.acp.user.search.conditions.general{/lang}</legend>
-
- <dl>
- <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" class="medium" />
- </dd>
- </dl>
-
- <dl>
- <dt><label for="userID">{lang}wcf.user.userID{/lang}</label></dt>
- <dd>
- <input type="text" id="userID" name="userID" value="{$userID}" class="short" />
- </dd>
- </dl>
-
- {if $__wcf->session->getPermission('admin.user.canEditMailAddress')}
- <dl>
- <dt><label for="email">{lang}wcf.user.email{/lang}</label></dt>
- <dd>
- <input type="email" id="email" name="email" value="{$email}" class="medium" />
- </dd>
- </dl>
- {/if}
-
- {if $availableGroups|count}
+ <div class="tabMenuContainer">
+ <nav class="tabMenu">
+ <ul>
+ <li><a href="{@$__wcf->getAnchor('__general')}">{lang}wcf.acp.user.search.conditions.general{/lang}</a></li>
+
+ {if $optionTree|count}
+ <li><a href="{@$__wcf->getAnchor('profile')}">{lang}wcf.acp.user.search.conditions.profile{/lang}</a></li>
+ {/if}
+
+ {event name='tabMenuTabs'}
+
+ <li><a href="{@$__wcf->getAnchor('resultOptions')}">{lang}wcf.acp.user.search.display{/lang}</a></li>
+ </ul>
+ </nav>
+
+ <div id="__general" class="container containerPadding tabMenuContent hidden">
+ <fieldset>
+ <legend>{lang}wcf.acp.user.search.conditions.general{/lang}</legend>
+
<dl>
- <dt>
- <label>{lang}wcf.acp.user.groups{/lang}</label>
- </dt>
+ <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
<dd>
- {htmlCheckboxes options=$availableGroups name='groupIDs' selected=$groupIDs}
-
- <!-- ToDo --><label style="margin-top: 10px"><input type="checkbox" name="invertGroupIDs" value="1" {if $invertGroupIDs == 1}checked="checked" {/if}/> {lang}wcf.acp.user.groups.invertSearch{/lang}</label>
+ <input type="text" id="username" name="username" value="{$username}" class="medium" />
</dd>
</dl>
- {/if}
-
- {if $availableLanguages|count > 1}
+
<dl>
- <dt>
- <label>{lang}wcf.user.language{/lang}</label>
- </dt>
+ <dt><label for="userID">{lang}wcf.user.userID{/lang}</label></dt>
<dd>
- {htmlCheckboxes options=$availableLanguages name='languageIDs' selected=$languageIDs disableEncoding=true}
+ <input type="text" id="userID" name="userID" value="{$userID}" class="short" />
</dd>
</dl>
- {/if}
-
- {event name='generalFields'}
- </fieldset>
-
- {event name='fieldsets'}
-
- <div class="tabMenuContainer">
- <nav class="tabMenu">
- <ul>
- {if $optionTree|count}
- <li><a href="{@$__wcf->getAnchor('profile')}">{lang}wcf.acp.user.search.conditions.profile{/lang}</a></li>
- {/if}
-
- {event name='tabMenuTabs'}
-
- <li><a href="{@$__wcf->getAnchor('resultOptions')}">{lang}wcf.acp.user.search.display{/lang}</a></li>
- </ul>
- </nav>
-
- {if $optionTree|count}
- <div id="profile" class="container containerPadding tabMenuContent hidden">
- {foreach from=$optionTree[0][categories] item=category}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
- {hascontent}<p>{content}{lang __optional=true}wcf.user.option.category.{@$category[object]->categoryName}.description{/lang}{/content}</p>{/hascontent}
-
- {include file='optionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
- </fieldset>
- {/foreach}
-
- {event name='profileFieldsets'}
- </div>
- {/if}
-
- {event name='tabMenuContent'}
-
- <div id="resultOptions" class="container containerPadding tabMenuContent hidden">
- <fieldset>
- <legend>{lang}wcf.acp.user.search.display.general{/lang}</legend>
-
+
+ {if $__wcf->session->getPermission('admin.user.canEditMailAddress')}
<dl>
- <dt><label for="sortField">{lang}wcf.acp.user.search.display.sort{/lang}</label></dt>
+ <dt><label for="email">{lang}wcf.user.email{/lang}</label></dt>
<dd>
- <select id="sortField" name="sortField">
- <option value="userID"{if $sortField == 'userID'} selected="selected"{/if}>{lang}wcf.user.userID{/lang}</option>
- <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
- <option value="email"{if $sortField == 'email'} selected="selected"{/if}>{lang}wcf.user.email{/lang}</option>
- <option value="registrationDate"{if $sortField == 'registrationDate'} selected="selected"{/if}>{lang}wcf.user.registrationDate{/lang}</option>
-
- {if $additionalSortFields|isset}{@$additionalSortFields}{/if}
- </select>
+ <input type="email" id="email" name="email" value="{$email}" class="medium" />
</dd>
+ </dl>
+ {/if}
+
+ {if $availableGroups|count}
+ <dl>
+ <dt>
+ <label>{lang}wcf.acp.user.groups{/lang}</label>
+ </dt>
<dd>
- <select id="sortOrder" name="sortOrder">
- <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
- <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
- </select>
+ {htmlCheckboxes options=$availableGroups name='groupIDs' selected=$groupIDs}
+
+ <!-- ToDo --><label style="margin-top: 10px"><input type="checkbox" name="invertGroupIDs" value="1" {if $invertGroupIDs == 1}checked="checked" {/if}/> {lang}wcf.acp.user.groups.invertSearch{/lang}</label>
</dd>
</dl>
-
+ {/if}
+
+ {if $availableLanguages|count > 1}
<dl>
- <dt><label for="itemsPerPage">{lang}wcf.acp.user.search.display.itemsPerPage{/lang}</label></dt>
+ <dt>
+ <label>{lang}wcf.user.language{/lang}</label>
+ </dt>
<dd>
- <input type="text" id="itemsPerPage" name="itemsPerPage" value="{@$itemsPerPage}" class="short" />
+ {htmlCheckboxes options=$availableLanguages name='languageIDs' selected=$languageIDs disableEncoding=true}
</dd>
</dl>
- </fieldset>
+ {/if}
- <fieldset>
- <legend>{lang}wcf.acp.user.search.display.columns{/lang}</legend>
-
- {* TODO: Do we still want all this columns supported? *}
- {*if $optionTree|count}
- <dl>
- <dt>
- <label>{lang}wcf.acp.user.search.display.columns.profile{/lang}</label>
- </dt>
- <dd>
- {foreach from=$optionTree item=option}
- <label><input type="checkbox" name="columns[]" value="{$option->optionName}" {if $option->optionName|in_array:$columns}checked="checked" {/if}/> {lang}wcf.user.option.{$option->optionName}{/lang}</label>
- {/foreach}
- </dd>
- </dl>
- {/if*}
-
+ {event name='generalFields'}
+ </fieldset>
+ </div>
+
+ {if $optionTree|count}
+ <div id="profile" class="container containerPadding tabMenuContent hidden">
+ {foreach from=$optionTree[0][categories] item=category}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
+ {hascontent}<p>{content}{lang __optional=true}wcf.user.option.category.{@$category[object]->categoryName}.description{/lang}{/content}</p>{/hascontent}
+
+ {include file='optionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
+ </fieldset>
+ {/foreach}
+
+ {event name='profileFieldsets'}
+ </div>
+ {/if}
+
+ {event name='tabMenuContent'}
+
+ <div id="resultOptions" class="container containerPadding tabMenuContent hidden">
+ <fieldset>
+ <legend>{lang}wcf.acp.user.search.display.general{/lang}</legend>
+
+ <dl>
+ <dt><label for="sortField">{lang}wcf.acp.user.search.display.sort{/lang}</label></dt>
+ <dd>
+ <select id="sortField" name="sortField">
+ <option value="userID"{if $sortField == 'userID'} selected="selected"{/if}>{lang}wcf.user.userID{/lang}</option>
+ <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
+ <option value="email"{if $sortField == 'email'} selected="selected"{/if}>{lang}wcf.user.email{/lang}</option>
+ <option value="registrationDate"{if $sortField == 'registrationDate'} selected="selected"{/if}>{lang}wcf.user.registrationDate{/lang}</option>
+
+ {if $additionalSortFields|isset}{@$additionalSortFields}{/if}
+ </select>
+
+ <select id="sortOrder" name="sortOrder">
+ <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
+ <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
+ </select>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><label for="itemsPerPage">{lang}wcf.acp.user.search.display.itemsPerPage{/lang}</label></dt>
+ <dd>
+ <input type="number" id="itemsPerPage" name="itemsPerPage" value="{@$itemsPerPage}" class="tiny" />
+ </dd>
+ </dl>
+ </fieldset>
+
+ <fieldset>
+ <legend>{lang}wcf.acp.user.search.display.columns{/lang}</legend>
+
+ {* TODO: Do we still want all this columns supported? *}
+ {*if $optionTree|count}
<dl>
- <dt><label>{lang}wcf.acp.user.search.display.columns.other{/lang}</label></dt>
+ <dt>
+ <label>{lang}wcf.acp.user.search.display.columns.profile{/lang}</label>
+ </dt>
<dd>
- <label><input type="checkbox" name="columns[]" value="email" {if "email"|in_array:$columns}checked="checked" {/if}/> {lang}wcf.user.email{/lang}</label>
- <label><input type="checkbox" name="columns[]" value="registrationDate" {if "registrationDate"|in_array:$columns}checked="checked"{/if}/> {lang}wcf.user.registrationDate{/lang}</label>
+ {foreach from=$optionTree item=option}
+ <label><input type="checkbox" name="columns[]" value="{$option->optionName}" {if $option->optionName|in_array:$columns}checked="checked" {/if}/> {lang}wcf.user.option.{$option->optionName}{/lang}</label>
+ {/foreach}
</dd>
</dl>
- </fieldset>
+ {/if*}
- {event name='resultOptionFieldsets'}
- </div>
+ <dl>
+ <dt><label>{lang}wcf.acp.user.search.display.columns.other{/lang}</label></dt>
+ <dd>
+ <label><input type="checkbox" name="columns[]" value="email" {if "email"|in_array:$columns}checked="checked" {/if}/> {lang}wcf.user.email{/lang}</label>
+ <label><input type="checkbox" name="columns[]" value="registrationDate" {if "registrationDate"|in_array:$columns}checked="checked"{/if}/> {lang}wcf.user.registrationDate{/lang}</label>
+ </dd>
+ </dl>
+ </fieldset>
+
+ {event name='resultOptionFieldsets'}
</div>
</div>