Some years ago, after PayPal on our OJS 3.1.2.0 returned Error 500 with the infamous “PHP Fatal error: Uncaught Error: Interface ‘Symfony\Component\EventDispatcher\EventSubscriberInterface’ not found…” we updated composer dependencies for the PayPal plugin as described at [OJS 3.1.1.4] Paypal black page - #9 by asmecher. Everything worked fine after that and some other patching (not sure which ones - see Q3 below). In the meantime, we uninstalled PayPal and deleted its folder.
A few years later, we now want to reinclude it, so we cleaned PHP caches and, since we don’t have a backup that old, FTP-ed the /paypal folder from the original package (unzipped, since there’s no gz.tar version of the plugin within the package that OJS backend requires for installing/upgrading this plugin so we couldn’t take the upgrading route). Strangely, instead of showing it in the plugin gallery as a new plugin, OJS picked the plugin not only as present but as both installed and activated (box checked), although the /paypal folder had been gone for years.
In addition, trying to patch the readded plugin, was rejected as though the patch had already been applied. Obviously not, because clicking the PDF button of a paywalled article returns again the same Error 500 as before - meaning the patches were never applied - neither back then (as this hidden “OJS history” feature tells us) nor now.
Q1: Does OJS store (and keep forever) somewhere the information about plugin actions/old patching, which prevented us from actually patching the previously patched but now readded (should be obvious: now unpatched) plugin that in the meantime was physically removed?
Q2: Where to obtain the gz.tar paypal plugin?
Q3: What exact patches do we need for PayPal to work again besided the above one?