Simple Download Monitor

Wordpress Plugin
Download latest - 3.9.9

Developers

mra13
pepak.net

Download Stats

Today 1,034
Yesterday 1,757
Last Week 4,105
All Time 327,933
Banner 772x250

I developed the Simple Download Monitor plugin because I needed a nice way to manage my digital downloads and monitor the number of downloads of my files and documents.

This plugin is very useful for managing and tracking your digital file download counts.

You can password protect your downloadable files and documents too (visitors will require a password before downloading the file when you use this option).

There is an option to show an ajax file tree browser so your visitors can browse all your files and download the ones they want.

You can configure downloadable files from your WordPress admin dashboard via an elegant user interface. Then allow your visitors to download the files and this plugin will monitor which files get downloaded how many times.

The plugin will log the IP addresses of the users who download your digital files and documents. It will also log the date and time of each download.

It has a very user-friendly interface for uploading, managing, monitoring and tracking file downloads.

https://www.youtube.com/watch?v=SjVaanbulRU

Simple Download Monitor Features

  • Add, edit and remove downloads from an easy to use interface.
  • Drag and drop file and document uploads.
  • Assign categories and tags to your downloadable files and documents.
  • Rich text editor for editing your download item description.
  • Use shortcodes to display a download now button on a WordPress post or page.
  • Show trackable download now buttons for your files anywhere on your site.
  • Shortcode to create a direct download link for a file. Useful for hotlinking.
  • Download counter for each file.
  • Ability to set a download count offset for each file.
  • Track IP addresses of the users who downloaded your files.
  • Track date and time of each file downloads.
  • Track the usernames of the users downloading the files.
  • Track the User Agent of the visitors downloading the files.
  • Track the Referrer URL to see which page the downloads are coming from.
  • Option to setup secure downloads for your files (the URL of the downloadable file will be hidden).
  • Option to upload a thumbnail image for each of your downloadable files.
  • Option to use a nice looking template to show your download now buttons.
  • Ability to search and sort your downloadable files in the admin dashboard.
  • Ability to create a search page and allow your visitors to search your downloads.
  • Track the number of downloads for each of your files.
  • Track the visitors country.
  • View the daily download counts of your items in a chart.
  • WordPress Shortcode for embedding a download link for a file.
  • Tinymce button in the WordPress post/page editor so you can easily add the shortcode.
  • You can customize the "Download Now" button text of an item to anything you want.
  • Ability to add the download now buttons to your sidebar widget.
  • Create password protected download now buttons. Users will only be able to download the file if they enter the correct password. View the tutorial
  • Shortcode to show the download counter of a file. Use it to show off your file download count.
  • Shortcode to show all the downloads from a particular category.
  • Shortcode to embed a file tree browser for your downloadable files. The file browser is ajax based and it shows the files structured by categories.
  • Ability to open the downloads in new browser window or tab. When your users click on a download button, it will open in a new window or tab.
  • Ability to show your downloads in a grid display. View the tutorial
  • Export all the file download logs to a CSV file.
  • Ability to reset the log entries.
  • Ability to trim the download log entries.
  • Shortcode to show a number of latest downloads to your visitors.
  • Shortcode to show a number of popular downloads to your visitors.
  • Ability to disable the download monitoring (logging) for certain items (or all items).
  • You can also choose to only monitor downloads from unique IP address only.
  • Option to specify file size info so it can be shown to your visitors. View the tutorial
  • Option to specify version number info for the download item so it can be shown to your visitors.
  • Option to show the download published date.
  • Option to restrict downloads to logged-in users only. View the tutorial
  • Option to ignore download count from bots.
  • Option to add Google reCAPTCHA to your download buttons.
  • Option to add Terms and Condtions to your download buttons.
  • Ability to easily clone/copy your existing download items.
  • Ability to insert Adsense or other Ad code inside the download item display.
  • Gutenberg block to insert download now buttons on a post or page.
  • The stats menu can show you the top downloads, downloads by date, country, browser etc.

