コード例 #1
0
 function deleteStoredObjectAttribute($contentObjectAttribute, $version = null)
 {
     $contentObjectAttributeID = $contentObjectAttribute->attribute("id");
     $mediaFiles = ezflowMedia::fetch($contentObjectAttributeID, null);
     $sys = eZSys::instance();
     $storage_dir = $sys->storageDirectory();
     if ($version == null) {
         foreach ($mediaFiles as $mediaFile) {
             $mimeType = $mediaFile->attribute("mime_type");
             list($prefix, $suffix) = split('[/]', $mimeType);
             //                $orig_dir = "var/storage/original/" . $prefix;
             $orig_dir = $storage_dir . '/original/' . $prefix;
             $fileName = $mediaFile->attribute("filename");
             if ($fileName == '') {
                 continue;
             }
             $file = eZClusterFileHandler::instance($orig_dir . "/" . $fileName);
             if ($file->exists()) {
                 $file->delete();
             }
         }
     } else {
         $count = 0;
         $currentBinaryFile = ezflowMedia::fetch($contentObjectAttributeID, $version);
         if ($currentBinaryFile != null) {
             $mimeType = $currentBinaryFile->attribute("mime_type");
             $currentFileName = $currentBinaryFile->attribute("filename");
             list($prefix, $suffix) = is_string($mimeType) && $mimeType ? split('[/]', $mimeType) : array(null, null);
             //              $orig_dir = "var/storage/original/" . $prefix;
             $orig_dir = $storage_dir . '/original/' . $prefix;
             foreach ($mediaFiles as $mediaFile) {
                 $fileName = $mediaFile->attribute("filename");
                 if ($currentFileName == $fileName) {
                     $count += 1;
                 }
             }
             if ($count == 1 && $currentFileName != '') {
                 $file = eZClusterFileHandler::instance($orig_dir . "/" . $currentFileName);
                 if ($file->exists()) {
                     $file->delete();
                 }
             }
         }
     }
     ezflowMedia::removeByID($contentObjectAttributeID, $version);
 }