Index: monument_image.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/monument/monument_image.module,v retrieving revision 1.4 diff -u -p -r1.4 monument_image.module --- monument_image.module 21 Oct 2006 11:34:54 -0000 1.4 +++ monument_image.module 22 Oct 2006 17:36:11 -0000 @@ -186,7 +186,7 @@ function monument_image_nodeapi(&$node, // Delete is called whn the node is being deleted, it gives us a chance // to delete the rating too. case 'delete': - db_query('DELETE FROM {monument_image} WHERE nid = %d', $node->nid); + monument_image_delete(&$node); break; // Finally, we need to take care of displaying our extra image data when @@ -382,13 +382,28 @@ function monument_image_access($op, $nod * Implementation of hook_delete(). */ function monument_image_delete(&$node) { - db_query('DELETE FROM {monument_image} WHERE nid = %d', $node->nid); //Suspect the following is wrong and that we should be getting //the relevant modules to do the work via various hook_delete() functions. + //Perhaps can also use nodeapi case 'delete' for this instead of hook_delete //see comment_delete() for example - db_query('DELETE FROM {file_revisions} WHERE nid = %d', $node->nid); + + //Start: code lifted from upload.module's hook_delete + $files = array(); + $result = db_query('SELECT * FROM {files} WHERE nid = %d', $node->nid); + while ($file = db_fetch_object($result)) { + $files[$file->fid] = $file; + } + foreach ($files as $fid => $file) { + // Delete all file revision information associated with the node + db_query('DELETE FROM {file_revisions} WHERE fid = %d', $fid); + file_delete($file->filepath); + } + //End: code lifted from upload.module's hook_delete + db_query('DELETE FROM {node_comment_statistics} WHERE nid = %d', $node->nid); - db_query('DELETE FROM {node_revisions_table} WHERE nid = %d', $node->nid); + db_query('DELETE FROM {node_revisions} WHERE nid = %d', $node->nid); + db_query('DELETE FROM {monument_image} WHERE nid = %d', $node->nid); + var_dump($files); } /**