How to make user accept license agreement before download

I use my WordPress site to host downloads, among other things. According to German law I need to make a user accept the license agreement prior to being able to download a program.

I am thinking of displaying the license agreement in a pop-up window similar to the way Codeplex does it (see this page and click on download). How can I accomplish this easily in WordPress?

Related posts

Leave a Reply

4 comments

  1. Not being able to find anything I finally went ahead and created the WordPress plugin Terms before download. From the plugin’s description:

    Terms Before Download adds a shortcode that can be used instead of
    HTML anchors to link to downloadable files. If such a link is clicked
    a popup dialog shows terms and conditions (EULA) which must be
    accepted for the download to start.

    The terms and conditions are read from a WordPress page. That way
    there is only a single place to maintain the terms and they can easily
    be displayed independently of the plugin.

    The plugin supports Google Analytics to keep track of the number of
    downloads.

  2. I also have encountered a similar problem and can’t find a specific plugin to solution the problem. Because of this, it’s going to have to be a custom solution sadly. Here are what I see as the potential solutions:
    (I use Download Monitor WordPress plugin to keep track of downloads and has a feature “Force Download” which hides the actual file URL AFAIK)

    • Enable “Member only file?” feature of plugin.
      • This is good for specific files as I can state to use a pre-generated Login/Password to agree to the EULA (with link) and download the file (the site doesn’t allow registration so it would be limited to what accounts I create. The problem is I don’t think this is a very user friendly way of controlling the EULA agreement process and confirms the EULA signoff properly if they just keep using the login credentials.
    • Implement client side javascript that hides the link until they signoff on the EULA (checkbox/etc) similar to the way Oracle’s website has to signoff on specific EULAs. Once they agree, the links are activated and they can click on them to download.
      • The main issue is that people could save the file URL (nd copy/paste in email/other site and just download the file afterwards without the proper EULA signoff.
    • Modify the plugin to check for a cookie field that is enabled from a EULA page that the user has to go through first.
      • Don’t prefer this feature as if the plugin gets updated, it might break the code.
    • I have the plugin to do a Custom download URL which redirects the http://somesite.com/download/filename.zip to the default /wp-content/plugins/download-monitor/download.php?id=1. I can do a pre-redirect to a EULA check PHP page/template to see IF it needs a EULA signoff to display the agreement and if agreed then push the file.

    This is the best way of handling it as it is customizable, doesn’t break the plugin, people can share the file URL safely and still have EULA signoff and should be fairly easy to implement. I haven’t completed the solution but I see no major issues (Assuming you are familiar in using the default plugin template as a guide to implementing the queries/check in the code.)

    Jason

  3. It looks like there is nothing to add the feature of a License Agreement page for downloads in particular. I am currently looking for the same functionality but am forced to sort of see if I can create a custom EULA page and once agreed to, have it coded in PHP to download the file.