1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-25 08:12:40 +01:00

Fix PHP 8.1 "strlen(null)" exceptions which block rendering page of a File

Summary:
`strlen()` was used in Phabricator to check if a generic value is a non-empty string.
This behavior is deprecated since PHP 8.1. Phorge adopts `phutil_nonempty_string()` as a replacement.

Note: this may highlight other absurd input values that might be worth correcting
instead of just ignoring. If phutil_nonempty_string() throws an exception in your
instance, report it to Phorge to evaluate and fix that specific corner case.

Closes T15341

Test Plan: Applied these four changes and file page at `/F91` finally rendered in web browser.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15341

Differential Revision: https://we.phorge.it/D25186
This commit is contained in:
Andre Klapper 2023-05-06 04:06:44 +02:00
parent 519acd9a10
commit 6c692ddbbb
3 changed files with 4 additions and 4 deletions

View file

@ -311,7 +311,7 @@ final class PhabricatorFileViewController extends PhabricatorFileController {
$file->getStorageHandle());
$custom_alt = $file->getCustomAltText();
if (strlen($custom_alt)) {
if (phutil_nonempty_string($custom_alt)) {
$finfo->addProperty(pht('Custom Alt Text'), $custom_alt);
}

View file

@ -60,12 +60,12 @@ abstract class PhabricatorDocumentRenderingEngine
}
$encode_setting = $request->getStr('encode');
if (strlen($encode_setting)) {
if (phutil_nonempty_string($encode_setting)) {
$engine->setEncodingConfiguration($encode_setting);
}
$highlight_setting = $request->getStr('highlight');
if (strlen($highlight_setting)) {
if (phutil_nonempty_string($highlight_setting)) {
$engine->setHighlightingConfiguration($highlight_setting);
}

View file

@ -1278,7 +1278,7 @@ final class PhabricatorFile extends PhabricatorFileDAO
public function getAltText() {
$alt = $this->getCustomAltText();
if (strlen($alt)) {
if (phutil_nonempty_string($alt)) {
return $alt;
}