66 if (!empty($record[
'newlyCreated'])) {
72 $additionalMetaInformation = array(
73 'width' => $imageInfo->getWidth(),
74 'height' => $imageInfo->getHeight(),
77 $this->
update($file->
getUid(), $additionalMetaInformation);
95 throw new InvalidUidException(
'Metadata can only be retrieved for indexed files. UID: "' .
$uid .
'"', 1381590731);
99 if ($record === FALSE) {
103 $passedData = new \ArrayObject($record);
105 return $passedData->getArrayCopy();
114 return ' AND sys_language_uid IN (0,-1) AND pid=0';
125 $emptyRecord = array(
126 'file' => (
int)$fileUid,
130 'cruser_id' => isset(
$GLOBALS[
'BE_USER']->user[
'uid']) ? (
int)
$GLOBALS[
'BE_USER']->user[
'uid'] : 0
132 $emptyRecord = array_merge($emptyRecord, $additionalFields);
134 $record = $emptyRecord;
136 $record[
'newlyCreated'] = TRUE;
151 public function update($fileUid, array $data) {
152 if (count($this->tableFields) === 0) {
155 $updateRow = array_intersect_key($data, $this->tableFields);
156 if (array_key_exists(
'uid', $updateRow)) {
157 unset($updateRow[
'uid']);
160 if (count($updateRow) > 0) {
161 $updateRow[
'tstamp'] = time();
162 $this->
getDatabaseConnection()->exec_UPDATEquery($this->tableName,
'uid = ' . (
int)$row[
'uid'], $updateRow);
185 return $this->
getObjectManager()->get(
'TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher');
194 return \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
206 $this->
getSignalSlotDispatcher()->dispatch(
'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository',
'recordPostRetrieval', array($data));
216 $this->
getSignalSlotDispatcher()->dispatch(
'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository',
'recordUpdated', array($data));
226 $this->
getSignalSlotDispatcher()->dispatch(
'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository',
'recordCreated', array($data));
236 $this->
getSignalSlotDispatcher()->dispatch(
'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository',
'recordDeleted', array($fileUid));
243 return \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository');
static makeInstance($className)
getForLocalProcessing($writable=TRUE)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]