{include file='header' pageTitle='chat.acp.suspension.list'} <script type="text/javascript"> //<![CDATA[ $(function() { new WCF.Search.User('#username', null, false, [ ], false); new WCF.Search.User('#issuerUsername', null, false, [ ], false); var proxy = new WCF.Action.Proxy({ success: function (data, textStatus, jqXHR) { $('.jsSuspensionRow').each(function(index, row) { var row = $(row); if (WCF.inArray(row.data('objectID'), data.objectIDs)) { row.find('.jsRevokeButton').addClass('disabled').removeClass('pointer').off('click'); (new WCF.System.Notification('{"chat.acp.suspension.revoke.success"|language|encodeJS}')).show(); } }); } }); $('.jsRevokeButton:not(.disabled)').click(function () { var objectID = $(this).parents('.jsSuspensionRow').data('objectID'); WCF.System.Confirmation.show($(this).data('confirmMessage'), $.proxy(function (action) { if (action === 'confirm') { proxy.setOption('data', { actionName: 'revoke', className: '\\chat\\data\\suspension\\SuspensionAction', objectIDs: [ objectID ] }); proxy.sendRequest(); } }, this)); }); }); //]]> </script> <header class="boxHeadline"> <h1>{lang}chat.acp.suspension.list{/lang}</h1> </header> <form method="post" action="{link controller='ChatSuspensionList' application='chat'}{/link}"> <div class="container containerPadding marginTop"> <fieldset> <legend>{lang}wcf.global.filter{/lang}</legend> <dl> <dd> <label><input type="checkbox" id="displayRevoked" name="displayRevoked" value="1"{if $displayRevoked} checked="checked"{/if} /> {lang}chat.acp.suspension.displayRevoked{/lang}</label> </dd> </dl> <dl> <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt> <dd> <input type="text" id="username" name="username" class="medium" value="{$username}" /> </dd> </dl> <dl> <dt><label for="issuerUsername">{lang}chat.acp.suspension.issuer{/lang}</label></dt> <dd> <input type="text" id="issuerUsername" name="issuerUsername" class="medium" value="{$issuerUsername}" /> </dd> </dl> <dl> <dt><label for="roomID">{lang}chat.general.room{/lang}</label></dt> <dd> <select id="roomID" name="roomID"> <option value="-1"{if $roomID == -1} selected="selected"{/if}></option> <option value="0"{if $roomID == 0} selected="selected"{/if}>{lang}chat.room.global{/lang}</option> <option value="" disabled="disabled">-------------</option> {foreach from=$availableRooms key=id item=room} <option value="{$id}" {if $roomID == $id}selected="selected"{/if}>{$room}</option> {/foreach} </select> </dd> </dl> <dl> <dt><label for="suspensionType">{lang}chat.acp.suspension.type{/lang}</label></dt> <dd> <select id="suspensionType" name="suspensionType"> <option value=""{if $suspensionType == null} selected="selected"{/if}></option> <option value="{'\chat\data\suspension\Suspension::TYPE_MUTE'|constant}"{if $suspensionType == '\chat\data\suspension\Suspension::TYPE_MUTE'|constant} selected="selected"{/if}>{lang}chat.suspension.{'\chat\data\suspension\Suspension::TYPE_MUTE'|constant}{/lang}</option> <option value="{'\chat\data\suspension\Suspension::TYPE_BAN'|constant}"{if $suspensionType == '\chat\data\suspension\Suspension::TYPE_BAN'|constant} selected="selected"{/if}>{lang}chat.suspension.{'\chat\data\suspension\Suspension::TYPE_BAN'|constant}{/lang}</option> </select> </dd> </dl> </fieldset> </div> <div class="formSubmit"> <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" /> </div> </form> {if $objects|count} {capture assign=additionalParameters}{* *}{if $userID}&userID={$userID}{/if}{* *}{if $issuerUserID}&issuerUserID={$issuerUserID}{/if}{* *}{if $roomID}&roomID={$roomID}{/if}{* *}{if $suspensionType}&suspensionType={$suspensionType}{/if}{* *}{if $displayRevoked}&displayRevoked={$displayRevoked}{/if}{* *}{/capture} <div class="contentNavigation"> {pages print=true assign=pagesLinks application="chat" controller="ChatSuspensionList" link="pageNo=%d$additionalParameters"} </div> <div class="tabularBox tabularBoxTitle marginTop"> <header> <h2>{lang}chat.acp.suspension.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2> </header> <table class="table"> <thead> <tr> <th class="columnID{if $sortField == 'suspensionID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=suspensionID&sortOrder={if $sortField == 'suspensionID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}wcf.global.objectID{/lang}</a></th> <th class="columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=username&sortOrder={if $sortField == 'username' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}wcf.user.username{/lang}</a></th> <th class="columnRoomID{if $sortField == 'roomID'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=roomID&sortOrder={if $sortField == 'roomID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.general.room{/lang}</a></th> <th class="columnSuspensionType{if $sortField == 'type'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=type&sortOrder={if $sortField == 'type' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.acp.suspension.type{/lang}</a></th> <th class="columnTime{if $sortField == 'time'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=time&sortOrder={if $sortField == 'time' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.general.time{/lang}</a></th> <th class="columnExpires{if $sortField == 'expires'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=expires&sortOrder={if $sortField == 'expires' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.general.expires{/lang}</a></th> <th class="columnIssuer{if $sortField == 'issuer'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=issuer&sortOrder={if $sortField == 'issuer' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.acp.suspension.issuer{/lang}</a></th> <th class="columnMessage{if $sortField == 'reason'} active {@$sortOrder}{/if}"><a href="{link application='chat' controller='ChatSuspensionList'}pageNo={@$pageNo}&sortField=reason&sortOrder={if $sortField == 'reason' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$additionalParameters}{/link}">{lang}chat.acp.suspension.reason{/lang}</a></th> {event name='columnHeads'} </tr> </thead> <tbody> {foreach from=$objects item=$suspension} <tr class="jsSuspensionRow" data-object-id="{$suspension->suspensionID}"> <td class="columnIcon"> <span class="icon icon16 icon-undo{if $suspension->expires <= TIME_NOW} disabled{else} pointer{/if} jsRevokeButton" title="{lang}chat.acp.suspension.revoked{/lang}" data-confirm-message="{lang}chat.acp.suspension.revoke.sure{/lang}"></span> {event name='rowButtons'} </td> <td id="columnID">{#$suspension->suspensionID}</td> <td id="columnUsername"><a href="{link application='chat' controller='ChatSuspensionList'}userID={$suspension->userID}{/link}">{$suspension->username}</a></td> <td id="columnRoomID"><a href="{link application='chat' controller='ChatSuspensionList'}roomID={if $suspension->roomID}{$suspension->roomID}{else}0{/if}{/link}">{if $suspension->roomID}{$suspension->roomTitle|language}{else}{lang}chat.room.global{/lang}{/if}</a></td> <td id="columnSuspensionType"><a href="{link application='chat' controller='ChatSuspensionList'}suspensionType={$suspension->type}{/link}">{lang}chat.suspension.{@$suspension->type}{/lang}</a></td> <td id="columnTime">{$suspension->time|plainTime}</td> <td id="columnExpires"> <p>{$suspension->expires|plainTime}{if $suspension->expires > TIME_NOW} ({$suspension->expires|dateDiff}){/if}</p> {if $suspension->revoker && $suspension->expires <= TIME_NOW}<p><small>{lang}chat.acp.suspension.revokedBy{/lang}</small></p>{/if} </td> <td id="columnIssuer"><a href="{link application='chat' controller='ChatSuspensionList'}issuerUserID={$suspension->issuer}{/link}">{$suspension->issuerUsername}</a></td> <td id="columnMessage"{if $suspension->reason != $suspension->reason|truncate:30} class="jsTooltip" title="{$suspension->reason}"{/if}>{$suspension->reason|truncate:30}</a></td> {event name='columns'} </tr> {/foreach} </tbody> </table> </div> <div class="contentNavigation"> {@$pagesLinks} </div> {else} <p class="info">{lang}wcf.global.noItems{/lang}</p> {/if} {include file='footer'}