1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-22 14:52:41 +01:00

Fix PHP 8.1 "strlen(null)" exception which blocks creating personal and global Herald rules

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 T15348

Test Plan:
Applied this change (on top of D25157) and creation form at `/herald/edit/?content_type=HeraldPreCommitRefAdapter&rule_type=personal` rendered in web browser.
Same applies for other types of personal and global Herald rules.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

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

Maniphest Tasks: T15348

Differential Revision: https://we.phorge.it/D25190
This commit is contained in:
Andre Klapper 2023-05-05 12:52:15 +02:00
parent 8eaa7c1ccf
commit b0044bad62
2 changed files with 8 additions and 1 deletions

View file

@ -81,6 +81,13 @@ abstract class PhabricatorContentSource extends Phobject {
)); ));
} }
/**
* Get the internal source name
*
* This is usually coming from a SOURCECONST constant.
*
* @return string|null
*/
final public function getSource() { final public function getSource() {
return $this->source; return $this->source;
} }

View file

@ -7,7 +7,7 @@ final class PhabricatorUnknownContentSource
public function getSourceName() { public function getSourceName() {
$source = $this->getSource(); $source = $this->getSource();
if (strlen($source)) { if ($source) {
return pht('Unknown ("%s")', $source); return pht('Unknown ("%s")', $source);
} else { } else {
return pht('Unknown'); return pht('Unknown');