Support » Plugin: The GDPR Framework By Data443 » GDPR Framework 1.0.28 uses 3rd party code that implements global function e()

  • OldGrumpyDE

    (@oldgrumpyde)


    This is one of the most hilarious yet annoying issues I encountered recently. In /gdpr-framework/vendor/illuminate/support/helpers.php line 541 ff., a GLOBAL function called “e” is declared. While this is borderline idiotic, it only causes problems if some other plugin author has the same bad idea – as it happens in /product-enquiry-pro/wisdm-forms/libs/functions.php on line 84 (v. 6.3.2, most current as of today). Depending on which plugin is loaded first, you either get a seemingly working setup that just does very funny things because e() in the gdpr-Plugin has absolutely nothing in common with e() in the Woocommerce addon except for its name and its global scope, or (at least) you get a hard error stopping WordPress from enabling the plugin.

    Please, please, please, check what 3rd party libs you “composer” into your plugin. Apparently, there is some unlit area in illuminate/support 😉

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author indrek_k

    (@indrek_k)

    Hi there!

    Original author of the plugin here. I understand your frustration. However, I would not blame illuminate/support here – from their point of view, this is definitely not idiotic. Keep in mind illuminate/support a component used for Laravel (and other related tools/frameworks) and in that context, a global helper function makes sense. Instead, you might argue that I should have used some other IoC container that does not depend on a component that declares global functions. Unfortunately, during development I didn’t notice the global functions and I suspect that even if I had, I would still have used the plugin because come on, who would be silly enough to define global functions like e() in their plugin nowadays? 🙂

    This is not the first time this exact same problem has been reported and the last time, it was caused by a completely different plugin. So regardless of what @data443 decides, I recommend you also get in touch with product-enquiry-pro and complain to them, as they are also breaking a basic plugin development rule and conflicting with at least one other plugin.

    OldGrumpyDE

    (@oldgrumpyde)

    I’m sorry, I forgot to mention that I’ll rant on their doorstep as well. 😀 I know illuminate/support is a component used for Laravel, but alas, this is WordPress, not Laravel. 😀 I definitely enjoy reusable code, this mess here has given me quite some headaches, not only because of the interesting symptoms in case the gdpr framework loads last and the function_exists() prevents a clear error but also from a lot of “head on desk” 🙂

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.