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
#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…’)
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.
Please update to latest version of EasyAppointments 3.8.1 that issue should be solved.