1111
1212use OC \AppFramework \Bootstrap \Coordinator ;
1313use OC \SystemConfig ;
14- use OCP \Files \Conversion \ConversionMimeProvider ;
1514use OCP \Files \Conversion \IConversionManager ;
1615use OCP \Files \Conversion \IConversionProvider ;
1716use OCP \Files \File ;
@@ -61,22 +60,6 @@ public function getProviders(): array {
6160 return $ providers ;
6261 }
6362
64- /**
65- * @param string $mime
66- * @return list<ConversionMimeProvider>
67- */
68- private function getProvidersForMime (string $ mime ): array {
69- $ mimeTypes = $ this ->getProviders ();
70- $ filtered = array_filter (
71- $ mimeTypes ,
72- function (ConversionMimeProvider $ mimeProvider ) use ($ mime ) {
73- return $ mimeProvider ->getFrom () === $ mime ;
74- }
75- );
76-
77- return array_values ($ filtered );
78- }
79-
8063 public function convert (File $ file , string $ targetMimeType , ?string $ destination = null ): string {
8164 if (!$ this ->hasProviders ()) {
8265 throw new PreConditionNotMetException ('No file conversion providers available ' );
@@ -92,16 +75,16 @@ public function convert(File $file, string $targetMimeType, ?string $destination
9275 $ fileMimeType = $ file ->getMimetype ();
9376 $ validProvider = $ this ->getValidProvider ($ fileMimeType , $ targetMimeType );
9477
95- $ targetExtension = '' ;
96- foreach ($ this ->getProvidersForMime ($ fileMimeType ) as $ mimeProvider ) {
97- if ($ mimeProvider ->getTo () === $ targetMimeType ) {
98- $ targetExtension = $ mimeProvider ->getExtension ();
99- break ;
100- }
101- }
102-
10378 if ($ validProvider !== null ) {
10479 $ convertedFile = $ validProvider ->convertFile ($ file , $ targetMimeType );
80+
81+ $ targetExtension = '' ;
82+ foreach ($ validProvider ->getSupportedMimeTypes () as $ mimeProvider ) {
83+ if ($ mimeProvider ->getTo () === $ targetMimeType ) {
84+ $ targetExtension = $ mimeProvider ->getExtension ();
85+ break ;
86+ }
87+ }
10588
10689 // If destination not provided, we use the same path
10790 // as the original file, but with the new extension
@@ -122,10 +105,6 @@ public function convert(File $file, string $targetMimeType, ?string $destination
122105 * @return list<IConversionProvider>
123106 */
124107 private function getRegisteredProviders (): array {
125- if (count ($ this ->providers ) > 0 ) {
126- return $ this ->providers ;
127- }
128-
129108 $ context = $ this ->coordinator ->getRegistrationContext ();
130109 foreach ($ context ->getFileConversionProviders () as $ providerRegistration ) {
131110 $ class = $ providerRegistration ->getService ();
0 commit comments