[MC] Downloads Manager

[MC] Downloads Manager [Paid] 1.2.3

No permission to buy ($55.00)
There is not a countdown option currently.

Rate limits are set for members and guests. There is a usergroup bypass permission for which groups can bypass the rate limit. I do not currently have a per user group rate limit option.

A basic statistics widget is included.

brave_screenshot_demo.madeby2d.com.webp

Currently, admins cannot see who downloaded a file, but that is coming in a future update.
 
Last edited:
Matt C. updated [MC] Downloads Manager with a new update entry:

1.1.0 Released

A new update has been released that adds new features, expanded API/webhooks, and many improvements and bug fixes.

New Features
  • Per-download criteria gates. Authors can now attach a criteria gate to an individual download, in addition to any gate set on its category. The two are evaluated together, with author and team member bypass. Admins get a per-gate "allow on downloads" toggle and can restrict which user groups may apply a gate.
  • Reaction gates...

Read the rest of this update entry...
 
I get this error when I try to publish a download:
  • InvalidArgumentException: Entity does not have an ID or does not have a simple key
  • src/XF/Service/Tag/ChangerService.php:63
#0 src/XF/Container.php(292): XF\Service\Tag\ChangerService->__construct(Object(XF\Pub\App), 'mc_dm_download', Object(MC\DownloadsManager\Entity\Download))
#1 src/XF/App.php(1967): XF\Container->createObject('XF\\Service\\Tag\\...', Array)
#2 src/XF/Container.php(250): XF\App->{closure:XF\App::initialize():1960}('XF\\Service\\Tag\\...', Array, Object(XF\Container))
#3 src/XF/App.php(3548): XF\Container->create('service', 'XF\\Service\\Tag\\...', Array)
#4 src/XF/Service/AbstractService.php(92): XF\App->service('XF\\Service\\Tag\\...', 'mc_dm_download', Object(MC\DownloadsManager\Entity\Download))
#5 src/addons/MC/DownloadsManager/Service/Download/Upload.php(284): XF\Service\AbstractService->service('XF\\Service\\Tag\\...', 'mc_dm_download', Object(MC\DownloadsManager\Entity\Download))
#6 src/addons/MC/DownloadsManager/Pub/Controller/Categories.php(194): MC\DownloadsManager\Service\Download\Upload->createDownload(Object(MC\DownloadsManager\Entity\Category), Array)
#7 src/XF/Mvc/Dispatcher.php(362): MC\DownloadsManager\Pub\Controller\Categories->actionAdd(Object(XF\Mvc\ParameterBag))
#8 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('MC\\DownloadsMan...', 'Add', Object(XF\Mvc\RouteMatch), Object(MC\DownloadsManager\Pub\Controller\Categories), NULL)
#9 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(MC\DownloadsManager\Pub\Controller\Categories), NULL)
#10 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#11 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#12 src/XF.php(814): XF\App->run()
#13 index.php(23): XF::runApp('XF\\Pub\\App')
#14 {main}
array(4) {
["url"] => string(44) "/downloads/categories/example-category.1/add"
["referrer"] => string(64) "https://xxxxxxxxxx.com/downloads/categories/example-category.1/add"
["_GET"] => array(0) {
}
["_POST"] => array(13) {
["_xfToken"] => string(8) "********"
["title"] => string(3) "Test"
["version_string"] => string(0) ""
["tag_line"] => string(0) ""
["tags"] => string(0) ""
["description_html"] => string(10) "<p>Test</p>"
["description_attachment_hash"] => string(32) "b00d654d65d9106e7b9a0bc6d034af7f"
["description_attachment_hash_combined"] => string(95) "{"type":"mc_dm_download","context":{"category_id":1},"hash":"b00d654d65d9106e7b9a0bc6d034af7f"}"
["attachment_hash"] => string(32) "1b00666f7b9b19cfa094c301e793fc0c"
["attachment_hash_combined"] => string(91) "{"type":"mc_dm_file","context":{"category_id":1},"hash":"1b00666f7b9b19cfa094c301e793fc0c"}"
["_xfResponseType"] => string(4) "json"
["_xfWithData"] => string(1) "1"
["_xfRequestUri"] => string(44) "/downloads/categories/example-category.1/add"
}
}
 
I get this error when I try to publish a download:

Sorry about that! I reuploaded 1.1.0 on my support site, please download and rebuild.

I had a small suggestion: Why not put the banner at the top of the index page (like in the image below)?

View attachment 338905

That's not a bad idea, adding cover images to the grid layout. I may have to add an option to require banners.
 
Last edited:
I get this error when I try to delete a criteria gates:
  • Error: Call to undefined method MC\DownloadsManager\Admin\Controller\CriteriaGate::db()
  • src/addons/MC/DownloadsManager/Admin/Controller/CriteriaGate.php:81
