inpsyde / modularity

A PSR-11 implementation for WordPress Plugins, Themes or Libraries.
https://inpsyde.github.io/modularity/
GNU General Public License v2.0
44 stars 4 forks source link

Avoid early call to wptexturize #40

Closed Biont closed 6 months ago

Biont commented 6 months ago

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...) Bug fix

What is the current behavior? (You can also link to an open issue here)

In PluginProperties, we call get_plugin_data(). With default parameters, this triggers a call to wptexturize() which can result in wrong quotes being used throughout the entire website if called too early. There is a TRAC ticket for this here: https://core.trac.wordpress.org/ticket/49965

What is the new behavior (if this is a feature change)? We pass $markup=false in order to skip HTML generation - and with it the call to wptexturize

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?) If you have previously relied on $data['PluginURI'] and $data['AuthorURI'] to be wrapped in <a> tags, then this needs to be added manualls now. On the flipside, we actually receive the raw data now which might be preferrable withing the service resolution environment int's intended for.

Other information: I am aware that we are not solving the issue here. We're just pushing it away a bit. At the same time, hooking modularity in plugins_loaded (or a similar, very early stage) is a very common thing to do. This means that a huge chunk of our work based on modularity may expose this bug to client systems and this is an effort to stay on the safe side without causing too much noise.

codecov[bot] commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.86%. Comparing base (a9e3803) to head (3a49976).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #40 +/- ## ========================================= Coverage 98.86% 98.86% Complexity 189 189 ========================================= Files 9 9 Lines 528 528 ========================================= Hits 522 522 Misses 6 6 ``` | [Flag](https://app.codecov.io/gh/inpsyde/modularity/pull/40/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=inpsyde) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/inpsyde/modularity/pull/40/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=inpsyde) | `98.86% <100.00%> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=inpsyde#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.