Wordpress Download Monitor Plugin

January 12, 2007 | Published in: Wordpress & plugins | Tags: , , , 29

Wordpress Download Monitor PluginWhilst posting bits and bobs on my blog, I’ve never had a consistent way of linking to files and recording download hits.

Therefore, I have created the ‘Wordpress Download monitor plugin, to handle uploading, links, and to monitor download hits.

There is a newer version of this plugin, view its page here!

Wordpress Download Monitor Plugin v1.0 Build 20070112

By Mike Jolley ( http://www.blue-anvil.com )

Index

What is it?

The whole idea to this plugin is to keep your website downloads organised, and provide means to monitor the amount of downloads a file has, along with an easy method of linking to those files using its own tags.


On installation, this plugin only uses 1 database table to store download information, uploaded downloads are stored in their own directory. Don’t want to upload? You can add links to existing downloads, and track them, also.

By adding a simple tag to a wordpress page you can show the link, with or without hits displayed.

Basic Documentation is shown in your wordpress control panel too, under Manage > Downloads.

I’d like to thank Mike Cherim at http://green-beast.com/ for part of this script and the idea.

Features

Featured include:

  • Admin page for uploading/linking to downloads, and specifying information (title and version).
  • Records download hits.
  • Template tags for showing popular, recent, and random downloads in your web site’s sidebar.
  • Post tags for outputting download links e.g [Download id not defined]
  • Drop-down menu in non-rich text wordpress editor for adding links.

Files In the zip

The following files are provided with the download:

  • wp-downloadMonitor/user_uploads — Directory for uploads. Must have 777 permissions (via CHMOD)
  • wp-downloadMonitor/index.php — Prevents snoops looking at the files…
  • wp-downloadMonitor/wp-downloadMonitor.php — Main plugin file
  • wp-downloadMonitor/download.php — Links to your downloads, recording the hit.
  • wp-downloadMonitor/css/wp-downloadMonitor.css — Admin interface styling.

Plugin History

  • 12th Jan 2007V1.0WP B20070112 -
    1. First release
    2. No issues known.

So, what are you waiting for? Download it now!

| Index |

Get it now!

Download the Download Monitor Plugin - version 1.0 - Jan 2007

Downloaded a total of 68260 times

| Index |


Installation Instructions

Installation is fast and easy. The following steps will guide get you started:

  1. Unpack the *.zip file and extract the /wp-downloadMonitor/ folder and the files.
  2. Using an FTP program, upload the /wp-downloadMonitor/ folder to your WordPress plugins
    directory (Example: /wp-content/plugins).
  3. In the directory, /wp-downloadMonitor/, using FTP or your server admin panel,
    change the permission of the user_uploads directory to 777, or you will not be able to upload files.
  4. Open your WordPress Admin panel and go to the Plugins page (link on the
    top menu). Locate the “Wordpress Download Monitor” plugin and
    click on the “Activate” link.
  5. Once activated, go to the Manage > Downloads.
  6. That’s it, you’re done. You can now add downloads.

| Index |

Tags

To show download links, use the following tags:

  1. Link/hits[Download id not defined] Output example: <a href="download.php?id=1" title="Version 1 downloaded 10 times">Download title (10)</a>
  2. Link w/o hits[Download id not defined] Output example: <a href="download.php?id=1" title="Version 1 downloaded 10 times">Download title</a>
  3. URL only[Download id not defined] Output example: download.php?id=1
  4. Hits only[Download id not defined] Output example: 10

There are a few other template tags to use in your wordpress templates. Replace ‘$no’ with the amount of downloads to show.

  1. Most downloaded<?php wp_dlm_show_downloads(1,$no); ?>
  2. Most recent<?php wp_dlm_show_downloads(2,$no); ?>
  3. Random<?php wp_dlm_show_downloads(3,$no); ?>

Licence

Wordpress Download Monitor Plugin v1.0WP © Copyright 2007-current. All rights reserved.
Mike Jolley

You are free to use this application but may not redistribute it without written permission.
Use of this application will be at your own risk. No guarantees or warranties are made directly or implied.
The creators cannot and will not be liable or held accountable for damages, direct or consequential.

| Index |

Support my sweat, blood and tears

I know, that sounds gross, but we really did put ALOT of effort in to this plugin. If you like this plugin, or it has benefited you, please make a donation via paypal! Any amounts are welcome, your support is much appreciated.

| Index |

Found this post useful? Why not buy me a coffee!

Related Entries

29 Responses to “Wordpress Download Monitor Plugin”

RSS feed for comments on this post.

  1. Mike Cherim says:

    Hey cool man. Does this use that script I gave you for recording download hits in a log file? (Though it probably records to a DB table now, right?) If so, nice, glad you made it into a plugin… it’ll make it easier to use.

    Comment made on February 12, 2007 at 10:04 am

  2. Mike J says:

    I used 1 line from your script, the header() line, because I never knew it existed until i saw yours :)

    Comment made on February 12, 2007 at 10:04 am

  3. Anthony Brewitt says:

    Nice Plugin, I just need something to let peeps download!

    Comment made on February 12, 2007 at 10:06 am

  4. Tim Wheatley says:

    Thanks very much. Best download plugin I found after a long while searching!

    Comment made on February 12, 2007 at 10:06 am

  5. Chero07 says:

    Nice Plugin, but I´m wondering if there is some “php” line or command to show all the downloads in one page of my blog?

    Comment made on February 12, 2007 at 10:09 am

  6. Anthony Brewitt says:

    Just checked out the plugin for the second time and I must say its great!

    Comment made on February 12, 2007 at 10:10 am

  7. Mike J says:

    There is no way to show all downloads on a page, yet, this may be implemented in the future.

    Comment made on February 12, 2007 at 10:11 am

  8. Adam S says:

    For whatever reason, when I try to add a file, i get the following error:

    Warning: move_uploaded_file(../wp-content/plugins/wp-downloadMonitor/user_uploads/raidquote.doc) [function.move-uploaded-file]: failed to open stream: No such file or directory in /path/to/wordpress/wp-content/plugins/wp-downloadMonitor/wp-downloadMonitor.php on line 313

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘/tmp/phpgulL6I’ to ‘../wp-content/plugins/wp-downloadMonitor/user_uploads/raidquote.doc’ in /path/to/wordpress/wp-content/plugins/wp-downloadMonitor/wp-downloadMonitor.php on line 313

    I made the change to the users_upload directory.

    Any ideas?

    Comment made on February 13, 2007 at 11:21 pm

  9. Mike Jolley says:

    Hi Im not really sure about this, I did a quick google search and some people have problems with this due to their host.

    Any a quick idea, open up wp-downloadmontior.php in a text editor and look for the line
    $destination = '../wp-content/plugins/wp-downloadMonitor/user_uploads/';
    Try replacing that with:
    $destination = get_bloginfo('wpurl').'/wp-content/plugins/wp-downloadMonitor/user_uploads/';
    Which should with any luck, make the taget directory more accurate.

    This is just a guess mind you. If that fails tell me your host and wordpress version please.

    Comment made on February 13, 2007 at 11:37 pm

  10. Mike Jolley says:

    also try (another guess):
    $destination = $_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/wp-downloadMonitor/user_uploads/';

    Comment made on February 13, 2007 at 11:40 pm

  11. Adam S says:

    I have my own host, and the wordpress version is 2.1.

    Ok, I figured out the issue. Whenever I unzipped the plugin, I do so into my wp-content/plugins folder. It created wp-downloadMonitor folder which contained another wp-downloadMonitor folder and the wp-downloadMonitor.php file. Your code is wanting to to upload the file to “wp-content/plugins/wp-downloadMontior/user_uploads” when the file structure is “wp-content/plugins/wp-downloadMonitor/wp-downloadMonitor/user_uploads”.

    Not sure if I did something wrong or if it is a bug, but chaning that fixed my issues.

    Comment made on February 14, 2007 at 3:11 am

  12. Adam S says:

    actually, if you just move the wp-downloadMonitor.php file into the other directory and move that directory down one level it will work flawlessly.

    Another question for you, is there a way to get this plugin to have the image download button like you have on this site, just above?

    Comment made on February 14, 2007 at 3:16 am

  13. Mike Jolley says:

    Great to see it working.

    The image? What ive done is just used an image surrounded by an anchor with the link using the download url tag so something like:

    <a href="[download#id#url]"><img src="image" /></a>

    Hope that helps

    Comment made on February 14, 2007 at 8:01 am

  14. Adam S says:

    Thanks for your help Mike. The image that you are using above, is that copyrighted or under any license? I would like to modify it and use it if you don’t mind.

    Comment made on February 14, 2007 at 5:34 pm

  15. Mike Jolley says:

    go ahead i dont mind. a link back would be nice though ;)

    Comment made on February 14, 2007 at 7:43 pm

  16. DibS says:

    I had the same problem Mike had. Seems to be in the way your archive is structured. I did exactly what he did, and I still can’t upload. It just seems to hang. Any thoughts?

    Comment made on February 16, 2007 at 5:14 am

  17. Mike Jolley says:

    the structure should be wp-content/plugins/wp-download-monitor/

    Then inside that folder, CHMOD the upload_files directory to 755 or 777.

    Do you get an error message or anything?

    Comment made on February 16, 2007 at 9:53 am

  18. Chero07 says:

    So, do we have any idea of how to insert donwloads in one page automaticaly?

    Comment made on February 20, 2007 at 3:40 pm

  19. Mike Jolley says:

    No, this plugin is not for that. ALthough if your feeling adverturous you could always use a mysql query to get the downloads…

    Comment made on February 20, 2007 at 3:50 pm

  20. Alfredo says:

    This is a really neat piece of plugin! Does this include image downloaded from my pages? thanks!

    Comment made on February 21, 2007 at 1:05 pm

  21. Mike Jolley says:

    “Does this include image downloaded from my pages?” – Do you mean can you allow images to be downloaded? If so I don’t see why not.

    Comment made on February 21, 2007 at 2:19 pm

  22. Steve Weintraub says:

    GREAT plugin! I’ve dropped you an email, as my questions require more space than would be fair here.

    Comment made on February 21, 2007 at 10:24 pm

  23. Dave Forde says:

    Looks like a great plugin, I managed to get it to upload a file and used “Download title” but when I went to view that post I got a 404 error.

    What is the right code that I’d use to have a link to a file and not publically show any stats, and just the link oto the file.

    Comment made on March 3, 2007 at 9:44 pm

  24. David says:

    This looks really handy and I can view my post correctly but I get a 404 error when I try and download the uploaded file itself. The upload folder permissions are correct. Any ideas what I can do to fix this?

    Comment made on March 5, 2007 at 9:44 am

  25. Mike Jolley says:

    Can you show me the link to the file it is producing? It may be the wrong path.

    Comment made on March 5, 2007 at 11:23 am

