function deleteStoredObjectAttribute( $contentObjectAttribute, $version = null ) { $contentObjectAttributeID = $contentObjectAttribute->attribute( "id" ); $sys = eZSys::instance(); $storage_dir = $sys->storageDirectory(); if ( $version == null ) { $binaryFiles = eZBinaryFile::fetch( $contentObjectAttributeID ); eZBinaryFile::removeByID( $contentObjectAttributeID, null ); foreach ( $binaryFiles as $binaryFile ) { $mimeType = $binaryFile->attribute( "mime_type" ); list( $prefix, $suffix ) = explode('/', $mimeType ); $orig_dir = $storage_dir . '/original/' . $prefix; $fileName = $binaryFile->attribute( "filename" ); // Check if there are any other records in ezbinaryfile that point to that fileName. $binaryObjectsWithSameFileName = eZBinaryFile::fetchByFileName( $fileName ); $filePath = $orig_dir . "/" . $fileName; $file = eZClusterFileHandler::instance( $filePath ); if ( $file->exists() and count( $binaryObjectsWithSameFileName ) < 1 ) $file->delete(); } } else { $count = 0; $binaryFile = eZBinaryFile::fetch( $contentObjectAttributeID, $version ); if ( $binaryFile != null ) { $mimeType = $binaryFile->attribute( "mime_type" ); list( $prefix, $suffix ) = explode('/', $mimeType ); $orig_dir = $storage_dir . "/original/" . $prefix; $fileName = $binaryFile->attribute( "filename" ); eZBinaryFile::removeByID( $contentObjectAttributeID, $version ); // Check if there are any other records in ezbinaryfile that point to that fileName. $binaryObjectsWithSameFileName = eZBinaryFile::fetchByFileName( $fileName ); $filePath = $orig_dir . "/" . $fileName; $file = eZClusterFileHandler::instance( $filePath ); if ( $file->exists() and count( $binaryObjectsWithSameFileName ) < 1 ) $file->delete(); } } }
function deleteStoredObjectAttribute($contentObjectAttribute, $version = null) { /* This is called when you delete the datatype from the class*/ $contentObjectAttributeID = $contentObjectAttribute->attribute("id"); $sys = eZSys::instance(); $storage_dir = $sys->storageDirectory(); require_once 'kernel/classes/ezclusterfilehandler.php'; if ($version == null) { $binaryFiles = eZBinaryFile::fetch($contentObjectAttributeID); eZBinaryFile::removeByID($contentObjectAttributeID, null); foreach ($binaryFiles as $binaryFile) { $mimeType = $binaryFile->attribute("mime_type"); list($prefix, $suffix) = split('[/]', $mimeType); $orig_dir = $storage_dir . '/' . $downloadPath . '/' . $prefix; $fileName = $binaryFile->attribute("filename"); // Check if there are any other records in ezbinaryfile that point to that fileName. $binaryObjectsWithSameFileName = eZBinaryFile::fetchByFileName($fileName); $filePath = $orig_dir . "/" . $fileName; $file = eZClusterFileHandler::instance($filePath); if ($file->exists() and count($binaryObjectsWithSameFileName) < 1) { $file->delete(); } } } else { $count = 0; $binaryFile = eZBinaryFile::fetch($contentObjectAttributeID, $version); if ($binaryFile != null) { $mimeType = $binaryFile->attribute("mime_type"); list($prefix, $suffix) = split('[/]', $mimeType); $orig_dir = $storage_dir . "/original/" . $prefix; $fileName = $binaryFile->attribute("filename"); eZBinaryFile::removeByID($contentObjectAttributeID, $version); // Check if there are any other records in ezbinaryfile that point to that fileName. $binaryObjectsWithSameFileName = eZBinaryFile::fetchByFileName($fileName); $filePath = $orig_dir . "/" . $fileName; $file = eZClusterFileHandler::instance($filePath); if ($file->exists() and count($binaryObjectsWithSameFileName) < 1) { $file->delete(); } } } }