You are here

function _document_delete_revision in Document 8.x

Same name and namespace in other branches
  1. 6 document.module \_document_delete_revision()
  2. 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();
}