/** * @param array|string $allowed * @param array|string $disallowed * @param array|string $values * @test * @dataProvider invalidInlineChildrenFilterParametersDataProvider */ public function areInlineChildrenFilteredWithInvalidParameters($allowed, $disallowed, $values) { $this->parameters = array('allowedFileExtensions' => $allowed, 'disallowedFileExtensions' => $disallowed, 'values' => $values); $this->tceMainMock->expects($this->never())->method('deleteAction'); $this->fileFactoryMock->expects($this->never())->method('getFileReferenceObject'); $this->filter->filterInlineChildren($this->parameters, $this->tceMainMock); }
/** * @param array $databaseRow * @return ProcessedFile */ protected function createDomainObject(array $databaseRow) { $originalFile = $this->resourceFactory->getFileObject((int) $databaseRow['original']); $originalFile->setStorage($this->resourceFactory->getStorageObject($originalFile->getProperty('storage'))); $taskType = $databaseRow['task_type']; $configuration = unserialize($databaseRow['configuration']); return GeneralUtility::makeInstance($this->objectType, $originalFile, $taskType, $configuration, $databaseRow); }
/** * * @param string $identifier * @param \HDNET\Importr\Domain\Model\Strategy $strategy * * @return void */ public function previewAction($identifier, Strategy $strategy) { $file = $this->resourceFactory->getObjectFromCombinedIdentifier($identifier); $this->view->assign('filepath', $file->getPublicUrl()); $this->view->assign('strategy', $strategy); $previewData = $this->importManager->getPreview($strategy, $file->getPublicUrl()); $this->view->assign('preview', $previewData); }
/** * @param string $reference * @return string */ public function convertFileReferenceToTemplatePathAndFilename($reference) { $filename = array_pop(explode(':', $reference)); if (true === ctype_digit($filename)) { return $this->resourceFactory->getFileObjectFromCombinedIdentifier($reference); } $reference = GeneralUtility::getFileAbsFileName($reference); return $reference; }
/** * @param mixed $identity * @return mixed */ public function getResource($identity) { $fileReference = $this->resourceFactory->getFileReferenceObject(intval($identity)); $file = $fileReference->getOriginalFile(); $fileReferenceProperties = $fileReference->getProperties(); $fileProperties = ResourceUtility::getFileArray($file); ArrayUtility::mergeRecursiveWithOverrule($fileProperties, $fileReferenceProperties, TRUE, FALSE, FALSE); return $fileProperties; }
/** * Initiates the ICS download for the given event * * @param \DERHANSEN\SfEventMgt\Domain\Model\Event $event The event * * @throws \RuntimeException Exception * * @return void */ public function downloadiCalendarFile(\DERHANSEN\SfEventMgt\Domain\Model\Event $event) { $storage = $this->resourceFactory->getDefaultStorage(); if ($storage === NULL) { throw new \RuntimeException('Could not get the default storage', 1475590001); } $icalContent = $this->getICalendarContent($event); $tempFolder = $storage->getFolder('_temp_'); $tempFile = $storage->createFile('event.ics', $tempFolder); $tempFile->setContents($icalContent); $storage->dumpFileContents($tempFile, TRUE, 'event_' . $event->getUid() . '.ics'); }
/** * @test */ public function getDriverObjectAcceptsDriverClassName() { $mockedDriver = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Driver\\AbstractDriver', array(), array(), '', FALSE); $driverFixtureClass = get_class($mockedDriver); \TYPO3\CMS\Core\Utility\GeneralUtility::addInstance($driverFixtureClass, $mockedDriver); $mockedMount = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceStorage', array(), array(), '', FALSE); $mockedRegistry = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Driver\\DriverRegistry'); $mockedRegistry->expects($this->once())->method('getDriverClass')->with($this->equalTo($driverFixtureClass))->will($this->returnValue($driverFixtureClass)); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\Driver\\DriverRegistry', $mockedRegistry); $obj = $this->fixture->getDriverObject($driverFixtureClass, array()); $this->assertInstanceOf('TYPO3\\CMS\\Core\\Resource\\Driver\\AbstractDriver', $obj); }
/** * Initiates the CSV downloads for registrations of the given event uid * * @param int $eventUid EventUid * @param array $settings Settings * * @throws \RuntimeException RuntimeException * @return void */ public function downloadRegistrationsCsv($eventUid, $settings = array()) { $storage = $this->resourceFactory->getDefaultStorage(); if ($storage === NULL) { throw new RuntimeException('Could not get the default storage', 1475590001); } $registrations = $this->exportRegistrationsCsv($eventUid, $settings); $tempFolder = $storage->getFolder('_temp_'); $tempFile = $storage->createFile('sf_events_export.csv', $tempFolder); $tempFile->setContents($registrations); $storage->dumpFileContents($tempFile, TRUE, 'registrations_' . date('dmY_His') . '.csv'); }
/** * action initialize * * @return void */ protected function initializeAction() { //print_r($this->settings); $this->folderPath = str_replace('1:', '', $this->settings['flex_startingpoint']); $this->folderCombinedId = $this->settings['flex_startingpoint']; //$fac = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); // create instance to storage repository $this->storageObj = $this->resourceFactory->getStorageObjectFromCombinedIdentifier($this->folderCombinedId); $this->folderObj = $this->storageObj->getFolder($this->folderPath); $files = $this->folderObj->getFiles(); foreach ($files as $file) { $this->filesList[$file->getUid()]['name'] = $file->getName(); $this->filesList[$file->getUid()]['identifier'] = $file->getIdentifier(); } }
/** * @param $status * @param $table * @param $id * @param $fieldArray * @param $self */ function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$self) { if ($table == 'tx_html5videoplayer_domain_model_video') { $data = $fieldArray; if ($status == 'update') { $data = array_merge($GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('*', 'tx_html5videoplayer_domain_model_video', 'uid=' . (int) $id), $data); } $vimeoUrl = $data['vimeo']; if (($status == 'update' || $status == 'new') && $vimeoUrl != '' && GeneralUtility::isValidUrl($vimeoUrl)) { if (preg_match('/https?:\\/\\/(?:www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^\\/]*)\\/videos\\/|album\\/(\\d+)\\/video\\/|)(\\d+)(?:$|\\/|\\?)/i', $vimeoUrl, $matches)) { $videoId = $matches[3]; $videoData = unserialize(GeneralUtility::getUrl('http://vimeo.com/api/v2/video/' . $videoId . '.php')); if (is_array($videoData)) { // We're only interested in index zero. $videoData = $videoData[0]; if (!isset($data['title']) || trim($data['title']) == '') { $fieldArray['title'] = $videoData['title']; } if (!isset($data['description']) || trim($data['description']) == '') { $fieldArray['description'] = $videoData['description']; } if (!isset($data['posterimage']) || trim($data['posterimage']) == '') { $resourceFactory = ResourceFactory::getInstance(); $folder = $resourceFactory->retrieveFileOrFolderObject($this->getUploadFolder()); $thumbnailData = GeneralUtility::getUrl($videoData['thumbnail_large']); $file = $folder->createFile(basename($videoData['thumbnail_large']) . '.jpg'); $file->setContents($thumbnailData); $fieldArray['posterimage'] = 'file:' . $file->getUid(); } } } } } }
/** * Returns a processed image to be displayed on the Frontend. * * @param string $content Content input (not used). * @param array $conf TypoScript configuration * @return string HTML output */ public function renderImageAttributes($content = '', $conf) { $imageAttributes = $this->getImageAttributes(); // It is pretty rare to be in presence of an external image as the default behaviour // of the RTE is to download the external image and create a local image. // However, it may happen if the RTE has the flag "disable" if (!$this->isExternalImage()) { $fileUid = (int) $imageAttributes['data-htmlarea-file-uid']; if ($fileUid) { try { $file = Resource\ResourceFactory::getInstance()->getFileObject($fileUid); if ($imageAttributes['src'] !== $file->getPublicUrl()) { // Source file is a processed image $imageConfiguration = array('width' => (int) $imageAttributes['width'], 'height' => (int) $imageAttributes['height']); $processedFile = $this->getMagicImageService()->createMagicImage($file, $imageConfiguration); $additionalAttributes = array('src' => $processedFile->getPublicUrl(), 'title' => $imageAttributes['title'] ?: $file->getProperty('title'), 'alt' => $imageAttributes['alt'] ?: $file->getProperty('alternative'), 'width' => $processedFile->getProperty('width'), 'height' => $processedFile->getProperty('height')); $imageAttributes = array_merge($imageAttributes, $additionalAttributes); } } catch (Resource\Exception\FileDoesNotExistException $fileDoesNotExistException) { // Log the fact the file could not be retrieved. $message = sprintf('I could not find file with uid "%s"', $fileUid); $this->getLogger()->error($message); } } } return '<img ' . GeneralUtility::implodeAttributes($imageAttributes, TRUE, TRUE) . ' />'; }
/** * Constructor for initializing the class * * @return void * @todo Define visibility */ public function init() { // Initialize GPvars: $this->target = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('target'); $this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('returnUrl')); if (!$this->returnUrl) { $this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir . \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('file_list') . '&id=' . rawurlencode($this->target); } // Create the folder object if ($this->target) { $this->folderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->target); } // Cleaning and checking target directory if (!$this->folderObject) { $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:paramError', TRUE); $message = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:targetNoDir', TRUE); throw new \RuntimeException($title . ': ' . $message, 1294586843); } // Setting the title and the icon $icon = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('apps-filetree-root'); $this->title = $icon . htmlspecialchars($this->folderObject->getStorage()->getName()) . ': ' . htmlspecialchars($this->folderObject->getIdentifier()); // Setting template object $this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate'); $this->doc->setModuleTemplate('templates/file_upload.html'); $this->doc->backPath = $GLOBALS['BACK_PATH']; $this->doc->form = '<form action="tce_file.php" method="post" name="editform" enctype="' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['form_enctype'] . '">'; }
/** * Generate album add/edit buttons for click menu or toolbar * * @param string $combinedIdentifier * @return array */ protected function generateButtons($combinedIdentifier) { $buttons = array(); // In some folder copy/move actions in file list a invalid id is passed try { /** @var $file \TYPO3\CMS\Core\Resource\Folder */ $folder = ResourceFactory::getInstance()->retrieveFileOrFolderObject($combinedIdentifier); } catch (ResourceDoesNotExistException $exception) { $folder = NULL; } catch (InsufficientFolderAccessPermissionsException $exception) { $folder = NULL; } if ($folder && $folder instanceof Folder && !$folder->getStorage()->isPublic() && in_array($folder->getRole(), array(Folder::ROLE_DEFAULT, Folder::ROLE_USERUPLOAD))) { /** @var \BeechIt\FalSecuredownload\Service\Utility $utility */ $utility = GeneralUtility::makeInstance('BeechIt\\FalSecuredownload\\Service\\Utility'); $folderRecord = $utility->getFolderRecord($folder); $menuItems[] = 'spacer'; if ($folderRecord) { $buttons[] = $this->createLink($this->sL('clickmenu.folderpermissions'), $this->sL('clickmenu.folderpermissions'), IconUtility::getSpriteIcon('extensions-fal_securedownload-folder', array(), array('status-overlay-access-restricted' => '')), "alt_doc.php?edit[tx_falsecuredownload_folder][" . $folderRecord['uid'] . "]=edit"); } else { $buttons[] = $this->createLink($this->sL('clickmenu.folderpermissions'), $this->sL('clickmenu.folderpermissions'), IconUtility::getSpriteIcon('extensions-fal_securedownload-folder', array(), array('extensions-fal_securedownload-overlay-permissions' => '')), "alt_doc.php?edit[tx_falsecuredownload_folder][0]=new&defVals[tx_falsecuredownload_folder][folder_hash]=" . $folder->getHashedIdentifier() . "&defVals[tx_falsecuredownload_folder][storage]=" . $folder->getStorage()->getUid() . "&defVals[tx_falsecuredownload_folder][folder]=" . $folder->getIdentifier()); } } return $buttons; }
/** * Processing the focus point crop (fallback to LocalCropScaleMaskHelper) * * @param TaskInterface $task * * @return array|NULL */ public function process(TaskInterface $task) { $configuration = $task->getConfiguration(); $crop = $configuration['crop'] ? json_decode($configuration['crop']) : null; if ($crop instanceof \stdClass && isset($crop->x)) { // if crop is enable release the process return parent::process($task); } $sourceFile = $task->getSourceFile(); try { if (self::$deepCheck === false) { self::$deepCheck = true; $ratio = $this->getCurrentRatioConfiguration(); $this->dimensionService->getRatio($ratio); $newFile = $this->focusCropService->getCroppedImageSrcByFile($sourceFile, $ratio); $file = ResourceFactory::getInstance()->retrieveFileOrFolderObject($newFile); $targetFile = $task->getTargetFile(); ObjectAccess::setProperty($targetFile, 'originalFile', $file, true); ObjectAccess::setProperty($targetFile, 'originalFileSha1', $file->getSha1(), true); ObjectAccess::setProperty($targetFile, 'storage', $file->getStorage(), true); ObjectAccess::setProperty($task, 'sourceFile', $file, true); ObjectAccess::setProperty($task, 'targetFile', $targetFile, true); } } catch (\Exception $ex) { } self::$deepCheck = false; return parent::process($task); }
/** * Initialize the storage repository. */ public function init() { $this->storageRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\StorageRepository'); $this->storages = $this->storageRepository->findAll(); // Add default storage for core files $this->storages[] = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getStorageObject(0); }
/** * Entry method for use as TCEMain "inline" field filter * * @param array $parameters * @param \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain * @return array */ public function filterInlineChildren(array $parameters, \TYPO3\CMS\Core\DataHandling\DataHandler $tceMain) { $values = $parameters['values']; if ($parameters['allowedFileExtensions']) { $this->setAllowedFileExtensions($parameters['allowedFileExtensions']); } if ($parameters['disallowedFileExtensions']) { $this->setDisallowedFileExtensions($parameters['disallowedFileExtensions']); } $cleanValues = array(); if (is_array($values)) { foreach ($values as $value) { if (empty($value)) { continue; } $parts = \TYPO3\CMS\Core\Utility\GeneralUtility::revExplode('_', $value, 2); $fileReferenceUid = $parts[count($parts) - 1]; $fileReference = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($fileReferenceUid); $file = $fileReference->getOriginalFile(); if ($this->isAllowed($file->getName())) { $cleanValues[] = $value; } else { // Remove the erroneously created reference record again $tceMain->deleteAction('sys_file_reference', $fileReferenceUid); } } } return $cleanValues; }
/** * @return \TYPO3\CMS\Core\Resource\FileReference */ public function getOriginalResource() { if ($this->originalResource === NULL) { $this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->getUid()); } return $this->originalResource; }
/** * @return \TYPO3\CMS\Core\Resource\FileReference */ public function getOriginalResource() { if ($this->originalResource === null) { $this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->_localizedUid); } return $this->originalResource; }
/** * Initialize script class * * @return void * @todo Define visibility */ public function init() { // Setting target, which must be a file reference to a file within the mounts. $this->target = $this->origTarget = $fileIdentifier = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('target'); $this->returnUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::sanitizeLocalUrl(\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('returnUrl')); // create the file object if ($fileIdentifier) { $this->fileObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($fileIdentifier); } // Cleaning and checking target directory if (!$this->fileObject) { $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:paramError', TRUE); $message = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.xml:targetNoDir', TRUE); throw new \RuntimeException($title . ': ' . $message, 1294586841); } // Setting the title and the icon $icon = \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon('apps-filetree-root'); $this->title = $icon . htmlspecialchars($this->fileObject->getStorage()->getName()) . ': ' . htmlspecialchars($this->fileObject->getIdentifier()); // *************************** // Setting template object // *************************** $this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate'); $this->doc->setModuleTemplate('templates/file_edit.html'); $this->doc->backPath = $GLOBALS['BACK_PATH']; $this->doc->JScode = $this->doc->wrapScriptTags(' function backToList() { // top.goToModule("file_list"); } '); $this->doc->form = '<form action="tce_file.php" method="post" name="editform">'; }
/** * Override default constructor to make it possible to instantiate this * class for rendering an offset table not in content object context * * @param \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj */ public function __construct(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj = NULL) { if (!is_null($cObj)) { $this->cObj = $cObj; $this->fileFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance(); } }
/** * Initialize * * @throws InsufficientFolderAccessPermissionsException */ protected function init() { // Initialize GPvars: $this->target = GeneralUtility::_GP('target'); $this->returnUrl = GeneralUtility::sanitizeLocalUrl(GeneralUtility::_GP('returnUrl')); if (!$this->returnUrl) { $this->returnUrl = GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . TYPO3_mainDir . BackendUtility::getModuleUrl('file_list') . '&id=' . rawurlencode($this->target); } // Create the folder object if ($this->target) { $this->folderObject = ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->target); } if ($this->folderObject->getStorage()->getUid() === 0) { throw new InsufficientFolderAccessPermissionsException('You are not allowed to access folders outside your storages', 1375889834); } // Cleaning and checking target directory if (!$this->folderObject) { $title = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_mod_file_list.xlf:paramError', true); $message = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_mod_file_list.xlf:targetNoDir', true); throw new \RuntimeException($title . ': ' . $message, 1294586843); } // Setting up the context sensitive menu $this->moduleTemplate->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Backend/ClickMenu'); // building pathInfo for metaInformation $pathInfo = ['combined_identifier' => $this->folderObject->getCombinedIdentifier()]; $this->moduleTemplate->getDocHeaderComponent()->setMetaInformation($pathInfo); }
/** * initializes this object */ protected function init() { $this->objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $this->database = $GLOBALS['TYPO3_DB']; $this->fileRepository = $this->objectManager->get('TYPO3\\CMS\\Core\\Resource\\FileRepository'); $fileFactory = ResourceFactory::getInstance(); $this->storageObject = $fileFactory->getStorageObject($this->storageUid); }
/** * @param $relFolderPath * @param $pathExists * @return \TYPO3\CMS\Core\Resource\Folder */ protected function createFolderObject($relFolderPath, $pathExists) { if (!$pathExists) { $storage = $this->folderRepository->findByUid(1); return $this->fileFactory->createFolderObject($storage, $relFolderPath, 'upload_folder'); } else { return $this->fileFactory->getFolderObjectFromCombinedIdentifier("1:{$relFolderPath}"); } }
/** * User function for sys_file_meta (element) * * @param array $propertyArray the array with additional configuration options. * @return string The HTML code for the TCEform field */ public function renderFileMetadataInfo(array $propertyArray) { $fileMetadataRecord = $propertyArray['row']; $fileObject = null; if (!empty($fileMetadataRecord['file']) && $fileMetadataRecord['file'][0] > 0) { $fileObject = ResourceFactory::getInstance()->getFileObject((int) $fileMetadataRecord['file'][0]); } return $this->renderFileInformationContent($fileObject); }
/** * Render a file upload field. * * @throws \Fab\Media\Exception\EmptyPropertyException * @return string */ public function render() { // Instantiate the file object for the whole class if possible. if ($this->getValue()) { $this->file = ResourceFactory::getInstance()->getFileObject($this->getValue()); } $result = sprintf($this->template, $this->getInlineStyle(), $this->getThumbnail(), $this->getFileInfo(), $this->elementId, $this->getJavaScriptTemplate(), $this->getJavaScript()); return $result; }
/** * User function for sys_file_meta (element) * * @param array $propertyArray the array with additional configuration options. * @param \TYPO3\CMS\Backend\Form\FormEngine $tceformsObj the TCEforms parent object * @return string The HTML code for the TCEform field */ public function renderFileMetadataInfo(array $propertyArray, \TYPO3\CMS\Backend\Form\FormEngine $tceformsObj) { $fileMetadataRecord = $propertyArray['row']; $fileObject = NULL; if ($fileMetadataRecord['file'] > 0) { $fileObject = ResourceFactory::getInstance()->getFileObject((int) $fileMetadataRecord['file']); } return $this->renderFileInformationContent($fileObject); }
/** * Function execute from the Scheduler * * @return bool TRUE on successful execution, FALSE on error */ public function execute() { if ((int)$this->storageUid > 0) { $storage = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getStorageObject($this->storageUid); $storage->setEvaluatePermissions(FALSE); $indexer = $this->getIndexer($storage); $indexer->processChangesInStorages(); $storage->setEvaluatePermissions(TRUE); } return TRUE; }
/** * Render file tree */ public function treeAction() { $resourceFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance(); try { $folder = $resourceFactory->getFolderObjectFromCombinedIdentifier($this->settings['storage'] . ':' . $this->settings['folder']); } catch (\TYPO3\CMS\Core\Resource\Exception\FolderDoesNotExistException $exception) { // folder not found } $this->view->assign('folder', $folder); }
/** * Validate additional fields * * @param array $submittedData Reference to the array containing the data submitted by the user * @param \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject Reference to the calling object (Scheduler's BE module) * @return bool True if validation was ok (or selected class is not relevant), false otherwise */ public function validateAdditionalFields(array &$submittedData, \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $parentObject) { $value = $submittedData['scheduler_fileStorageIndexing_storage']; if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($value)) { return false; } elseif (\TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getStorageObject($submittedData['scheduler_fileStorageIndexing_storage']) !== null) { return true; } return false; }
/** * Populates the content-entries of the collection * * @return void */ public function loadContents() { $resource = $this->getDatabaseConnection()->exec_SELECT_mm_query('sys_file_metadata.file', 'sys_category', 'sys_category_record_mm', 'sys_file_metadata', 'AND sys_category.uid=' . (int) $this->getItemsCriteria() . ' AND sys_category_record_mm.tablenames = \'sys_file_metadata\''); $resourceFactory = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance(); if ($resource) { while (($record = $this->getDatabaseConnection()->sql_fetch_assoc($resource)) !== FALSE) { $this->add($resourceFactory->getFileObject((int) $record['file'])); } $this->getDatabaseConnection()->sql_free_result($resource); } }