Exemplo n.º 1
0
 /**
  * Extends the getData()-Method of ContentObjectRenderer to process more/other commands
  *
  * @param string                $getDataString Full content of getData-request e.g. "TSFE:id // field:title // field:uid
  * @param array                 $fields        Current field-array
  * @param string                $sectionValue  Currently examined section value of the getData request e.g. "field:title
  * @param string                $returnValue   Current returnValue that was processed so far by getData
  * @param ContentObjectRenderer $parentObject  Parent content object
  *
  * @return string Get data result
  */
 public function getDataExtension($getDataString, array $fields, $sectionValue, $returnValue, ContentObjectRenderer &$parentObject)
 {
     $parts = explode(':', $getDataString);
     if (isset($parts[0]) && isset($parts[1]) && $parts[0] === 'fp') {
         $fileObject = $parentObject->getCurrentFile();
         if (!$fileObject instanceof FileReference) {
             return $returnValue;
         }
         $originalFile = $fileObject->getOriginalFile();
         switch ($parts[1]) {
             case 'x':
             case 'y':
                 $metaData = $originalFile->_getMetaData();
                 return $metaData['focus_point_' . $parts[1]] / 100;
             case 'xp':
             case 'yp':
                 $metaData = $originalFile->_getMetaData();
                 return (double) $metaData['focus_point_' . substr($parts[1], 0, 1)];
             case 'xp_positive':
             case 'yp_positive':
                 $metaData = $originalFile->_getMetaData();
                 return ((double) $metaData['focus_point_' . substr($parts[1], 0, 1)] + 100) / 2;
             case 'w':
             case 'h':
                 $fileName = GeneralUtility::getFileAbsFileName($fileObject->getPublicUrl(true));
                 if (file_exists($fileName)) {
                     $sizes = getimagesize($fileName);
                     return $sizes[$parts[1] == 'w' ? 0 : 1];
                 }
                 break;
         }
     }
     return $returnValue;
 }
Exemplo n.º 2
0
 public function addFileData($content, array $configuration = NULL)
 {
     $currentFile = $this->cObj->getCurrentFile();
     if ($currentFile instanceof \TYPO3\CMS\Core\Resource\File) {
         $tableName = 'sys_file';
     } elseif ($currentFile instanceof \TYPO3\CMS\Core\Resource\FileReference) {
         $tableName = 'sys_file_reference';
     } else {
         return;
     }
     $recordData = $this->filterFields($tableName, $currentFile->getProperties());
     $recordIdentifier = $tableName . ':' . $currentFile->getUid();
     $this->records[$recordIdentifier] = $recordData;
     $currentWatcherValue = $this->getCurrentWatcherValue();
     $levelIdentifier = rtrim($currentWatcherValue, '/');
     $this->addToStructure($levelIdentifier, $recordIdentifier, $recordData);
 }