[DBTech] DragonByte eCommerce

[DBTech] DragonByte eCommerce [Paid] 5.4.2

No permission to buy (€29.95)
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.1.1

Update highlights​

This version improves performance when guest orders are enabled, and (finally) fixes a long-standing issue preventing recurring sales from resetting correctly.


Complete Change Log​

Change: Improve performance for fetching guest orders
Fix: Fix potential server errors when fetching the cart item counter for guest users
Fix: The "Recurring" configuration would be lost when creating or saving sales
Fix: Fix...

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.1.2

Update highlights​

This version fixes a few issues reported by the community, including a critical fix preventing Classifieds orders from being taken due to incorrect payment profile references.


Complete Change Log​

Fix: Fix server error preventing a fresh install from completing
Fix: Fix "Retry payment" being an option for orders not yet awaiting payment
Fix: Fix checkout screen not working correctly for Classifieds orders

Read the rest of this update entry...
 
Hello,

With the latest update, I get this error when I try to add a download:

  • TypeError: DBTech\eCommerce\Download\AbstractHandler::isUsableInProduct(): Argument #1 ($product) must be of type DBTech\eCommerce\Entity\Product, null given, called in /home/xxxxxxxxxxx/www/src/addons/DBTech/eCommerce/Admin/Controller/DownloadController.php on line 278
  • src/addons/DBTech/eCommerce/Download/AbstractHandler.php:65
#0 src/addons/DBTech/eCommerce/Admin/Controller/DownloadController.php(278): DBTech\eCommerce\Download\AbstractHandler->isUsableInProduct(NULL)
#1 src/XF/Mvc/Dispatcher.php(362): DBTech\eCommerce\Admin\Controller\DownloadController->actionAdd(Object(XF\Mvc\ParameterBag))
#2 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('DBTech\\eCommerc...', 'Add', Object(XF\Mvc\RouteMatch), Object(DBTech\eCommerce\Admin\Controller\DownloadController), NULL)
#3 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(DBTech\eCommerce\Admin\Controller\DownloadController), NULL)
#4 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#5 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#6 src/XF.php(806): XF\App->run()
#7 admin.php(15): XF::runApp('XF\\Admin\\App')
#8 {main}
array(4) {
["url"] => string(192) "/admin.php?dbtech-ecommerce/downloads/add&_xfResponseType=json&_xfWithData=1&_xfRequestUri=%2Fadmin.php%3Fdbtech-ecommerce%2Fdownloads%2F&_xfToken=1765926145%2Cbe6108f50b93e70e175fdf434e2a4c5d"
["referrer"] => string(58) "https://xxxxxxxxxxxx.com/admin.php?dbtech-ecommerce/downloads/"
["_GET"] => array(5) {
["dbtech-ecommerce/downloads/add"] => string(0) ""
["_xfResponseType"] => string(4) "json"
["_xfWithData"] => string(1) "1"
["_xfRequestUri"] => string(38) "/admin.php?dbtech-ecommerce/downloads/"
["_xfToken"] => string(43) "1765926145,be6108f50b93e70e175fdf434e2a4c5d"
}
["_POST"] => array(0) {
}
}

EDIT: I've done some testing and the problem has been occurring since version 5.0.0
 
Last edited:
To correct the error, I had to modify Download Controller.php by replacing:
PHP:
if ($handler->isEnabled() && $handler->isUsableInProduct($product))
And replace it with:
PHP:
if ($handler->isEnabled() && (!$product || $handler->isUsableInProduct($product)))
 
To correct the error, I had to modify Download Controller.php by replacing:
PHP:
if ($handler->isEnabled() && $handler->isUsableInProduct($product))
And replace it with:
PHP:
if ($handler->isEnabled() && (!$product || $handler->isUsableInProduct($product)))
Sorry for the delay in getting back to you, I have been out of the office.

I've hotfixed v5.1.2 with your change plus a few other changes to better validate the handler usable check. Thanks!
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.0 Beta 1

Update highlights​

This version brings some significant under-the-hood changes that will (hopefully!) not be visible to your customers, but are still significant. There are also some updates for digital products to make renewals easier.

Most importantly, the "Product filters" now use XenForo's "Custom fields" feature. This means that rather than needing to define product filters in every single category, you create them all once and tick the available ones in the...

Read the rest of this update entry...
 
Hi
I tested this latest beta version and encountered an error during installation:
  • TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given
  • src/addons/DBTech/eCommerce/Install/Upgrade5999970Trait.php:227
#0 src/addons/DBTech/eCommerce/Install/Upgrade5999970Trait.php(227): count(NULL)
#1 src/XF/AddOn/StepRunnerUpgradeTrait.php(124): DBTech\eCommerce\Setup->upgrade5020012Step2(Array)
#2 src/XF/AddOn/StepRunnerUpgradeTrait.php(73): DBTech\eCommerce\Setup->upgradeStepRunner(5020012, 2, Array, NULL)
#3 src/XF/Job/AddOnInstallBatch.php(301): DBTech\eCommerce\Setup->upgrade(Array)
#4 src/XF/Job/AddOnInstallBatch.php(95): XF\Job\AddOnInstallBatch->stepAction(Object(XF\Timer))
#5 src/XF/Job/Manager.php(275): XF\Job\AddOnInstallBatch->run(8)
#6 src/XF/Job/Manager.php(205): XF\Job\Manager->runJobInternal(Array, 8)
#7 src/XF/Job/Manager.php(121): XF\Job\Manager->runJobEntry(Array, 8)
#8 src/XF/Admin/Controller/ToolsController.php(146): XF\Job\Manager->runByIds(Array, 8)
#9 src/XF/Mvc/Dispatcher.php(362): XF\Admin\Controller\ToolsController->actionRunJob(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(SV\SignupAbuseBlocking\XF\Admin\Controller\Tools), NULL)
#11 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\SignupAbuseBlocking\XF\Admin\Controller\Tools), NULL)
#12 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#13 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#14 src/XF.php(814): XF\App->run()
#15 admin.php(15): XF::runApp('XF\\Admin\\App')
#16 {main}
array(4) {
["url"] => string(24) "/admin.php?tools/run-job"
["referrer"] => string(44) "https://xxxxxxxxx.com/admin.php?tools/run-job"
["_GET"] => array(1) {
["tools/run-job"] => string(0) ""
}
["_POST"] => array(3) {
["_xfRedirect"] => string(80) "https://xxxxxxxxx.com/admin.php?add-ons/install-from-archive-complete&batch_id=33"
["_xfToken"] => string(8) "********"
["only_ids"] => string(4) "2070"
}
}

