1 {include file='header' pageTitle='wcf.media.media.pageTitle'}
3 <script data-relocate="true">
4 {include file='mediaJavaScript'}
6 require(['Language', 'WoltLabSuite/Core/Controller/Media/List'], function (Language, ControllerMediaList) {
8 'wcf.media.delete.confirmMessage': '{lang __literal=true}wcf.media.delete.confirmMessage{/lang}',
9 'wcf.media.setCategory': '{lang}wcf.media.setCategory{/lang}'
12 ControllerMediaList.init({
14 categoryId: {@$categoryID},
16 hasMarkedItems: {if $hasMarkedItems}true{else}false{/if}
21 <header class="contentHeader">
22 <div class="contentHeaderTitle">
23 <h1 class="contentTitle">{lang}wcf.media.media.pageTitle{/lang}{if $items} <span class="badge badgeInverse">{#$items}</span>{/if}</h1>
26 <nav class="contentHeaderNavigation">
28 <li><div id="uploadButton"></div></li>
30 {event name='contentHeaderNavigation'}
35 {include file='formError'}
37 <form method="post" action="{link controller='MediaList'}{/link}">
38 <section class="section">
39 <h2 class="sectionTitle">{lang}wcf.global.filter{/lang}</h2>
41 <div class="row rowColGap formGrid">
43 <dl class="col-xs-12 col-md-4">
46 <select id="categoryID" name="categoryID">
47 <option value="0">{lang}wcf.media.category.choose{/lang}</option>
50 {foreach from=$categoryList item=categoryItem}
51 <option value="{$categoryItem->categoryID}"{if $categoryItem->categoryID == $categoryID} selected="selected"{/if}>{$categoryItem->getTitle()}</option>
53 {if $categoryItem->hasChildren()}
54 {foreach from=$categoryItem item=subCategoryItem}
55 <option value="{$subCategoryItem->categoryID}"{if $subCategoryItem->categoryID == $categoryID} selected="selected"{/if}> {$subCategoryItem->getTitle()}</option>
57 {if $subCategoryItem->hasChildren()}
58 {foreach from=$subCategoryItem item=subSubCategoryItem}
59 <option value="{$subSubCategoryItem->categoryID}"{if $subSubCategoryItem->categoryID == $categoryID} selected="selected"{/if}> {$subSubCategoryItem->getTitle()}</option>
71 <dl class="col-xs-12 col-md-4">
74 <input type="text" id="q" name="q" value="{$q}" placeholder="{lang}wcf.media.search.placeholder{/lang}" class="long">
78 <dl class="col-xs-12 col-md-4">
81 <input type="text" id="username" name="username" value="{$username}" placeholder="{lang}wcf.user.username{/lang}" class="long">
85 {event name='filterFields'}
88 <div class="formSubmit">
89 <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
90 {@SECURITY_TOKEN_INPUT_TAG}
96 <div class="paginationTop">
98 {assign var='linkParameters' value=''}
99 {if $username}{capture append=linkParameters}&username={@$username|rawurlencode}{/capture}{/if}
100 {if $q}{capture append=linkParameters}&q={@$q|rawurlencode}{/capture}{/if}
101 {if $categoryID}{capture append=linkParameters}&categoryID={@$categoryID}{/capture}{/if}
103 {pages print=true assign=pagesLinks controller="MediaList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder$linkParameters"}
108 <div class="section tabularBox"{if !$objects|count} style="display: none;{/if}">
109 <table class="table jsClipboardContainer" data-type="com.woltlab.wcf.media">
112 <th class="columnMark"><label><input type="checkbox" class="jsClipboardMarkAll"></label></th>
113 <th class="columnID columnMediaID{if $sortField == 'mediaID'} active {@$sortOrder}{/if}" colspan="2"><a href="{link controller='MediaList'}pageNo={@$pageNo}&sortField=mediaID&sortOrder={if $sortField == 'mediaID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
114 <th class="columnTitle columnFilename{if $sortField == 'filename'} active {@$sortOrder}{/if}"><a href="{link controller='MediaList'}pageNo={@$pageNo}&sortField=filename&sortOrder={if $sortField == 'filename' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.media.filename{/lang}</a></th>
115 <th class="columnText columnMediaTitle{if $sortField == 'title'} active {@$sortOrder}{/if}"><a href="{link controller='MediaList'}pageNo={@$pageNo}&sortField=title&sortOrder={if $sortField == 'title' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.global.title{/lang}</a></th>
116 <th class="columnDate columnUploadTime{if $sortField == 'uploadTime'} active {@$sortOrder}{/if}"><a href="{link controller='MediaList'}pageNo={@$pageNo}&sortField=uploadTime&sortOrder={if $sortField == 'uploadTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.media.uploadTime{/lang}</a></th>
117 <th class="columnDigits columnFilesize{if $sortField == 'filesize'} active {@$sortOrder}{/if}"><a href="{link controller='MediaList'}pageNo={@$pageNo}&sortField=filesize&sortOrder={if $sortField == 'filesize' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{@$linkParameters}{/link}">{lang}wcf.media.filesize{/lang}</a></th>
119 {event name='columnHeads'}
123 <tbody id="mediaListTableBody" data-no-items-info="noItemsInfo">
124 {foreach from=$objects item=media}
125 <tr class="jsMediaRow jsClipboardObject">
126 <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="{@$media->mediaID}"></td>
127 <td class="columnIcon">
128 <span class="icon icon24 fa-pencil mediaEditButton jsMediaEditButton jsTooltip pointer" title="{lang}wcf.global.button.edit{/lang}" data-object-id="{@$media->mediaID}"></span>
129 <span class="icon icon24 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$media->mediaID}" data-confirm-message-html="{lang title=$media->filename __encode=true}wcf.media.delete.confirmMessage{/lang}"></span>
131 {event name='rowButtons'}
133 <td class="columnID columnMediaID">{@$media->mediaID}</td>
134 <td class="columnTitle columnFilename">
136 {@$media->getElementTag(48)}
139 <p>{$media->filename|tableWordwrap}</p>
140 <p><small>{if $media->userID}{if $__wcf->session->getPermission('admin.user.canEditUser')}<a href="{link controller='UserEdit' id=$media->userID}{/link}">{$media->username}</a>{else}{$media->username}{/if}{else}{lang}wcf.user.guest{/lang}{/if}</small></p>
144 <td class="columnText columnMediaTitle">{$media->title|tableWordwrap}</td>
145 <td class="columnDate columnUploadTime">{@$media->uploadTime|time}</td>
146 <td class="columnDigits columnFilesize">{@$media->filesize|filesize}</td>
148 {event name='columns'}
151 <tr class="jsMediaRow jsClipboardObject">
152 <td class="columnMark"><input type="checkbox" class="jsClipboardItem" data-object-id="0"></td>
153 <td class="columnIcon">
154 <span class="icon icon24 fa-pencil mediaEditButton jsMediaEditButton jsTooltip pointer" title="{lang}wcf.global.button.edit{/lang}" data-object-id="0"></span>
155 <span class="icon icon24 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="0"></span>
157 {event name='rowButtons'}
159 <td class="columnID columnMediaID"></td>
160 <td class="columnTitle columnFilename">
162 <span class="icon icon48 fa-file"></span>
166 <p><small>{if $__wcf->session->getPermission('admin.user.canEditUser')}<a href=""></a>{/if}</small></p>
170 <td class="columnText columnMediaTitle"></td>
171 <td class="columnDate columnUploadTime"></td>
172 <td class="columnDigits columnFilesize"></td>
174 {event name='columns'}
182 <footer class="contentFooter">
184 <div class="paginationBottom">
185 {content}{@$pagesLinks}{/content}
189 <nav class="contentFooterNavigation">
191 {event name='contentFooterNavigation'}
196 <p class="info" id="noItemsInfo">{lang}wcf.global.noItems{/lang}</p>
199 {include file='footer'}