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. Sheri says:

    Thanks for the plugin. I have been using it for about a week with success…no issues right from the get go.

    I just had one comment and that is with regard to the queries performed. I debug often and discovered that your script shot my db queries through the roof. I have modified the code to cache the results and delete the cache when a download occurs but that is just a quick fix until I have the time to get into the code.

    Just thought I’d mention it!

    Thanks again for the plug-in! Enjoying the stats :-)

    Comment made on March 7, 2007 at 2:32 pm

  2. Mike Jolley says:

    Hi, someone else mentioned my queries :( Im working on a solution, and some other add-ons. But if you find the problem/make optimisations please email me :)

    Comment made on March 7, 2007 at 5:23 pm

  3. Sheri says:

    Hi Mike. When I have a spare moment I’ll revisit the query issue! But for now I found an exclusion from the code that I think should be there, so I have included it into the wp_dlm_ins_button() function. Right now you have the download option dropdown on just the page-new and post screens but not the post-new. So I have changed this line of code:

    if( strpos($_SERVER['REQUEST_URI'], ‘post.php’)
    || strstr($_SERVER['PHP_SELF'], ‘page-new.php’))
    {

    to

    if( strpos($_SERVER['REQUEST_URI'], ‘post.php’)
    || strstr($_SERVER['PHP_SELF'], ‘page-new.php’)
    || strstr($_SERVER['PHP_SELF'], ‘post-new.php’) )
    {

    Now the list appears when I want to use it in a new post. :)

    Comment made on March 9, 2007 at 4:23 am

  4. Mike Jolley says:

    Say good bye to this post……… The new one is now being posted. New version everyone!!!!! :)

    Comment made on March 10, 2007 at 2:15 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!