View more details on the download monitor plugin page.

Language Translations

The following language translations are already available for the download monitor plugin:

  • English
  • German
  • Spanish
  • French
  • Italian
  • Russian
  • Dutch
  • Portuguese (Brasil)

Simple Download Monitor Plugin Usage

Once you have installed the plugin, go to "Downloads -> Settings" interface to configure some options

A) Configure Download Monitor basic settings

  • Admin Options: Remove Tinymce Button - Removes the SDM Downloads button from the WP content editor (default: unchecked).
  • Color Options: Download Button Color - Select a default color of the download button (default: green).

B) Add a new download

To configure a new download follow these steps:

  1. Go to "Downloads->Add New" interface in your WP admin
  2. Enter a title for your download
  3. Add a description for the download
  4. Select the file from your computer and upload it (or use an URL of the file)
  5. Select an image for the download (it will be displayed as a thumbnail on the front end)
  6. Publish it

You can view all of your existing downloads from the "Downloads->Downloads" interface.

C) Create a download button

Create a new post/page and click the "SDM Downlaods" TinyMCE button to insert a shortcode (This button will only show up if you haven't unchecked it in the settings). You can choose to display your download with a nice looking box or just a plain download link/button.

Example Shortcode Usage:

[sdm_download id="271" fancy="1"] (embed a download button inside a box with other information e.g. Thumbnail, Title and Description)

[sdm_download id="271" fancy="0"] (embed a plain download button/link for a file)

[sdm_download id="271" fancy="0" color="blue"] (embed a plain download button/link for a file with a blue color)

D) Download logs

You can check the download stats from the "Downloads->Logs" interface. It shows the number of downloads for each files, IP address of the user who downloaded it, date and time of the download.

** 3rd Party or External Libraries/Services **

The plugin uses the Google Charts library to show the download count charts in the admin interface (if you use the stats menu of the plugin). You can see more details about this library at the following URL: https://developers.google.com/chart/

** Detailed Usage Documentation **

View more usage instructions on the Download Monitor Plugin page.

** Github Repository **

https://github.com/Arsenal21/simple-download-monitor

If you need extra action hooks or filters for this plugin then let us know.


Releases (53 )

Version Release Date Change Log
3.9.9 2021-12-06
  • Nonce verification added to "Delete/Reset log entries" form.
  • Sanitization added to 'sdm_search_form' shortcode parameters.
  • Nonce verification added to remove thumbnail button.
3.9.7 2021-11-12
  • Added a new filter hook 'sdm_post_type_capability'. This hook can be used to apply a customization and override the default capability from 'administrator' to other roles.
  • The '%' symbol is now allowed in the download URL field.
  • Added current_user_can() checks to ajax calls.
3.9.5.1 2021-09-04
  • Updated the read permission of the download post type to fix the permalink of the item (shown below the title of the post when editing).
  • Changed the downloads menu permission from 'update_core' to 'manage_options' for better compatibility with WP Multi-Site install.
3.9.2 2021-07-29
  • The sorting option on the "Downloads" column has been removed.
  • Added a new filter that can be used to override the "slug" of the download single post. The name of the filter hook is "sdm_downloads_post_type_before_register".
  • Addressed an issue whereby the single post of the download can show a warning if the download button color is not set in the settings.
  • WordPress 5.8 compatibility.
3.8.7 2020-08-05
  • Added a new filter for the visitor name tracking.
  • Added two new bot strings that will be filtered out from the log (when using the "Do Not Count Downloads from Bots" option).
  • Updated the 'sdm_fancy1_below_download_description' filter hook to also pass the Download ID via additional params.
  • Updated the addon auto-updater library.
  • Added more sanitization to the "Logs" interface.
3.8.3 2020-04-11
  • Spanish translation file updated.
  • Better handling of the stats admin menu interface in mobile devices.
  • Addon updates are now handled by the main plugin.
