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); +