Update call to htmlentities for PHP 8.1

Created on 4 October 2023, 9 months ago

Problem/Motivation

PHP 8.0 will be end-of-life in November. Codesniffer found one issue in the module for PHP 8.1.

Steps to reproduce

Run a codesniffer with PHP 8.1 compatibility rules on the module.
Note this error is returned:

FILE: feeds_tamper/plugins/absolute_url.inc
----------------------------------------------------------------------------------------------
FOUND 1 ERROR AND 2 WARNINGS AFFECTING 3 LINES
----------------------------------------------------------------------------------------------
 19 | ERROR   | The default value of the $flags parameter for htmlentities() was changed from
    |         | ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 in PHP 8.1. For
    |         | cross-version compatibility, the $flags parameter should be explicitly set.
 43 | WARNING | Function libxml_disable_entity_loader() is deprecated since PHP 8.0
 51 | WARNING | Function libxml_disable_entity_loader() is deprecated since PHP 8.0
----------------------------------------------------------------------------------------------

The two warnings are not relevant because the code has been updated to skip calling those functions on PHP versions where it's been deprecated.

Proposed resolution

Update the function call to htmlentities() to explicitly set the flags parameter to ENT_COMPAT, which should produce the same results across all supported PHP versions.

Remaining tasks

Patch and test.

User interface changes

None.

API changes

None.

Data model changes

None.

πŸ“Œ Task
Status

Needs review

Version

1.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States cboyden

Live updates comments and jobs are added and updated live.
  • PHP 8.1

    The issue particularly affects sites running on PHP version 8.1.0 or later.

Sign in to follow issues

Comments & Activities

Production build 0.69.0 2024