Same name and namespace in other branches
  1. 4.7.x modules/upload.module \upload_delete_revision()
  2. 5.x modules/upload/upload.module \upload_delete_revision()

File

modules/upload/upload.module, line 447
File-handling and attaching files to nodes.

Code

function upload_delete_revision($node) {
  if (is_array($node->files)) {
    foreach ($node->files as $file) {

      // Check if the file will be used after this revision is deleted
      $count = db_result(db_query('SELECT COUNT(fid) FROM {upload} WHERE fid = %d', $file->fid));

      // if the file won't be used, delete it
      if ($count < 2) {
        db_query('DELETE FROM {files} WHERE fid = %d', $file->fid);
        file_delete($file->filepath);
      }
    }
  }

  // delete the revision
  db_query('DELETE FROM {upload} WHERE vid = %d', $node->vid);
}