You are here

function _document_delete_revision in Document 6

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