3.8.2 2019-12-17
  • Added action hooks for password protected downloads (when a download request is submitted without a password or incorrect password).
  • Added the Norwegian language translation files. Thanks to Tore sterlie.
  • Regenerated the translation POT file.
  • Wordpress 5.3 compatibility.
3.7.9.1 2019-06-30
  • Improved the after login redirection feature so it is compatible with login via wp-login.php.
  • Added a new filter hook.
3.7.8 2019-06-26
  • Added a new option in the download configuration to disable the individual download page of an item. Can be useful if you only want to allow downloading of the item from where you embed it.
3.7.5 2019-05-23
  • Added an option to configure "after download redirect" in the hidden downloads addon.
3.7.4.2 2019-05-14
  • Fixed [sdm_popular_downloads] shortcode was ignoring button_text parameter for fancy 1 and fancy 2 templates.
3.7.2 2019-01-09
  • Bugfix: the new custom button text option did not work when used with the recaptcha feature.
3.7.0 2018-12-11
3.6.5 2018-07-23
  • Added a new feature to allow easy copying/cloning of your existing download item. Useful if you are trying to create a lot of similar downloads.
  • The list downloads from category can now accept multiple category slugs (or IDs).
  • The pagination arrow has been changed to use ยป
3.6.4 2018-06-27
  • Switched the column location of "Title" and "Image" in the downloads admin interface. This helps with the downloads admin interface working better in all devices.
  • Fixed a CSS class name in the "Image" column.
  • French langauge file updated.
3.6.3 2018-05-29
  • German translation file updated. Thanks to Thorsten.
  • When there are multiple download now buttons on a page and the terms checkbox is enabled, it needs to be accepted on every download button.
3.6.1 2018-05-03
  • Tweaked a newly added function's parameter to make it compatible with an older PHP version.
3.5.9 2018-04-25
  • Added a new option in the settings that allows you to disable capturing of visitor's IP address in the download logs menu. Helpful for GDPR
3.4.8 2017-11-16
  • Fixed an issue with the shortcode inserter interface showing the last 5 items only.
  • The "show_size" shortcode parameter will work correctly with the fancy template now.
3.4.6 2017-09-16
  • Added option to delete plugin's settings, data and tables from database.
  • Added "Login Page URL" option to optionally specify a login page URL when user is required to be logged in to download.
3.4.3 2017-08-10
  • The [sdm_search_form] can take the fancy template as a shortcode argument to display the search result using that template.
3.4.0 2017-05-21
  • Added a new hook to allow plugin extensions to hook into download request handling.
  • Added empty index file to the plugin folder.
  • Fixed potential XSS vulnerability. Thanks to Neven Biruski (Defensecode) for pointing it out.
  • Minor typo fix.
3.3.4 2016-09-25
  • Replace deprecated get_currentuserinfo() with wp_get_current_user()
  • Improve remote IP and location detection
  • Added a new shortcode to show a simple list of the download categories
  • Fix: avoid undefined variable notices in sdm_pop_cats_ajax_call()
3.3.2 2016-08-30
  • Added an option to specify the file size info when editing the item. Size info can be shown in the fancy display template using a shortcode parameter (show_size).
  • Added an option to specify the version number info when editing the item. Version info can be shown in the fancy display template using a shortcode parameter (show_version).
  • Added French language translation. Translation file submitted by Laurent Jaunaux.
  • The stats metabox in the download edit page will now appear before the shortcodes metabox.
  • Added more usage instructions in the download file upload section.
3.3.1 2016-07-10
  • Added a new feature to hide the download counts that is shown in some of the fancy templates. This new option can be found in the settings menu of the plugin.
  • Added delete confirm dialogue in the individual download logs delete option.
  • Simplified the settings menu page style.
  • Fixed multiple vulnerabilities (thanks to NCSC-NL).
3.2.8 2016-01-17
  • WordPress 4.4 compatibility.
