22
22
*
23
23
* The TYPO3 project - inspiring people to share!
24
24
*/
25
+ use TYPO3 \CMS \Core \Database \Connection ;
25
26
use Psr \Http \Message \ResponseInterface ;
26
27
use Psr \Http \Message \ServerRequestInterface ;
27
28
use TYPO3 \CMS \Backend \Form \FormDataCompiler ;
33
34
use TYPO3 \CMS \Core \Database \Query \QueryBuilder ;
34
35
use TYPO3 \CMS \Core \Database \ReferenceIndex ;
35
36
use TYPO3 \CMS \Core \Http \HtmlResponse ;
37
+ use TYPO3 \CMS \Core \Information \Typo3Version ;
36
38
use TYPO3 \CMS \Core \Resource \DuplicationBehavior ;
37
39
use TYPO3 \CMS \Core \Resource \File ;
38
40
use TYPO3 \CMS \Core \Resource \Folder ;
@@ -52,16 +54,20 @@ public function ajaxResetFileVariant(ServerRequestInterface $request): ResponseI
52
54
$ formDataCompiler = GeneralUtility::makeInstance (FormDataCompiler::class, $ formDataGroup );
53
55
$ nodeFactory = GeneralUtility::makeInstance (NodeFactory::class);
54
56
$ formDataCompilerInput = [
57
+ 'request ' => $ request ,
55
58
'tableName ' => 'sys_file_metadata ' ,
56
59
'vanillaUid ' => $ uid ,
57
60
'command ' => 'edit ' ,
58
61
];
62
+ if ((new Typo3Version ())->getMajorVersion () < 12 ) {
63
+ unset($ formDataCompilerInput ['request ' ]);
64
+ }
59
65
$ formData = $ formDataCompiler ->compile ($ formDataCompilerInput );
60
66
$ formData ['renderType ' ] = 'fileInfo ' ;
61
67
62
68
$ fileUid = (int )$ formData ['databaseRow ' ]['file ' ][0 ];
63
69
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable ('sys_file ' );
64
- $ fileRecord = $ queryBuilder ->select ('l10n_parent ' )->from ('sys_file ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ fileUid , \ PDO ::PARAM_INT )))->executeQuery ()->fetchAssociative ();
70
+ $ fileRecord = $ queryBuilder ->select ('l10n_parent ' )->from ('sys_file ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ fileUid , Connection ::PARAM_INT )))->executeQuery ()->fetchAssociative ();
65
71
66
72
$ defaultFileObject = GeneralUtility::makeInstance (ResourceFactory::class)->getFileObject ((int )$ fileRecord ['l10n_parent ' ]);
67
73
/** @var Folder */
@@ -76,15 +82,15 @@ public function ajaxResetFileVariant(ServerRequestInterface $request): ResponseI
76
82
$ file ->rename ($ defaultFileObject ->getName (), DuplicationBehavior::RENAME );
77
83
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable ('sys_file ' );
78
84
$ queryBuilder ->delete ('sys_file ' )->where ($ queryBuilder ->expr ()
79
- ->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ sysFileRecordToBeDeleted , \ PDO ::PARAM_INT )))->executeStatement ();
85
+ ->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ sysFileRecordToBeDeleted , Connection ::PARAM_INT )))->executeStatement ();
80
86
81
87
// metadata records for copied file are not needed, either
82
88
/** @var QueryBuilder $queryBuilder */
83
89
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)
84
90
->getQueryBuilderForTable ('sys_file_metadata ' );
85
91
$ metadataRecordsToBeDeleted = $ queryBuilder ->select ('uid ' )->from ('sys_file_metadata ' )->where ($ queryBuilder ->expr ()->eq (
86
92
'file ' ,
87
- $ queryBuilder ->createNamedParameter ($ sysFileRecordToBeDeleted , \ PDO ::PARAM_INT )
93
+ $ queryBuilder ->createNamedParameter ($ sysFileRecordToBeDeleted , Connection ::PARAM_INT )
88
94
))->executeQuery ()->fetchFirstColumn ();
89
95
if (count ($ metadataRecordsToBeDeleted ) > 0 ) {
90
96
/** @var QueryBuilder $queryBuilder */
@@ -121,7 +127,7 @@ public function ajaxUploadFileVariant(ServerRequestInterface $request): Response
121
127
$ metadataUid = (int )$ request ->getQueryParams ()['uid ' ];
122
128
123
129
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable ('sys_file_metadata ' );
124
- $ currentFileUid = $ queryBuilder ->select ('file ' )->from ('sys_file_metadata ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ metadataUid , \ PDO ::PARAM_INT )))->executeQuery ()->fetchOne ();
130
+ $ currentFileUid = $ queryBuilder ->select ('file ' )->from ('sys_file_metadata ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ metadataUid , Connection ::PARAM_INT )))->executeQuery ()->fetchOne ();
125
131
126
132
$ currentFile = GeneralUtility::makeInstance (ResourceFactory::class)->getFileObject ($ currentFileUid );
127
133
$ uploadedFile = GeneralUtility::makeInstance (ResourceFactory::class)->getFileObject ($ uploadedFileUid );
@@ -130,20 +136,24 @@ public function ajaxUploadFileVariant(ServerRequestInterface $request): Response
130
136
131
137
/** @var QueryBuilder $queryBuilder */
132
138
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable ('sys_file ' );
133
- $ queryBuilder ->delete ('sys_file ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ uploadedFileUid , \ PDO ::PARAM_INT )))->executeStatement ();
139
+ $ queryBuilder ->delete ('sys_file ' )->where ($ queryBuilder ->expr ()->eq ('uid ' , $ queryBuilder ->createNamedParameter ($ uploadedFileUid , Connection ::PARAM_INT )))->executeStatement ();
134
140
135
141
/** @var QueryBuilder $queryBuilder */
136
142
$ queryBuilder = GeneralUtility::makeInstance (ConnectionPool::class)->getQueryBuilderForTable ('sys_file_metadata ' );
137
- $ queryBuilder ->delete ('sys_file_metadata ' )->where ($ queryBuilder ->expr ()->eq ('file ' , $ queryBuilder ->createNamedParameter ($ uploadedFileUid , \ PDO ::PARAM_INT )))->executeStatement ();
143
+ $ queryBuilder ->delete ('sys_file_metadata ' )->where ($ queryBuilder ->expr ()->eq ('file ' , $ queryBuilder ->createNamedParameter ($ uploadedFileUid , Connection ::PARAM_INT )))->executeStatement ();
138
144
139
145
$ formDataGroup = GeneralUtility::makeInstance (TcaDatabaseRecord::class);
140
146
$ formDataCompiler = GeneralUtility::makeInstance (FormDataCompiler::class, $ formDataGroup );
141
147
$ nodeFactory = GeneralUtility::makeInstance (NodeFactory::class);
142
148
$ formDataCompilerInput = [
149
+ 'request ' => $ request ,
143
150
'tableName ' => 'sys_file_metadata ' ,
144
151
'vanillaUid ' => $ metadataUid ,
145
152
'command ' => 'edit ' ,
146
153
];
154
+ if ((new Typo3Version ())->getMajorVersion () < 12 ) {
155
+ unset($ formDataCompilerInput ['request ' ]);
156
+ }
147
157
$ formData = $ formDataCompiler ->compile ($ formDataCompilerInput );
148
158
$ formData ['renderType ' ] = 'fileInfo ' ;
149
159
0 commit comments