<commit_before>{include file='header' pageTitle='wcf.acp.user.otu.list'}

<header class="boxHeadline">
	<h1>{lang}wcf.acp.user.otu.list{/lang}</h1>
	
	<script data-relocate="true">
		//<![CDATA[
		$(function() {
			new WCF.Action.Delete('wcf\\data\\user\\otu\\blacklist\\entry\\UserOtuBlacklistEntryAction', '.jsOTURow');
		});
		//]]>
	</script>
</header>

<div class="contentNavigation">
	{pages print=true assign=pagesLinks controller="OTUList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
	
	{hascontent}
		<nav>
			<ul>
				{content}
					{event name='contentNavigationButtonsTop'}
				{/content}
			</ul>
		</nav>
	{/hascontent}
</div>

{if $objects|count}
	<div class="tabularBox tabularBoxTitle marginTop">
		<header>
			<h2>{lang}wcf.acp.user.otu.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
		</header>
		
		<table class="table">
			<thead>
				<tr>
					<th class="columnTitle columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=username&sortOrder={if $sortField == 'username' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.user.username{/lang}</a></th>
					<th class="columnText columnLastOwner{if $sortField == 'lastOwner'} active {@$sortOrder}{/if}"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=lastOwner&sortOrder={if $sortField == 'lastOwner' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.user.otu.list.lastOwner{/lang}</a></th>
					{if OTU_BLACKLIST_LIFETIME > -1}<th class="columnText columnTime{if $sortField == 'time'} active {@$sortOrder}{/if}"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=time&sortOrder={if $sortField == 'time' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.user.otu.list.expires{/lang}</a></th>{/if}
					{event name='columnHeads'}
				</tr>
			</thead>
			
			<tbody>
				{foreach from=$objects item=entry}
					<tr class="jsOTURow">
						<td class="columnIcon">
							<span class="icon icon16 icon-remove jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{$entry->entryID}" data-confirm-message="{lang}wcf.acp.otu.delete.sure{/lang}"></span>
							
							{event name='rowButtons'}
						</td>
						<td class="columnTitle columnUsername">{$entry->username}</td>
						<td class="columnText columnLastOwner">{if $entry->userID != null}<a href="{link controller="UserEdit" id=$entry->userID}{/link}">{$entry->lastOwner}</a>{/if}</td>
						{if OTU_BLACKLIST_LIFETIME > -1}<td class="columnText columnTime" title="{@($entry->time + OTU_BLACKLIST_LIFETIME * 86400)|date}">{@($entry->time + OTU_BLACKLIST_LIFETIME * 86400)|dateDiff:TIME_NOW:true}</a></td>{/if}
						
						{event name='columns'}
					</tr>
				{/foreach}
			</tbody>
		</table>
		
	</div>
	
	<div class="contentNavigation">
		{@$pagesLinks}
		
		{hascontent}
			<nav>
				<ul>
					{content}<commit_msg>Fix deletion confirm message in otuList.tpl<commit_after>{include file='header' pageTitle='wcf.acp.user.otu.list'}

<header class="boxHeadline">
	<h1>{lang}wcf.acp.user.otu.list{/lang}</h1>
	
	<script data-relocate="true">
		//<![CDATA[
		$(function() {
			new WCF.Action.Delete('wcf\\data\\user\\otu\\blacklist\\entry\\UserOtuBlacklistEntryAction', '.jsOTURow');
		});
		//]]>
	</script>
</header>

<div class="contentNavigation">
	{pages print=true assign=pagesLinks controller="OTUList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
	
	{hascontent}
		<nav>
			<ul>
				{content}
					{event name='contentNavigationButtonsTop'}
				{/content}
			</ul>
		</nav>
	{/hascontent}
</div>

{if $objects|count}
	<div class="tabularBox tabularBoxTitle marginTop">
		<header>
			<h2>{lang}wcf.acp.user.otu.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
		</header>
		
		<table class="table">
			<thead>
				<tr>
					<th class="columnTitle columnUsername{if $sortField == 'username'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=username&sortOrder={if $sortField == 'username' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.user.username{/lang}</a></th>
					<th class="columnText columnLastOwner{if $sortField == 'lastOwner'} active {@$sortOrder}{/if}"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=lastOwner&sortOrder={if $sortField == 'lastOwner' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.user.otu.list.lastOwner{/lang}</a></th>
					{if OTU_BLACKLIST_LIFETIME > -1}<th class="columnText columnTime{if $sortField == 'time'} active {@$sortOrder}{/if}"><a href="{link controller='OTUList'}pageNo={@$pageNo}&sortField=time&sortOrder={if $sortField == 'time' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.user.otu.list.expires{/lang}</a></th>{/if}
					{event name='columnHeads'}
				</tr>
			</thead>
			
			<tbody>
				{foreach from=$objects item=entry}
					<tr class="jsOTURow">
						<td class="columnIcon">
							<span class="icon icon16 icon-remove jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{$entry->entryID}" data-confirm-message="{lang}wcf.acp.user.otu.delete.sure{/lang}"></span>
							
							{event name='rowButtons'}
						</td>
						<td class="columnTitle columnUsername">{$entry->username}</td>
						<td class="columnText columnLastOwner">{if $entry->userID != null}<a href="{link controller="UserEdit" id=$entry->userID}{/link}">{$entry->lastOwner}</a>{/if}</td>
						{if OTU_BLACKLIST_LIFETIME > -1}<td class="columnText columnTime" title="{@($entry->time + OTU_BLACKLIST_LIFETIME * 86400)|date}">{@($entry->time + OTU_BLACKLIST_LIFETIME * 86400)|dateDiff:TIME_NOW:true}</a></td>{/if}
						
						{event name='columns'}
					</tr>
				{/foreach}
			</tbody>
		</table>
		
	</div>
	
	<div class="contentNavigation">
		{@$pagesLinks}
		
		{hascontent}
			<nav>
				<ul>
					{content}
{'fraction_non_alphanumeric': 0.21424995828466545, 'fraction_numerical': 0.006340730852661438, 'mean_word_length': 4.911242603550296, 'pattern_counts': {'":': 0, '<': 121, '<?xml version=': 0, '>': 139, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4702944', 'n_tokens_mistral': 2537, 'n_tokens_neox': 2175, 'n_words': 306}