diff --git a/uc_file/uc_file.pages.inc b/uc_file/uc_file.pages.inc index 5b4a9f7..8319cbc 100644 --- a/uc_file/uc_file.pages.inc +++ b/uc_file/uc_file.pages.inc @@ -184,7 +184,7 @@ function uc_file_user_downloads($account) { * * @see _uc_file_download_validate() */ -function _uc_file_download($fid) { +function _uc_file_download($fid, $key) { global $user; // Error messages for various failed download states. @@ -207,6 +207,10 @@ function _uc_file_download($fid) { $file_download = uc_file_get_by_uid($user->uid, $fid); } + if($file_download === false) { + $file_download = uc_file_get_by_key($key); + } + if (isset($file_download->filename)) { $file_download->full_path = uc_file_qualify_file($file_download->filename); } diff --git a/uc_file/uc_file.tokens.inc b/uc_file/uc_file.tokens.inc index 1f88d10..d957ea1 100644 --- a/uc_file/uc_file.tokens.inc +++ b/uc_file/uc_file.tokens.inc @@ -65,7 +65,7 @@ function theme_uc_file_downloads_token($variables) { continue; } - $output .= l($file_download->filename, 'download/' . $file_download->fid, array('absolute' => TRUE)) . "\n"; + $output .= l($file_download->filename, 'download/' . $file_download->fid . '/' . $file_download->file_key, array('absolute' => TRUE)) . "\n"; } return $output;