I had to modify line 227 of the Upgrade5999970Trait.php file by replacing:
PHP:
if (count($oldFilters) > 0)

By:
PHP:
if (count($oldFilters ?? []) > 0)
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.0.1

Update highlights​

This version fixes incorrect references in the CLI commands, preventing successful command execution (Thanks Xon!).

Furthermore, a user-facing message has been added if the EU VAT system is enabled and someone attempts to use a UK VAT ID (starting with GB).

The PHP version requirement has also been bumped to 8.2 in order to better support the feature set.


Complete Change Log​

Change: Bumped PHP minimum...

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.1

Update highlights​

This version fixes a regression for fresh installs of v5.2.0, as well as resolving an issue with the EU VAT rates updating automatically in the background.


Complete Change Log​

Fix: Fix updating EU VAT rates for countries part of another territory
Fix: Fix an issue with the Category install query on fresh installs
Fix: Update the breadcrumb data for the preinstalled category on fresh installs

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.2

Update highlights​

This version fixes a regression for upgrades to v5.2.x from much older versions, as well as resolving an issue where adding an add-on product could produce a server error due to the new product filters storage system in v5.2.


Complete Change Log​

Fix: Fix server error when adding an add-on product
Fix: Fix upgrading from older versions to v5.2

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.3

Update highlights​

This version is a minor bugfix that corrects the save/delete cleanup actions for Products and Downloads. Previously, fully deleting a product or a download would not delete users' bookmarks.


Complete Change Log​

Fix: Correctly run Bookmark save/delete actions for Products and Downloads

Read the rest of this update entry...
 
@DragonByte Tech Sorry if this has been asked before but is the only way to embed an image into the description is via a link to the image or from the gallery? I am not able to use the select / drag and drop method like Xenforo.. I might have missed the setting if there is one.

eComerce:
Screenshot 2026-06-28 070320.webp

Xenforo:
Screenshot 2026-06-28 070451.webp
 
@DragonByte Tech Sorry if this has been asked before but is the only way to embed an image into the description is via a link to the image or from the gallery? I am not able to use the select / drag and drop method like Xenforo.. I might have missed the setting if there is one.

eComerce:
View attachment 340674

Xenforo:
View attachment 340675
This is because the attachment system is used for the product images, so it cannot simultaneously be used for attachments into the description.
 
Ok, I'll just add the images to the gallery for insertion. A bit of inconvenience but there is a work around. It would be nice if you would make a change so others would not need to follow this work around at a later date.
 
Last edited:
@DragonByte Tech I understand that the invoices can be forced to use a certain style but is there a global option I missed to do the same for all pages?
Maybe a TMS using <xf:page option="style_id" value="39" />.
A different regex TMS perhaps?
Pretty sure I would really need to build a PHP listener with some thing like.
Code:
if ($reply instanceof \XF\Mvc\Reply\View && $reply->getTemplateName() == 'dbtech_ecommerce_overview') {
    \XF::app()->updateStyleContainer(39);
}

What would you suggest would be the cleanest route?
 
@DragonByte Tech I understand that the invoices can be forced to use a certain style but is there a global option I missed to do the same for all pages?
Maybe a TMS using <xf:page option="style_id" value="39" />.
A different regex TMS perhaps?
Pretty sure I would really need to build a PHP listener with some thing like.
Code:
if ($reply instanceof \XF\Mvc\Reply\View && $reply->getTemplateName() == 'dbtech_ecommerce_overview') {
    \XF::app()->updateStyleContainer(39);
}

What would you suggest would be the cleanest route?
I would recommend you create your own mini addon and extend all Controller classes (other than AbstractController) for eCommerce and add this:
PHP:
    protected function postDispatchController($action, ParameterBag $params, AbstractReply &$reply): void
    {
        parent::postDispatchController($action, $params, $reply);

        $reply->setViewOption('style_id', 1);
    }
Replacing 1 with the style ID you want to force.

This is entirely untested but should work in theory :P
 
Exactly what I thought. Thanks for the code.
If you can on your next update it would be nice to have an addon style wide force option like the invoiced.
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.4

Update highlights​

This version fixes an issue with product filters, as well as adding a new feature; it is now possible to create a product or classifieds icon during creation as well as on edit.

The separate "Edit icon" page still exists, but convenience has been increased by up to 83%!


Complete Change Log​

Feature: Ability to edit product/classifieds icon on creation/edit
Fix: Fix product filters showing incorrectly in the product list

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

5.2.6

Update highlights​

This version fixes an issue where it was not possible to save a product that uses User Upgrades, and adds additional protection for All-Access Pass downloads.


Complete Change Log​

Fix: Fix server error when saving a new User Upgrade product
Fix: Ensure expired all-access licenses can't be downloaded

Read the rest of this update entry...
 
Back
Top Bottom