diff -crB document-old/document.admin.inc document/document.admin.inc
*** document-old/document.admin.inc	2011-06-29 21:11:45.000000000 +0200
--- document/document.admin.inc	2011-11-02 14:32:44.000000000 +0100
***************
*** 2,8 ****
  
  require_once (drupal_get_path('module', 'document') . '/document.inc');
  
! function document_settings_form(&$form_state) {
    drupal_add_css(drupal_get_path('module', 'document') . '/document.css');
  
    drupal_add_js(drupal_get_path('module', 'document') . '/document.js');
--- 2,8 ----
  
  require_once (drupal_get_path('module', 'document') . '/document.inc');
  
! function document_settings_form($form_state) {
    drupal_add_css(drupal_get_path('module', 'document') . '/document.css');
  
    drupal_add_js(drupal_get_path('module', 'document') . '/document.js');
diff -crB document-old/document.module document/document.module
*** document-old/document.module	2011-06-29 21:11:45.000000000 +0200
--- document/document.module	2011-11-02 15:09:36.000000000 +0100
***************
*** 406,413 ****
   */
  function document_delete($node) {
    //$revisions = node_revision_list($node);
!   $results = db_query('SELECT * FROM {document} WHERE nid = %d', $node->nid);
!   while ($rev = db_fetch_object($results)) {
      _document_delete_revision($node->nid, $rev->vid);
    }
  }
--- 406,413 ----
   */
  function document_delete($node) {
    //$revisions = node_revision_list($node);
!   $results = db_query('SELECT * FROM {document} WHERE nid = :nid', array(':nid' => $node->nid));
!   foreach ($results as $rev) {
      _document_delete_revision($node->nid, $rev->vid);
    }
  }
***************
*** 590,608 ****
    // 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);
  }
  
  function _document_is_uploaded() {
--- 590,613 ----
    // 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;
      $path = $doc->filepath;
!     db_delete('file_managed')
!       ->condition('fid', $fid)
!       ->execute();
!     file_unmanaged_delete($path);
    }
!   db_delete('document')
!     ->condition('nid', $nid)
!     ->condition('vid', $vid)
!     ->execute();
  }
  
  function _document_is_uploaded() {
