function _document_delete_revision in Document 8.x
Same name and namespace in other branches
- 6 document.module \_document_delete_revision()
- 7 document.module \_document_delete_revision()
2 calls to _document_delete_revision()
- document_delete in ./
document.module - Implementation of hook_delete().
- document_node_revision_delete in ./
document.module - Implementation of hook_nodeapi().
File
- ./
document.module, line 642
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 {file_managed} AS f
INNER JOIN {document} AS d ON f.fid = d.fid
WHERE d.nid = :nid
AND d.vid = :vid
AND d.fid <> 0
AND d.fid NOT IN (SELECT d2.fid FROM {document} d2 WHERE d2.nid = :nid AND d2.vid <> :vid)', array(
':nid' => $nid,
':vid' => $vid,
));
foreach ($result as $doc) {
$fid = $doc->fid;
file_delete($doc);
}
db_delete('document')
->condition('nid', $nid)
->condition('vid', $vid)
->execute();
}