/** * This method is a reimplementation of tx_dam_tsfe->fetchFileList. * * @param array $conf * @return array */ function fetchFileList($conf, &$cObj) { $uid = $cObj->data['_LOCALIZED_UID'] ? $cObj->data['_LOCALIZED_UID'] : $cObj->data['uid']; $refTable = $conf['refTable'] && is_array($GLOBALS['TCA'][$conf['refTable']]) ? $conf['refTable'] : 'tt_content'; $refField = trim($cObj->stdWrap($conf['refField'], $conf['refField.'])); if (isset($GLOBALS['BE_USER']->workspace) && $GLOBALS['BE_USER']->workspace !== 0) { $workspaceRecord = Tx_Rnbase_Backend_Utility::getWorkspaceVersionOfRecord($GLOBALS['BE_USER']->workspace, 'tt_content', $uid, 'uid'); if ($workspaceRecord) { $uid = $workspaceRecord['uid']; } } $damFiles = tx_dam_db::getReferencedFiles($refTable, $uid, $refField); return $damFiles['rows']; }
/** * Returns the first reference of a file. Usage by typoscript: * * lib.logo = IMAGE * lib.logo { * file.maxH = 30 * file.maxW = 30 * file.treatIdAsReference = 1 * file.import.cObject = USER * file.import.cObject { * userFunc=tx_rnbase_util_TSFAL->fetchFirstReference * refField=t3logo * refTable=tx_cfcleague_teams * } * } * * @param array $conf * @return array */ public function fetchFirstReference($content, $conf) { $cObj = $this->cObj; $uid = $cObj->data['_LOCALIZED_UID'] ? $cObj->data['_LOCALIZED_UID'] : $cObj->data['uid']; $refTable = $conf['refTable'] && is_array($GLOBALS['TCA'][$conf['refTable']]) ? $conf['refTable'] : 'tt_content'; $refField = trim($cObj->stdWrap($conf['refField'], $conf['refField.'])); if (isset($GLOBALS['BE_USER']->workspace) && $GLOBALS['BE_USER']->workspace !== 0) { $workspaceRecord = Tx_Rnbase_Backend_Utility::getWorkspaceVersionOfRecord($GLOBALS['BE_USER']->workspace, 'tt_content', $uid, 'uid'); if ($workspaceRecord) { $uid = $workspaceRecord['uid']; } } $fileRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\FileRepository'); $files = $fileRepository->findByRelation($refTable, $refField, $uid); if (!empty($files)) { // Die erste Referenz zurück return $files[0]->getUid(); } return ''; }