3.2.5 2015-10-11
  • Modified the 'sdm_download_shortcode_output' filter to pass the arguments array also (allows greater customization option via this filter).
  • Added a new option to show X number of latest downloads from a specified category.
3.2.3 2015-07-17
  • Addressed some warning/notice messages that shows when debug is enabled.
3.0 2014-07-29
  • Added an option to specify a download count offset for each download. This will allow you to set a starting download count for each item.
  • Added a new parameter in the shortcode to allow customization of the button text. You can now customize the "Download Now" button text to anything you want from the shortcode.
  • Added a new parameter in the shortcode to allow opening the download in a new window or tab.
2.9 2014-07-25
  • Added visitor Country to database table; allowing tracking of each download visitors Country.
  • Visitor Country is also seen in the "Logs" page; can be sorted; and exported.
2.5 2014-03-12
  • Added a new feature to password protect a downloadable file.
  • Added a new shortcode to show the download count to your visitors.
2.2 2013-11-28
  • Fixed the plugin language translation issue. Now it can be translated to any language.
2.1 2013-11-05
  • Minor bug fixes with the stylesheet file URL.
2.0 2013-11-05
  • Complete new architecture for the download monitor plugin
  • You can download the old version with old architecture here: http://wordpress.org/plugins/simple-download-monitor/developers/

=

