Drupal 6 - "File Download" Node Module: "[login to view URL]"
============================================
I want a Drupal 6 module that wraps some CCK content types with additional functionality related to providing file downloads. Modules should use clean, well documented code. CCK fields, Taxonomy and Presets can be imported from a module file. All node fields should be available to Views.
To bid on this project, read the requirements carefully and PM me with a description of how you will build the module. Convince me that you understand my project.
Please bid only if you have excellent communication skills and substantial Drupal module development experience. This is not a project for learning module development. I want this project done in 2-3 weeks and with a minimum of hand-holding.
Milestones: I will release 1/3 on completion of a working beta (without paypal integration, demonstrate functionality on your own site if you wish). Then 1/3 on delivery of code with working Paypal integration, then final 1/3 after any requested changes and code cleanup are delivered (if I request such). If you document your code well and use drupal conventions (including making all display elements properly themeable) then the last third will be just a quick code review.
Project: Drupal 6 "download file" node module
====================================
Functionality:
-----------------
There are three types of file downloads that will be managed with this node module. 1) straight download - which just logs download count. 2) name-capture download - which requires an email address and sends the download link to the email address (verifying the email address so it can be added to a mailing list). 3) paid downloads - wherein a download link is provided only after successful return from PayPal payment page (download link is also emailed in this case.)
The download module is a standard node type which provides a body area, file upload (for download file) and image upload fields as well as a "download type" selector indicating which of the three types of download will be provided.
Inside the body text tokens will be replaced with information about the download file such as [dlfile-size], [dlfile-price], [dlfile-filename]. Most importantly, a [dlfile-download] token will be replaced with one of three download options: 1) a direct link, 2) a namecapture (email) form or 3) a purchase link. Using the inserted download link or forms will result in the following download workflow:
Download workflow for each download type:
-------------------------------------------------------
1. download only: Clicking the embedded "download" link will initiate a logged download without leaving the current screen. (All download links are logged).
2. name-capture: Submitting the "name-capture" (email address) form should not reload the page but rather just submit the embedded form with jQuery and replace the name-capture box with a message stating that "a download link has been emailed to you".
3. paid-download: Clicking the embedded "buy-now" link should re-direct the page to PayPal. On completion of PayPal payment, the user should be sent back to the same product page (with a # to the location of the buy-now link). On this visit, the [dlfile-download] token should be replaced with one of two messages. 1) If payment has cleared then the message should provide the download link as well as state that a link has been emailed. 2) Otherwise, a message stating that the download link will be emailed as soon as payment clears.
Note: the module's admin settings page should provide textareas for defining each default message, including the text of the download-link email (using appropriate tokens). The node's edit screen should also have textareas for overriding those default messages.