/** * @param string $logoField * @return string */ public function getFile( $logoField ) { if( $this->attribute( $logoField ) != null && $this->attribute( $logoField ) != '' ) { $storageDir = eZSys::storageDirectory(); $clusterIdentifier = ClusterTool::clusterIdentifier(); $publisherFolderPath = $this->publisherFolder['path']; $outputDirectory = "{$storageDir}/static-data/{$clusterIdentifier}/publisher_folders/{$publisherFolderPath}"; if (!is_readable($outputDirectory) || !is_dir($outputDirectory)) { mkdir($outputDirectory, 0777, true); } $outputFile = "{$outputDirectory}/{$logoField}.png"; $fileUtils = eZClusterFileHandler::instance( $outputFile ); if( !$fileUtils->fileExists( $outputFile ) ) { if ( $fileUtils->requiresClusterizing() ) { eZDFSFileHandler::fileStoreContents( $outputFile, $this->attribute( $logoField ) ); } else { file_put_contents( $outputFile, $this->attribute( $logoField ) ); } } return '/' . $outputFile; } else { return null; } }