#0 src/XF/Mvc/Dispatcher.php(362): MC\DownloadsManager\Admin\Controller\CriteriaGate->actionDelete(Object(XF\Mvc\ParameterBag))
#1 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('MC\\DownloadsMan...', 'Delete', Object(XF\Mvc\RouteMatch), Object(MC\DownloadsManager\Admin\Controller\CriteriaGate), NULL)
#2 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(MC\DownloadsManager\Admin\Controller\CriteriaGate), NULL)
#3 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#4 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#5 src/XF.php(814): XF\App->run()
#6 admin.php(15): XF::runApp('XF\\Admin\\App')
#7 {main}
array(4) {
["url"] => string(40) "/admin.php?mc-dm/criteria-gates/1/delete"
["referrer"] => string(52) "https://xxxxxx.com/admin.php?mc-dm/criteria-gates/"
["_GET"] => array(1) {
["mc-dm/criteria-gates/1/delete"] => string(0) ""
}
["_POST"] => array(5) {
["_xfToken"] => string(8) "********"
["_xfRedirect"] => string(52) "https://hexenity.com/admin.php?mc-dm/criteria-gates/"
["_xfResponseType"] => string(4) "json"
["_xfWithData"] => string(1) "1"
["_xfRequestUri"] => string(32) "/admin.php?mc-dm/criteria-gates/"
}
}
 
I don't know if it's a bug, but when creating a download criterion, it displays a flashing message: "Your changes have been saved."

Here's how to reproduce it:

  • Create a criteria gate for a visitor.
  • Select a criteria.
  • Save.

When a guest tries to download, they will get a flashing message.
It's not a serious issue, but it's a little confusing.
 
I don't know if it's a bug, but when creating a download criterion, it displays a flashing message: "Your changes have been saved."

Here's how to reproduce it:

  • Create a criteria gate for a visitor.
  • Select a criteria.
  • Save.

When a guest tries to download, they will get a flashing message.
It's not a serious issue, but it's a little confusing.

I'm able to reproduce this on first try, can you create a ticket on my support site?
 
Matt C. updated [MC] Downloads Manager with a new update entry:

1.1.1

We have released a new version with one improvement and a few bug fixes:
  • New style property to expand collapsed changelog by default
  • Fixed an issue where the discussion_type was not being attached on changed threads, only automatically created threads
  • Comments API now reject hard-delete with 404 unless caller is super user or has appropriate permission
  • Fixed an issue where user could preview certain files on version view page without appropriate permission

Read the rest of this update entry...
 
Matt C. updated [MC] Downloads Manager with a new update entry:

1.1.2 Released

We have released a new version with new features, improvements and bug fixes!
  • We have a brand new layout option for the index: Card layout! This layout includes taller cards and features the download's cover! Requested by @ratix_gunz
    • Full element visibility options located in style properties
  • In addition to the card layout, we have also included a Global cover option, so ALL downloads can have a beautiful cover even if they didn't upload...

Read the rest of this update entry...
 
Isn't this XF resource manager with a different layout?
I find it better than a resource manager. Only the appearance is similar.
The features, options, moderation, and even the download administration are truly superior.

In my usage, this addon covers 100% of my needs, whereas XFRM is really limited to fast resources.
I see XFRM as an add-on for quickly downloading files or creating quick tutorials. As for Download Manager, I think it should be considered a tool whose primary purpose is downloading (even if it's not mandatory). Indeed, if downloading isn't the goal, XFRM is ideal.
 
Isn't this XF resource manager with a different layout?

On the surface, it looks like it. It actually has 3 index layouts, one of which is basically RM's layout.

But it has a many different integrated features that I've wanted for a long time. I've also included many features from this suggestion thread by Alpha1.


I urge you to look through the feature, screenshots and Documentation and see just how much you can do with this.

If you would like to play around with it, I can give you temporary access it via a private dev site with admin access.
 
Last edited:
Matt C. updated [MC] Downloads Manager with a new update entry:

1.2.0 Released

We have released a major new version with new features

Features

Virus scanning

  • Uploaded files can now be scanned for malware before they become downloadable
  • Supported engines
    • ClamAV (daemon)
    • VirusTotal
  • Files with detected threats are quarantined and require action before they become available or deleted
  • Scans run in the background so uploads are never blocked waiting on an engine
  • Configurable fail modes either hold the file for a moderator...

Read the rest of this update entry...
 
Matt C. updated [MC] Downloads Manager with a new update entry:

1.2.2 Released

We have released a new version focused on performance and stability along with a few changes.

Important change that will affect every add-on:

All of our add-ons are now using Core Library in order to maintain shared helpers and utilities across add-ons for easier maintenance and to keep add-ons cleaner. Core Library also covers our branding for all add-ons in one switch without having to turn it off in every add-on.

This update will require Core Library 1.0.1.

Changes...

Read the rest of this update entry...
 
Matt C. updated [MC] Downloads Manager with a new update entry:

1.2.3 Released

We have released a new maintenance update focusing on stability. This update requires Core Library 1.0.3.

Changes
  • The admin audit log now uses the shared audit log from Core Library, so it looks and works the same as the audit logs in other add-ons.
  • Filters live in a Filters menu, and each active filter shows as a chip you can remove on its own.
  • Filter by actor using their username. Entries by deleted users can still be filtered.
  • Filter by content type, content...

Read the rest of this update entry...
 
Last edited:
Back
Top Bottom