Merge branch '3.1' into 5.2
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / attachmentList.tpl
1 {include file='header' pageTitle='wcf.acp.attachment.list'}
2
3 <script data-relocate="true" src="{@$__wcf->getPath()}js/WCF.ImageViewer.js?v={@LAST_UPDATE_TIME}"></script>
4 {include file='imageViewer'}
5 <script data-relocate="true">
6 $(function() {
7 new WCF.Action.Delete('wcf\\data\\attachment\\AttachmentAction', '.jsAttachmentRow');
8 new WCF.Search.User('#username', null, false, [ ], true);
9 });
10 </script>
11
12 <header class="contentHeader">
13 <div class="contentHeaderTitle">
14 <h1 class="contentTitle">{lang}wcf.acp.attachment.list{/lang}{if $items} <span class="badge badgeInverse">{#$items}</span>{/if}</h1>
15 <p class="contentHeaderDescription">{lang}wcf.acp.attachment.stats{/lang}</p>
16 </div>
17
18 {hascontent}
19 <nav class="contentHeaderNavigation">
20 <ul>
21 {content}{event name='contentHeaderNavigation'}{/content}
22 </ul>
23 </nav>
24 {/hascontent}
25 </header>
26
27 {include file='formError'}
28
29 <form method="post" action="{link controller='AttachmentList'}{/link}">
30 <section class="section">
31 <h2 class="sectionTitle">{lang}wcf.global.filter{/lang}</h2>
32
33 <div class="row rowColGap formGrid">
34 <dl class="col-xs-12 col-md-4">
35 <dt></dt>
36 <dd>
37 <input type="text" id="username" name="username" value="{$username}" placeholder="{lang}wcf.user.username{/lang}" class="long">
38 </dd>
39 </dl>
40
41 <dl class="col-xs-12 col-md-4">
42 <dt></dt>
43 <dd>
44 <input type="text" id="filename" name="filename" value="{$filename}" placeholder="{lang}wcf.attachment.filename{/lang}" class="long">
45 </dd>
46 </dl>
47
48 {if $availableFileTypes|count > 1}
49 <dl class="col-xs-12 col-md-4">
50 <dt></dt>
51 <dd>
52 <select name="fileType" id="fileType">
53 <option value="">{lang}wcf.attachment.fileType{/lang}</option>
54 {htmlOptions options=$availableFileTypes selected=$fileType}
55 </select>
56 </dd>
57 </dl>
58 {/if}
59
60 {event name='filterFields'}
61 </div>
62
63 <div class="formSubmit">
64 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
65 {@SECURITY_TOKEN_INPUT_TAG}
66 </div>
67 </section>
68 </form>
69
70 {hascontent}
71 <div class="paginationTop">
72 {content}
73 {assign var='linkParameters' value=''}
74 {if $username}{capture append=linkParameters}&username={@$username|rawurlencode}{/capture}{/if}
75 {if $filename}{capture append=linkParameters}&filename={@$filename|rawurlencode}{/capture}{/if}
76 {if $fileType}{capture append=linkParameters}&fileType={@$fileType|rawurlencode}{/capture}{/if}
77
78 {pages print=true assign=pagesLinks controller="AttachmentList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder$linkParameters"}
79 {/content}
80 </div>
81 {/hascontent}
82
83 {if $objects|count}
84 <div class="section tabularBox">
85 <table class="table">
86 <thead>
87 <tr>
88 <th class="columnID columnAttachmentID{if $sortField == 'attachmentID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=attachmentID&sortOrder={if $sortField == 'attachmentID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
89 <th class="columnTitle columnFilename{if $sortField == 'filename'} active {@$sortOrder}{/if}"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=filename&sortOrder={if $sortField == 'filename' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.attachment.filename{/lang}</a></th>
90 <th class="columnDate columnUploadTime{if $sortField == 'uploadTime'} active {@$sortOrder}{/if}"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=uploadTime&sortOrder={if $sortField == 'uploadTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.attachment.uploadTime{/lang}</a></th>
91 <th class="columnDigits columnFilesize{if $sortField == 'filesize'} active {@$sortOrder}{/if}"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=filesize&sortOrder={if $sortField == 'filesize' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.attachment.filesize{/lang}</a></th>
92 <th class="columnDigits columnDownloads{if $sortField == 'downloads'} active {@$sortOrder}{/if}"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=downloads&sortOrder={if $sortField == 'downloads' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.attachment.downloads{/lang}</a></th>
93 <th class="columnDate columnLastDownloadTime{if $sortField == 'lastDownloadTime'} active {@$sortOrder}{/if}"><a href="{link controller='AttachmentList'}pageNo={@$pageNo}&sortField=lastDownloadTime&sortOrder={if $sortField == 'lastDownloadTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.attachment.lastDownloadTime{/lang}</a></th>
94
95 {event name='columnHeads'}
96 </tr>
97 </thead>
98
99 <tbody>
100 {foreach from=$objects item=attachment}
101 <tr class="jsAttachmentRow">
102 <td class="columnIcon">
103 <span class="icon icon16 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$attachment->attachmentID}" data-confirm-message="{lang}wcf.attachment.delete.sure{/lang}"></span>
104
105 {event name='rowButtons'}
106 </td>
107 <td class="columnID columnAttachmentID">{@$attachment->attachmentID}</td>
108 <td class="columnTitle columnFilename">
109 <div class="box64">
110 <a href="{link controller='Attachment' id=$attachment->attachmentID}{/link}"{if $attachment->isImage} class="jsImageViewer" title="{$attachment->filename}"{/if}>
111 {if $attachment->tinyThumbnailType}
112 <img src="{link controller='Attachment' id=$attachment->attachmentID}tiny=1{/link}" class="attachmentTinyThumbnail" alt="">
113 {else}
114 <span class="icon icon64 fa-{@$attachment->getIconName()}"></span>
115 {/if}
116 </a>
117
118 <div>
119 <p><a href="{link controller='Attachment' id=$attachment->attachmentID}{/link}">{$attachment->filename|tableWordwrap}</a></p>
120 <p><small>{if $attachment->userID}{if $__wcf->session->getPermission('admin.user.canEditUser')}<a href="{link controller='UserEdit' id=$attachment->userID}{/link}">{$attachment->username}</a>{else}{$attachment->username}{/if}{else}{lang}wcf.user.guest{/lang}{/if}</small></p>
121 {if $attachment->getContainerObject()}<p><small><a href="{$attachment->getContainerObject()->getLink()}">{$attachment->getContainerObject()->getTitle()|tableWordwrap}</a></small></p>{/if}
122 </div>
123 </div>
124 </td>
125 <td class="columnDate columnUploadTime">{@$attachment->uploadTime|time}</td>
126 <td class="columnDigits columnFilesize">{@$attachment->filesize|filesize}</td>
127 <td class="columnDigits columnDownloads">{#$attachment->downloads}</td>
128 <td class="columnDate columnLastDownloadTime">{if $attachment->lastDownloadTime}{@$attachment->lastDownloadTime|time}{/if}</td>
129
130 {event name='columns'}
131 </tr>
132 {/foreach}
133 </tbody>
134 </table>
135 </div>
136
137 <footer class="contentFooter">
138 {hascontent}
139 <div class="paginationBottom">
140 {content}{@$pagesLinks}{/content}
141 </div>
142 {/hascontent}
143
144 {hascontent}
145 <nav class="contentFooterNavigation">
146 <ul>
147 {content}{event name='contentFooterNavigation'}{/content}
148 </ul>
149 </nav>
150 {/hascontent}
151 </footer>
152 {else}
153 <p class="info">{lang}wcf.global.noItems{/lang}</p>
154 {/if}
155
156 {include file='footer'}