Commit | Line | Data |
---|---|---|
f0bc263f MW |
1 | {include file='header' pageTitle='wcf.acp.attachment.list'} |
2 | ||
08d99504 | 3 | <script data-relocate="true" src="{@$__wcf->getPath()}js/WCF.ImageViewer.js?v={@LAST_UPDATE_TIME}"></script> |
f0bc263f | 4 | {include file='imageViewer'} |
9543d9fe | 5 | <script data-relocate="true"> |
f0bc263f MW |
6 | $(function() { |
7 | new WCF.Action.Delete('wcf\\data\\attachment\\AttachmentAction', '.jsAttachmentRow'); | |
8 | new WCF.Search.User('#username', null, false, [ ], true); | |
9 | }); | |
f0bc263f MW |
10 | </script> |
11 | ||
95961bdf | 12 | <header class="contentHeader"> |
b5c94e9e | 13 | <div class="contentHeaderTitle"> |
0edfe081 | 14 | <h1 class="contentTitle">{lang}wcf.acp.attachment.list{/lang}{if $items} <span class="badge badgeInverse">{#$items}</span>{/if}</h1> |
b5c94e9e AE |
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} | |
f0bc263f MW |
25 | </header> |
26 | ||
ee629b22 AE |
27 | {include file='formError'} |
28 | ||
f0bc263f | 29 | <form method="post" action="{link controller='AttachmentList'}{/link}"> |
95961bdf MW |
30 | <section class="section"> |
31 | <h2 class="sectionTitle">{lang}wcf.global.filter{/lang}</h2> | |
32 | ||
3e93caf9 | 33 | <div class="row rowColGap formGrid"> |
2e8a4c2b | 34 | <dl class="col-xs-12 col-md-4"> |
3e93caf9 | 35 | <dt></dt> |
2e8a4c2b | 36 | <dd> |
e5f9b56c | 37 | <input type="text" id="username" name="username" value="{$username}" placeholder="{lang}wcf.user.username{/lang}" class="long"> |
2e8a4c2b MW |
38 | </dd> |
39 | </dl> | |
40 | ||
41 | <dl class="col-xs-12 col-md-4"> | |
3e93caf9 | 42 | <dt></dt> |
2e8a4c2b | 43 | <dd> |
e5f9b56c | 44 | <input type="text" id="filename" name="filename" value="{$filename}" placeholder="{lang}wcf.attachment.filename{/lang}" class="long"> |
2e8a4c2b MW |
45 | </dd> |
46 | </dl> | |
47 | ||
3e93caf9 MW |
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} | |
2e8a4c2b MW |
59 | |
60 | {event name='filterFields'} | |
3e93caf9 MW |
61 | </div> |
62 | ||
63 | <div class="formSubmit"> | |
e5f9b56c | 64 | <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s"> |
3e93caf9 MW |
65 | {@SECURITY_TOKEN_INPUT_TAG} |
66 | </div> | |
95961bdf | 67 | </section> |
f0bc263f MW |
68 | </form> |
69 | ||
b5c94e9e AE |
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} | |
f0bc263f MW |
82 | |
83 | {if $objects|count} | |
95961bdf | 84 | <div class="section tabularBox"> |
f0bc263f MW |
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"> | |
b0c411c1 | 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> |
f0bc263f MW |
104 | |
105 | {event name='rowButtons'} | |
106 | </td> | |
107 | <td class="columnID columnAttachmentID">{@$attachment->attachmentID}</td> | |
108 | <td class="columnTitle columnFilename"> | |
50898692 | 109 | <div class="box64"> |
f0bc263f MW |
110 | <a href="{link controller='Attachment' id=$attachment->attachmentID}{/link}"{if $attachment->isImage} class="jsImageViewer" title="{$attachment->filename}"{/if}> |
111 | {if $attachment->tinyThumbnailType} | |
e5f9b56c | 112 | <img src="{link controller='Attachment' id=$attachment->attachmentID}tiny=1{/link}" class="attachmentTinyThumbnail" alt=""> |
f0bc263f | 113 | {else} |
5552d2cc | 114 | <span class="icon icon64 fa-{@$attachment->getIconName()}"></span> |
f0bc263f MW |
115 | {/if} |
116 | </a> | |
117 | ||
118 | <div> | |
971f00fa | 119 | <p><a href="{link controller='Attachment' id=$attachment->attachmentID}{/link}">{$attachment->filename|tableWordwrap}</a></p> |
a9c00a26 | 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> |
971f00fa | 121 | {if $attachment->getContainerObject()}<p><small><a href="{$attachment->getContainerObject()->getLink()}">{$attachment->getContainerObject()->getTitle()|tableWordwrap}</a></small></p>{/if} |
f0bc263f MW |
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 | ||
b5c94e9e AE |
137 | <footer class="contentFooter"> |
138 | {hascontent} | |
139 | <div class="paginationBottom"> | |
140 | {content}{@$pagesLinks}{/content} | |
141 | </div> | |
142 | {/hascontent} | |
f0bc263f MW |
143 | |
144 | {hascontent} | |
b5c94e9e AE |
145 | <nav class="contentFooterNavigation"> |
146 | <ul> | |
147 | {content}{event name='contentFooterNavigation'}{/content} | |
148 | </ul> | |
f0bc263f MW |
149 | </nav> |
150 | {/hascontent} | |
b5c94e9e | 151 | </footer> |
f0bc263f | 152 | {else} |
6e0ea1f0 | 153 | <p class="info">{lang}wcf.global.noItems{/lang}</p> |
f0bc263f MW |
154 | {/if} |
155 | ||
156 | {include file='footer'} |