Index: upload.module =================================================================== RCS file: /cvs/drupal/drupal/modules/upload.module,v retrieving revision 1.29 diff -u -r1.29 upload.module --- upload.module 18 Mar 2005 08:05:47 -0000 1.29 +++ upload.module 23 Mar 2005 06:42:54 -0000 @@ -144,6 +144,7 @@ if (is_array($node->list)) { foreach ($node->list as $key => $value) { if ($file = file_check_upload($key)) { + module_invoke_all('fileapi', 'validate', $file); $node->files[$file->source] = $file; $node->files[$key]->list = $node->list[$key]; $node->files[$key]->remove = $node->remove[$key]; @@ -155,6 +156,7 @@ } else { foreach ($node->files as $key => $file) { + module_invoke_all('fileapi', 'validate', $file); $node->list[$key] = $file->list; } } @@ -223,6 +225,7 @@ $node->files[$key] = $file; } } + break; case 'form post': @@ -334,8 +337,10 @@ // Insert new files: if ($file = file_save_upload($file, $file->filename)) { $fid = db_next_id('{files}_fid'); + $file->fid = $fid; db_query("INSERT INTO {files} (fid, nid, filename, filepath, filemime, filesize, list) VALUES (%d, %d, '%s', '%s', '%s', %d, %d)", $fid, $node->nid, $file->filename, $file->filepath, $file->filemime, $file->filesize, $node->list[$key]); + module_invoke_all('fileapi', 'insert', $file); } } else { @@ -343,9 +348,11 @@ if ($node->remove[$key]) { file_delete($file->filepath); db_query("DELETE FROM {files} WHERE fid = %d", $key); + module_invoke_all('fileapi', 'delete', $file); } if ($file->list != $node->list[$key]) { db_query("UPDATE {files} SET list = %d WHERE fid = %d", $node->list[$key], $key); + module_invoke_all('fileapi', 'update', $file); } } } @@ -358,6 +365,7 @@ file_delete($file->filepath); } db_query("DELETE FROM {files} WHERE nid = %d", $node->nid); + module_invoke_all('fileapi', 'delete', $file); } function upload_form($node) { @@ -393,6 +401,7 @@ $result = db_query("SELECT * FROM {files} WHERE nid = %d", $node->nid); while ($file = db_fetch_object($result)) { $files[$file->fid] = $file; + module_invoke_all('fileapi', 'load', $file); } }