1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 08:52:39 +01:00

Fix PHP 8.1 "strlen(null)" exception shown when sending SMS Test Message to Contact Number

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 T15382

Test Plan:
Applied this change and after performing steps to send a test message again, `/mail/detail/107/` page got rendered correctly
and I can see the "Status Details" with stuff like "//None//" or "No mailers are configured."

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

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

Maniphest Tasks: T15382

Differential Revision: https://we.phorge.it/D25215
This commit is contained in:
Andre Klapper 2023-05-19 17:00:49 +02:00
parent 8a1cfff1e8
commit 26aed4935b

View file

@ -421,7 +421,7 @@ final class PhabricatorMetaMTAMailViewController
$properties->addProperty(pht('Message PHID'), $mail->getPHID()); $properties->addProperty(pht('Message PHID'), $mail->getPHID());
$details = $mail->getMessage(); $details = $mail->getMessage();
if (!strlen($details)) { if (!phutil_nonempty_string($details)) {
$details = phutil_tag('em', array(), pht('None')); $details = phutil_tag('em', array(), pht('None'));
} }
$properties->addProperty(pht('Status Details'), $details); $properties->addProperty(pht('Status Details'), $details);