This is a long post, but as its mostly theme, backend and a open source plugin hacking I doubt it would take more than 4-5 hours in total. If anyone is looking for some freelance work that could do the following…
What needs to happen on the site.
A user submits content from the front end which fills in all the fields on a custom post type and submits its for review where it is either published or deleted by support staff.
80-90% of this is already setup, however the custom post type as built by the original theme dev currently uses a meta box for its fields rather than custom forms. Custom forms needs to be enabled on the custom post type and the custom forms need to be viewable by gravity forms - and then finally displayed in the same place on the themes template as the original meta boxes are.
More complex - one of these fields will be a download link. A number of things need to happen with this field. It needs to appear as a button (buttons are already programmed into the theme) on the resulting post - however the direct link needs to be completely hidden to prevent hot linking and sharing. The download link must NOT be viewable in the source, nor by right clicking the button or hovering over it - the only action the user can take is to click on the button to download the file.
I am already achieving this here http://www.mixtapesforfree.com/test-2
However its with a bulky ecommerce plugin (WP eStore) and seems OTT for just one feature - also I'm not sure its possible to write to its database directly from a php script (maybe it is if you really know what you're doing? - but this is a vital part) - if it is possible I don't mind keeping this plugin active at all, if its not then again, perhaps a striped down version is useful.
What it appears to do is create a database entry for each download link. Encrypt that download link with randomly generated php link (here is an example of a URL http://www.mixtapesforfree.com/wp-content/plugins/wp-cart-for-digital-products/download.php?file=%2FCAvUdIa6pLNqzih) which only works once, if you try to use that link again it says the download has expired (and its quite hard to hold of the link anyway as its not displayed anywhere on the page…I had to get it from Chrome's download manager) - the page itself then creates a button from a form code, so there is no visible link anywhere on the page to copy and paste, you have to submit the "form" to generate a unique download link for each session. This makes it impossible for anyone to hotlink at all. There maybe another plugin that does this which you can combine with a form submission button. But the plugin needs to be able to create these links and be writable to its database from our custom form submission.
Further to this when the post is published this custom field needs to send its data off for processing through an external php script, first it needs to go to our YOURLS installation to become a short URL (where the URL will go through a DMR plugin which also needs writing) the resulting short URL then needs sending to an affiliate gateway script (the script is already written) this script will turn the link into an affiliate gateway link. It then needs to return the resulting URL and pre-populate a new custom field with the result. Further to this - the field with the affiliate gateway link download button needs to be display ONLY to users who are not logged in (and thus not members of the site) and the direct link to the file should be viewable only to members of the site who are logged in - of course the direct link needs to be hidden in the download button as mentioned above so its not hot linkable. The affiliate gateway download should be displayed in the same style button, but isn't important to be hidden as they'd only be linking to the affiliate gateway anyway.
A fair few pieces need linking together there, but I think they're all more or less fairly straight forward if you know how to work with processing PHP and linking the backend together with various plugin hooks and calls. A lot/most of the pieces are already written and they just need linking together. Its pretty much hacking the theme and some of the plugins.
Other Little parts.
Need to write a DMR (Double Meta Refresh) plugin for YOURLS. I doubt this would take more than 10 minutes, I have the DMR files on the server already, but no one has a plugin for YOURLs which does it. The YOURLS installation is up and running and ready to go so it just needs the plugin writing and adding and then the API can be linked into as mentioned above.
If you think writing the custom form from scratch would be more beneficial than using Gravity Forms I don't mind this - I know then we could specify more advanced options such as maximum file sizes on uploads, maximum character amounts in each field etc which strangely Gravity Forms currently doesn't do.
There is a plugin installed which shows you top rated posts. However it only outputs these results as a sidebar widget. Id like to create a page (the template is already in place) which displays all the posts in a grid. If you take a look at http://www.mixtapesforfree.com/mixtapes/va-love-this-life/ at the bottom you can see "related items". Ive created a full width page using the related items code - but it now needs to pull the data that the sidebar widget does for top rated posts to create the top 20 rated posts in this format. To go even further from this id ideally like to create another block underneath in the same style for the top 20 most viewed mixtapes, using a plugin which counts views (again there are many).
If anyones up for the challenge :-D