Index: release/project-release-private-download.php
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project-release-private-download.php,v
retrieving revision 1.1
diff -u -p -r1.1 project-release-private-download.php
--- release/project-release-private-download.php	1 Aug 2009 18:56:23 -0000	1.1
+++ release/project-release-private-download.php	1 Aug 2009 19:27:37 -0000
@@ -141,8 +141,8 @@ if (!is_file($full_path)) {
 // something.  Even if they managed to find a file that actually exists that
 // way, it's not going to match a valid release node.  So they're going to get
 // a 403, not the file they're trying to steal.
-$release = db_fetch_object(db_query(db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {project_release_file} prf ON n.nid = prf.nid INNER JOIN {files} f ON prf.fid = f.fid WHERE n.status = 1 AND f.filepath = '%s'"), $path));
-if (empty($release)) {
+$nid = db_result(db_query(db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {project_release_file} prf ON n.nid = prf.nid INNER JOIN {files} f ON prf.fid = f.fid WHERE n.status = 1 AND f.filepath = '%s'"), $path));
+if (empty($nid)) {
   drupal_access_denied();
   exit(1);
 }
@@ -169,3 +169,7 @@ else {
   readfile($full_path);
 }
 
+// If we got this far, invoke our hook to let modules know this happened.
+global $user;
+module_invoke_all('project_release_download', $nid, $path, $user->uid);
+
