Completed
Push — master ( 305f48...ad447f )
by Fabien
02:33
created

TceForms::render()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 28
rs 9.472
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
namespace Fab\Media\Backend;
3
4
/*
5
 * This file is part of the Fab/Media project under GPLv2 or later.
6
 *
7
 * For the full copyright and license information, please read the
8
 * LICENSE.md file that was distributed with this source code.
9
 */
10
11
use Fab\Media\Module\MediaModule;
12
use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
13
use TYPO3\CMS\Core\Page\PageRenderer;
14
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
15
use TYPO3\CMS\Core\Utility\GeneralUtility;
16
17
/**
18
 * Custom fields for Media
19
 */
20
class TceForms extends AbstractFormElement
21
{
22
23
    /**
24
     * @return array
25
     */
26
    public function render()
27
    {
28
        // Load StyleSheets in the Page Renderer
29
        $pageRenderer = GeneralUtility::makeInstance(PageRenderer::class);
30
        $cssFile = ExtensionManagementUtility::extPath('media') . 'Resources/Public/StyleSheets/fineuploader.tce.css';
31
        $pageRenderer->addCssFile($cssFile);
32
33
        // language labels for JavaScript files
34
        $pageRenderer->addInlineLanguageLabelFile(ExtensionManagementUtility::extPath('media') . 'Resources/Private/Language/locallang.xlf', 'media_file_upload');
35
36
        // js files to be loaded
37
        $pageRenderer->addJsFile(ExtensionManagementUtility::extPath('media') . 'Resources/Public/JavaScript/Encoder.js');
38
        $pageRenderer->addJsFile(ExtensionManagementUtility::extPath('media') . 'Resources/Public/Libraries/Fineuploader/jquery.fineuploader-5.0.9.min.js');
39
40
        $result = $this->initializeResultArray();
41
42
        $fileMetadataRecord = $this->data['databaseRow'];
43
44
        if ($fileMetadataRecord['file'] <= 0) {
45
            throw new \Exception('I could not find a valid file identifier', 1392926871);
46
        }
47
48
        /** @var $fileUpload \Fab\Media\Form\FileUploadTceForms */
49
        $fileUpload = GeneralUtility::makeInstance(\Fab\Media\Form\FileUploadTceForms::class);
50
        $fileUpload->setValue($fileMetadataRecord['file'][0])->setPrefix(MediaModule::getParameterPrefix());
51
        $result['html'] = $fileUpload->render();
52
        return $result;
53
    }
54
55
}
56