Support forumCategory: Bugs-fatal- conflict with latest version of Events Tickets Plus
Tracy Valleau asked 7 months ago

Hello. There seems to be a conflict with the newest Event Tickets Plus. It’s fatal and crashes the whole site.
Here’s what I sent them:
As I read the error trace below, it seems that ET+ used to pass along, or make available, TWO variables, and now it’s only doing so for ONE of them, which in turn affects the plugin “easy-appointments”. I could be wrong in my read, but here’s the report:
——————
An error of type E_ERROR was caused in line 732 of the file /home/cpaorg/photography.org/wp-content/plugins/easy-appointments/vendor/lucatume/di52/src/tad/DI52/Container.php. 
Error message: Uncaught ArgumentCountError: Too few arguments to function tad_DI52_Container::singleton(), 
1 passed in /home/cpaorg/photography.org/wp-content/plugins/event-tickets-plus/src/Tickets_Plus/Commerce/Gateways/Stripe/Provider.php on line 21 
and at least 2 expected in /home/cpaorg/photography.org/wp-content/plugins/easy-appointments/vendor/lucatume/di52/src/tad/DI52/Container.php:732

Stack trace:
#0 /home/cpaorg/photography.org/wp-content/plugins/event-tickets-plus/src/Tickets_Plus/Commerce/Gateways/Stripe/Provider.php(21): tad_DI52_Container->singleton(‘TEC\\Tickets_Plu…’)
#1 /home/cpaorg/photography.org/wp-content/plugins/easy-appointments/vendor/lucatume/di52/src/tad/DI52/Container.php(480): TEC\Tickets_Plus\Commerce\Gateways\Stripe\Provider->register()
#2 /home/cpaorg/photography.org/wp-content/plugins/event-tickets-plus/src/Tickets_Plus/Provider.php(30): tad_DI52_Container->register(‘TEC\\Tickets_Plu…’)
#3 /home/cpaorg/photography.org/wp-content/plugins/easy-appointments/vendor/lucatume/di52/src/tad/DI52/
—————

ann_jastrab replied 7 months ago

I got a reply from Event Tickets, which they asked me to share with you. It contains a fix for the issue:

I shared your feedback with a developer here. I’m sharing his reply below, and ask that you kindly share this with the Easy Appointments team.
 

The issue here is that Event Tickets packages lucatume/di52 version 2.1.4 and Easy Appointments is using the same package but on version 2.0.11. Single parameter singletons, which are causing the error message they see were introduced in July of 2020, in version 2.1.0, so our code requires the more recent versions of the library.

This affects the user because of the way files are loaded in PHP. Their server is loading the dependencies from Easy Appointments first, and then discarding the duplicate ones that other plugins may be using, which is causing our plugin to try to interact with an older version of the library.

The solution here is indeed to disable Easy Appointments – not because our code is broken, but because disabling will remove the outdated dependency from the server, allowing us to load the more recent version from Event Tickets.

Nikola Loncar Staff replied 7 months ago

Please update to latest version of EasyAppointments 3.8.1 that issue should be solved.

Best regards,
Nikola

1 Answers
Nikola Loncar Staff answered 7 months ago

Hi, we will fix this asap. But there are two issues here. If EasyAppointments update to latest version it could break those sites where old version of Event Tickets is used. We are working on this.

Best regards,
Nikola