0.24 2013-10-17
  • Updated the examples (download-example.php, download-example-js.php) to be compatible with PHP 5.4.

  • Due to my (Pepak's) lack of time to work on this project anymore, I will be giving it to mra13 of "All In One WP Security & Firewall" who will be developing it further. This is the last version created by me. It has been good while it lasted, but now I have moved on and I don't want the plugin to die.

0.23 2012-09-04
  • Support for more detailed error messages which may help with setting up the plugin. The function is turned off by default, because it can be exploited to determine the existence or nonexistence of a given file.

  • There is a special option that allows you to setup your "files" directory outside of the WordPress tree. This is not recommended nor supported, if you want to use it, you are on your own - search the source code for basepath_modifier, understand it and then decide whether you want to use it.

0.22 2012-07-15
  • Matheus Bratfisch (http://matbra.com) suggested and implemented an intermediate download page. You can use this page to tell the user that his download is about to begin, instead of just sending the file directly. To do so, please enter the plugin's configuration, check the "Use the intermediate download page." checkbox and provide a file path (not a web path!) to the page's source code. An example page download-example.php is provided in the plugin's directory.

Note that if you are already used of Simple Download Monitor and want to use this functionality, you'll need to modify your .htaccess file (new users are not affected as they must have used the configuration listed in the documentation and that is the required one already): Change the line RewriteRule ^(files/.*) /index.php?sdmon=$1 [L] to read RewriteRule ^(files/.*) /index.php?sdmon=$1 [L,QSA] (that is, add ,QSA to the SDMon's rewrite rule's options). Then you can open the SDMon configuration and in the "Use an intermediate Download page" section enable the intermediate download page. A demo page is provided, but you can of course use a different one.

I'd like to thank Matheus Bratfisch (http://matbra.com) very much for first providing this functionality and then being patient and insistent enough for me to incorporate it.

0.21 2011-10-20
  • A fix for the "feature" of WordPress 3.1 which requires manual deactivation and reactivation of the plugin after upgrade (see http://core.trac.wordpress.org/ticket/14915).

  • Removed the old PHP4 version. It hasn't been updated a long time anyway.

0.20 2011-05-15
  • Important! You need to deactivate and reactivate the plugin after upgrade to version 0.19.
0.19 2011-05-15
  • Filenames are now returned quoted, which allows proper download of files with a space in their filenames. Thanks Sameh Farouk for the tip.

  • Possibility to limit the number of downloads per IP address and day. When the number is exceeded, the user gets an error message.

This functionality requires detailed logs to be turned on. Ignored users can always download as many files as they want.

  • Support for a sidebar widget showing top-10 (or top-anything) most downloaded files (either all files or those matching a given mask).

  • The user who has rights to delete statistics can now mark some downloads as hidden. This setting only affects the sidebar widget and is mostly intended to remove obsolete versions of files from the list while keeping the download statistics themselves.

0.18 2010-12-14
  • When Simple Download Monitor was used in conjunction with W3 Total Cache (and possibly others), a file just a few megabytes long could cause "Internal Server Errors". This is now fixed, along with any and all output buffering plugins.

  • Simple Download Monitor wasn't compatible with webhosters who provide the fileinfo extension in conjunction with PHP older than 5.3.

0.17 2010-11-06
  • Forgot to allow empty strings in "Inline files".
0.16 2010-11-06
  • Something went wrong with uploading to WordPress database.
0.15 2010-11-06
  • User rights required to access various parts of the plugin's interface are now configurable. This should satisfy the admins who don't want their users to view download stats.

  • More explicitly explained the "Inline files" setting and tightened it so that it must be at least three characters long to be valid.

  • Changed the captions of "delete" buttons to make it clear that only the statistics get deleted, not the actual files.

0.13 2010-07-10
  • Tested for compatibility with WordPress 3.0. Older versions work with it, too, but now it is "official".

  • Fixed date/time display to 24-hour format. Thanks Daniel for the report.

  • Test for path validity (directory and extension) is performed before logging the download request, not after. This means that requests for files which don't match the two regular expressions are logged as requests to nonexistent files, while previously they were logged ads successful downloads (even though they were not downloaded by the user who got an error 404 instead).

  • Cosmetic fix for the paginator: links to first/previous page are displayed on the left side of the table, links to next/last page on the right.

0.12 2010-03-28
  • Support for country-flagging of each download. This feature requires that my plugin Ip-to-Country ( http://wordpress.org/extend/plugins/ip-to-country/ ) is installed and set-up.

I am still undecided if it is better to assign countries when a download occurs or leave it until a list of downloads is displayed. I can see benefits and drawbacks for both solutions. At the moment the plugin leaves country-assignment until the list is displayed, but I am interested in hearing your thoughts about this decision.

This function is only supported with PHP5.

  • New setting for "ignored users". Downloads made by users whose names are listed (in pipe-separated list) in configuration will not be monitored. It is useful for admins who want to test that their download links work, but don't want to record their tests as "downloads".

  • Ability to ignore downloads if someone requests one file from one IP address several times within a short time interval. There is an option that let's admin specify how long this interval is (in seconds), and if multiple downloads of the same file from the same IP address happen within so many seconds of each other, only the first one gets recorded. This is useful for download accelerators which try to download one file in several pieces, with longer time intervals also for redownloads (e.g. download fails the first time so the user tries again).

0.11 2010-01-24
  • Automatic upgrade of the plugin fails because of the nested ZIP archives. As a result, PHP 4 version of the plugin was recompressed to 7Z ( http://www.7-zip.org ).
0.10 2010-01-24
  • Belorussian translation by FatCow ( http://www.fatcow.com )

  • PHP 4 version is also available (see the FAQ).

0.09 2010-01-10
  • Fixed incorrect header for file size. That should fix incompatibility with some plugins and downloaders.

  • Support for resumed transfers.

0.08 2009-11-29
  • Administrators can now delete download statistics from the Tools panel: A checkbox is shown next to each record, and a button for deleting checked records is provided at the bottom of the list. A button for deleting all records is also provided. This is true for both the global list and details list.

Note: This function is only allowed for users with a "delete_user" capability (by default, that means only Administrators).

0.07 2009-11-24
  • Simple Download Monitor now allows inline content, e.g. images and videos that display within pages rather than download as a file. By default, all files are set to download, but you can override this behavior for specific regular expressions in the configuration.

Note: Do not forget to add image extensions to Allowed Extensions - a file must be allowed to download before it can be "inlined".

0.06 2009-10-29
  • Fixed a bug on download display if no downloads were recorded.
0.05 2009-10-28
  • First intentional public release.