2 namespace TYPO3\CMS\Core\Resource;
17 use TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException;
52 return $this->factory->getFileObject($databaseRow[
'uid'], $databaseRow);
65 public function findByRelation($tableName, $fieldName, $uid)
69 throw new \InvalidArgumentException(
'UID of related record has to be an integer. UID given: "' . $uid .
'"', 1316789798);
71 $referenceUids = null;
74 $frontendController =
$GLOBALS[
'TSFE'];
79 ' AND uid_foreign=' . (
int)$uid .
81 . $frontendController->sys_page->enableFields(
'sys_file_reference', $frontendController->showHiddenRecords),
87 if (!empty($references)) {
88 $referenceUids = array_keys($references);
93 $relationHandler->start(
94 '',
'sys_file_reference',
'', $uid, $tableName,
95 \TYPO3\CMS\Backend\Utility\BackendUtility::getTcaFieldConfiguration($tableName, $fieldName)
97 if (!empty($relationHandler->tableArray[
'sys_file_reference'])) {
98 $referenceUids = $relationHandler->tableArray[
'sys_file_reference'];
101 if (!empty($referenceUids)) {
102 foreach ($referenceUids as $referenceUid) {
106 $itemList[] = $this->factory->getFileReferenceObject($referenceUid);
107 }
catch (ResourceDoesNotExistException $exception) {
126 throw new \InvalidArgumentException(
'The UID of record has to be an integer. UID given: "' . $uid .
'"', 1316889798);
129 $fileReferenceObject = $this->factory->getFileReferenceObject($uid);
130 }
catch (\InvalidArgumentException $exception) {
131 $fileReferenceObject =
false;
133 return $fileReferenceObject;
144 public function searchByName(
Folder $folder, $fileName)
149 $folders = $folder->
getStorage()->getFoldersInFolder($folder, 0, 0,
true,
true);
155 foreach ($fileRecords as $fileRecord) {
156 if (stristr($fileRecord[
'name'], $fileName) ===
false) {
161 $files[] = $fileFactory->getFileObject($fileRecord[
'uid'], $fileRecord);
162 }
catch (\TYPO3\CMS\Core\Resource\Exception\FileDoesNotExistException $ignoredException) {