function _document_delete_revision in Document 6
Same name and namespace in other branches
- 7 document.module \_document_delete_revision()
- 8.x document.module \_document_delete_revision()
2 calls to _document_delete_revision()
- document_delete in ./
document.module - Implementation of hook_delete().
- document_nodeapi in ./
document.module - Implementation of hook_nodeapi().
File
- ./
document.module, line 553
Code
function _document_delete_revision($nid, $vid) {
// Notice that we're matching a single revision based on the node's vid.
//For external url documents, there would be no file.
$result = db_query('SELECT *
FROM {files} AS f
INNER JOIN {document} AS d ON f.fid = d.fid
WHERE d.nid = %d
AND d.vid = %d
AND d.fid <> 0
AND d.fid NOT IN (SELECT d2.fid FROM {document} d2 WHERE d2.nid = %d AND d2.vid <> %d)', $nid, $vid, $nid, $vid);
if ($doc = db_fetch_object($result)) {
$fid = $doc->fid;
$path = $doc->filepath;
db_query('DELETE FROM {files} WHERE fid = %d', $fid);
file_delete($path);
}
db_query('DELETE FROM {document} WHERE nid = %d AND vid = %d', $nid, $vid);
}