1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-01-22 04:31:13 +01:00

Fix PHP 8.1 "strlen(null)" exception which blocks rendering most applications' Configure pages

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.

Added also a small inline documentation to better leave what I find.

Closes T15358

Test Plan:
Applied this change change and way more applications' Configure pages finally rendered in web browser.
For example, `/applications/view/PhabricatorAuditApplication/` is now correctly rendered.
(However, some pages expose followup exceptions to be handled in separate tasks.)

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

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

Maniphest Tasks: T15358

Differential Revision: https://we.phorge.it/D25197
This commit is contained in:
Andre Klapper 2023-05-08 13:21:14 +02:00
parent e5caf4333e
commit d74e9d825a
2 changed files with 6 additions and 1 deletions

View file

@ -235,6 +235,11 @@ abstract class PhabricatorApplication
return array();
}
/**
* Get the Application Overview in raw Remarkup
*
* @return string|null
*/
public function getOverview() {
return null;
}

View file

@ -114,7 +114,7 @@ final class PhabricatorApplicationDetailViewController
}
$overview = $application->getOverview();
if (strlen($overview)) {
if (phutil_nonempty_string($overview)) {
$overview = new PHUIRemarkupView($viewer, $overview);
$properties->addSectionHeader(
pht('Overview'), PHUIPropertyListView::ICON_SUMMARY);