[BUGFIX] Apply enableFields in JOIN's ON condition
[Packages/TYPO3.CMS.git] / typo3 / sysext / filelist / Resources / Private / Templates / FileList / Search.html
1 <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
2 xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
3 xmlns:be="http://typo3.org/ns/TYPO3/CMS/Backend/ViewHelpers"
4 xmlns:fl="http://typo3.org/ns/TYPO3/CMS/Filelist/ViewHelpers">
5 <f:layout name="Default"/>
6
7 <f:section name="headline">
8 <h1><f:translate id="search">Search</f:translate>: "{searchWord}"</h1>
9 </f:section>
10
11 <f:section name="content">
12
13 <f:render partial="SearchForm" arguments="{searchWord:searchWord}" />
14
15 <f:if condition="{files->f:count()} > 0">
16 <div class="table-fit">
17 <table class="table table-striped table-hover" id="typo3-filelist">
18 <thead>
19 <tr data-uid="0" data-l10nparent="0">
20 <th class="col-icon nowrap"></th>
21 <th class="col-path nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_filepath' )}</th>
22 <th class="col-title nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_file' )}</th>
23 <th class="col-control"></th>
24 <th class="nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_fileext' )}</th>
25 <th class="nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_tstamp' )}</th>
26 <th class="nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_size' )}</th>
27 <th class="nowrap">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:c_rw' )}</th>
28 <th class="nowrap">{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._REF_' )}</th>
29 </tr>
30 </thead>
31 <tbody>
32 <f:for each="{files}" as="file">
33 <tr data-uid="0" data-l10nparent="0">
34 <td class="col-icon nowrap">
35 <a class="t3js-contextmenutrigger" data-uid="{file.identifier}" data-table="sys_file" href="#">
36 <core:iconForResource resource="{file.resource}" />
37 </a>
38 </td>
39 <td class="col-path nowrap">
40 {file.path}
41 </td>
42 <td class="col-title col-responsive nowrap">
43 <f:if condition="{file.isMetadataEditable}">
44 <f:then>
45 <a href="{be:uri.editRecord( uid:file.metadataUid, table:'sys_file_metadata', returnUrl:'{f:uri.action( action:\'search\', arguments:\'{ searchWord:\\'{searchWord->f:format.htmlentities()}\\' }\' ) -> f:format.raw()}' )}"
46 class="filelist-file-title"
47 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.editMetadata' )}"
48 >
49 {file.name}
50 </a>
51 </f:then>
52 <f:else>
53 {file.name}
54 </f:else>
55 </f:if>
56 <f:if condition="{file.isImage}">
57 <br>
58 <be:thumbnail image="{file.resource}" width="{thumbnail.width}" height="{thumbnail.height}" />
59 </f:if>
60 </td>
61 <td class="col-control nowrap">
62 <div class="btn-group">
63 <f:if condition="{file.isEditable}">
64 <f:then>
65 <a href="{fl:uri.editFileContent( file:file.resource, returnUrl:'{f:uri.action( action:\'search\', arguments:\'{ searchWord:\\'{searchWord->f:format.htmlentities()}\\' }\' ) -> f:format.raw()}' )}"
66 class="btn btn-default filelist-file-edit"
67 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.editcontent' )}"
68 >
69 <core:icon identifier="actions-page-open" />
70 </a>
71 </f:then>
72 <f:else>
73 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
74 </f:else>
75 </f:if>
76
77 <f:if condition="{file.IsMetadataEditable}">
78 <f:then>
79 <a href="{be:uri.editRecord(uid:file.metadataUid, table:'sys_file_metadata', returnUrl:'{f:uri.action( action:\'search\', arguments:\'{ searchWord:\\'{searchWord->f:format.htmlentities()}\\' }\' ) -> f:format.raw()}' )}"
80 class="btn btn-default filelist-file-edit"
81 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.editMetadata' )}"
82 >
83 <core:icon identifier="actions-open" />
84 </a>
85 </f:then>
86 <f:else>
87 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
88 </f:else>
89 </f:if>
90
91 <f:if condition="{file.publicUrl}">
92 <f:then>
93 <a href="{file.publicUrl}" target="_blank" class="btn btn-default filelist-file-view"
94 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.view' )}"
95 >
96 <core:icon identifier="actions-document-view" />
97 </a>
98 </f:then>
99 <f:else>
100 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
101 </f:else>
102 </f:if>
103
104 <f:if condition="{file.isReplaceable}">
105 <f:then>
106 <a href="{fl:uri.replaceFile( file:file.resource, returnUrl:'{f:uri.action( action:\'search\', arguments:\'{ searchWord:\\'{searchWord->f:format.htmlentities()}\\' }\' ) -> f:format.raw()}' )}"
107 class="btn btn-default filelist-file-replace"
108 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.replace' )}"
109 >
110 <core:icon identifier="actions-edit-replace" />
111 </a>
112 </f:then>
113 <f:else>
114 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
115 </f:else>
116 </f:if>
117
118 <f:if condition="{file.isRenamable}">
119 <f:then>
120 <a href="{fl:uri.renameFile( file:file.resource, returnUrl:'{f:uri.action( action:\'search\', arguments:\'{ searchWord:\\'{searchWord->f:format.htmlentities()}\\' }\' ) -> f:format.raw()}' )}"
121 class="btn btn-default filelist-file-rename"
122 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.rename' )}"
123 >
124 <core:icon identifier="actions-edit-rename" />
125 </a>
126 </f:then>
127 <f:else>
128 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
129 </f:else>
130 </f:if>
131
132 <f:if condition="{file.isReadable}">
133 <f:then>
134 <a href="#" class="btn btn-default filelist-file-info"
135 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.info' )}"
136 data-identifier="{file.identifier}"
137 >
138 <core:icon identifier="actions-document-info" />
139 </a>
140 </f:then>
141 <f:else>
142 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
143 </f:else>
144 </f:if>
145
146 <f:if condition="{file.copyable}">
147 <f:then>
148 <a href="{fl:uri.copyCutFile( file:file.resource, copyOrCut: 'copy' )}"
149 class="btn btn-default filelist-file-copy"
150 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.copy' )}"
151 data-redirect-url="{f:uri.action( action:'search', arguments:'{ searchWord:\'{searchWord->f:format.htmlentities()}\' }' )}"
152 >
153 <f:if condition="{file.selected} == 'copy'">
154 <f:then><core:icon identifier="actions-edit-copy-release" /></f:then>
155 <f:else><core:icon identifier="actions-edit-copy" /></f:else>
156 </f:if>
157 </a>
158 </f:then>
159 <f:else>
160 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
161 </f:else>
162 </f:if>
163 <f:if condition="{file.cuttable}">
164 <f:then>
165 <a href="{fl:uri.copyCutFile( file:file.resource, copyOrCut: 'cut' )}"
166 class="btn btn-default filelist-file-cut"
167 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.cut' )}"
168 >
169 <f:if condition="{file.selected} == 'cut'">
170 <f:then><core:icon identifier="actions-edit-cut-release" /></f:then>
171 <f:else><core:icon identifier="actions-edit-cut" /></f:else>
172 </f:if>
173 </a>
174 </f:then>
175 <f:else>
176 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
177 </f:else>
178 </f:if>
179
180
181 <f:if condition="{file.isDeletable}">
182 <f:then>
183 <a href="#" class="btn btn-default t3js-filelist-delete"
184 title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.delete' )}"
185 data-identifier="{file.identifier}"
186 data-title="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:cm.delete' )}"
187 data-bs-content="{f:translate( key:'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:mess.delete', arguments: '{0:file.name}' )}"
188 data-check="{f:if(condition:settings.jsConfirmationDelete, then:'1', else:'0')}"
189 data-delete-url="{deleteUrl}"
190 data-delete-type="delete_file"
191 data-redirect-url="{f:uri.action( action:'search', arguments:'{ searchWord:\'{searchWord->f:format.htmlentities()}\' }' )}"
192 >
193 <core:icon identifier="actions-edit-delete" />
194 </a>
195 </f:then>
196 <f:else>
197 <span class="btn btn-default disabled"><core:icon identifier="empty-empty" /></span>
198 </f:else>
199 </f:if>
200 </div>
201 </td>
202 <td class="nowrap">{file.extension}</td>
203 <td class="nowrap">{file.lastModified}</td>
204 <td class="nowrap">{file.size}</td>
205 <td class="nowrap">
206 <f:if condition="{file.isReadable}"><strong class="text-danger">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:read' )}</strong></f:if><f:if condition="{file.isWritable}"><strong class="text-danger">{f:translate( key:'LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:write' )}</strong></f:if>
207 </td>
208 <td class="nowrap">
209 <f:if condition="{file.referenceCount} > 0">
210 <f:then>
211 <a href="#" class="filelist-file-references" data-identifier="{file.identifier}" title="{f:translate( key:'LLL:EXT:backend/Resources/Private/Language/locallang.xlf:show_references' )} ({file.referenceCount})">{file.referenceCount}</a>
212 </f:then>
213 <f:else>
214 -
215 </f:else>
216 </f:if>
217 </td>
218 </tr>
219 </f:for>
220 </tbody>
221 </table>
222 </div>
223 </f:if>
224
225 <f:render partial="ListOptions" arguments="{checkboxes:checkboxes}" />
226 <f:render partial="ClipBoard" arguments="{showClipBoard:showClipBoard,clipBoardHtml:clipBoardHtml}" />
227 </f:section>
228 </html>