The comments are closed.

About this site

Blue Anvil is the online web design journal & portfolio of , a web designer from Norfolk, England. Read More »
ThemeSlice
  • Featured work - More

    • Beefjack
    • Integrity
    • theotaku.com
  • Latest Tweet - More

    • Would be nice is people showed more love for MiniCard by rating it on wordpress.org http://wordpress.org/extend/themes/minicard
  • Out of the blue - More

    • MiniCard 1.1.7 Update

      I have just uploaded 1.1.7 of MiniCard here and to the WordPress theme directory. This updates includes:

      • New networks; xing, gowalla, yelp, foursquare, mobileme, google buzz
      • A way to change link text and define multiple links of the same network
      • A way to define your own custom links + icons
      • Improved admin panel

      Hope you like it, and don’t forget you can show your support by purchasing the premium pack from here.

    • Switched: From Shared to VPS

      It’s been about two weeks now since I made the transition from a shared reseller hosting account to a VPS (Virtual Private Server) account – impressions so far, excellent performance but fiddly to configure.

      The reason I wanted to change from shared hosting was the fact the server was always being hacked (even though ALL my scripts were secure), there was frequent downtime, support blamed me for problems every time, and it was slow as hell.

      Those used to a shared hosting environment would probably not know where to start when faced with configuring a VPS. Luckily, a lot of it was pre-configured when I received my account – certainly some of the major security holes were patched. I was not satisfied with those however. As a victim of hacking in the past (previous host swears it was not there fault, something I don’t believe) I took extra care to secure it as a much I could – configuring brute force detection, the firewall, installing mod security (excellent rules for that here: http://www.atomicorp.com/wiki/index.php/Atomic_ModSecurity_Rules) and going though multiple guides (like this one: http://www.webhostingtalk.com/showthread.php?t=468168) with a fine-tooth comb.

      The result? My pages are loading at least 6 times faster, I have had no down time (or at least have not noticed any), and I feel in control and happy. No longer am I at the mercy of shared hosts :)

      If your interested, I chose ServInt as my provider as they offered a great deal, as well as being a managed service (so I’m not on my own if I screw things up). I was tempted by the bells and whistles of Media Temple, but felt the ServInt service was better value.

    • Download Monitor 3.2.2 Maintenance Release

      Download Monitor has received some more love and has been updated. Here’s the change log from the new version:

      • Small bugfix in uploader.php – cat ID
      • Changed stats graph calculation – thanks lggemini
      • Changes to headers in download.php to avoid caching
      • File Browser fixes – $root was clashing with something….
      • exclude_cat works in all sections of download_page now
      • Removed hardcoding of /uploads/
      • Added action to download.php – should be able to use it to stop a download if you want – maybe limiting downloads per day or something? Whatever you want…
      • Made it so if you post new file on ‘edit’ screen, the post date is updated.
      • Fixed the ‘blank meta’ section which blanks out custom field values when nothing is set.
      • Moved ‘allow_url_fopen’ check.
      • Someone said downloads don’t work with spaces in the name. They do! Wasting my time sonny…
      • All work and no play make jolley a dull boy
      • Had to rename capabilities so they work. Apologies if you have to set this up again! Cheers to Mark Dingemanse.
      • {category_ID} custom format tag added. Useful if you want to send someone to its category on the DL page I guess. Also added {category_other} so when no category is set “other” is shown – this is because the download page can show an ‘other’ section if you want it to.
      • You can now manually edit the post date on the edit download screen.

      If you have edited capabilities for download monitor user permissions, you’ll have to again sorry! This is because I named them too long. Also, you should check your forced downloads still work because there was a logic error meaning they may not have been forced after-all…

      Enjoy.

    • Mahousive update to Download Monitor (3.2)

      Today I completed the update for the Wordpress Download Monitor Plugin – many tweaks, fixes, and features added. There were no changes to the database structure so people upgrading should be fine. Here is the list from the change log:

      • {user} tag added for custom formats
      • ‘autop’ option fix
      • Download page buttons applied with CSS so they are easier to customise/translate.
      • Fix for pagination bug after editing a download
      • Category output fix on edit downloads screen
      • Category urls on download page use ID rather than name to prevent errors when cats have the same names.
      • exclude_cat added to download_page shortcode
      • Localised ‘hits’ ‘date’ ‘title’ on download page
      • Option to disable the download logging
      • Read file ‘chunked’ some people found large files were corrupted so this should help (fingers crossed)
      • Added show_tags option to download page – displays x amount of tags on the download page.
      • File Browser root setting and download.php logic/mime types modified thanks to Jim Isaacs (jidd.jimisaacs.com)
      • Interface Improvements
      • Bulk edit categories, custom fields, tags, member only downloads
      • Added roles for download monitor admin – should be able to use with a role manager plugin if you want anyone other than admin to access the admin section e.g. http://wordpress.org/extend/plugins/capsman/
      • Change redirect after add
      • Edit Cat names/parents
      • Dedicated tags and thumbnails fields (they still use meta table though)

      And yes, those category link bugs are fixed at long last, and you can edit category names finally. Phew!