1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 14:00:56 +01:00

Fix PHP 8.1 "strlen(null)" exception which blocks creating a blog post

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 T15357

Test Plan: Applied this change and created blog post at `/phame/post/view/3/blogpost/` 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: T15357

Differential Revision: https://we.phorge.it/D25196
This commit is contained in:
Andre Klapper 2023-05-08 13:20:00 +02:00
parent eba8012d3e
commit e5caf4333e

View file

@ -67,7 +67,8 @@ final class PhamePost extends PhameDAO
$blog = $this->getBlog(); $blog = $this->getBlog();
$is_draft = $this->isDraft(); $is_draft = $this->isDraft();
$is_archived = $this->isArchived(); $is_archived = $this->isArchived();
if (strlen($blog->getDomain()) && !$is_draft && !$is_archived) { if (phutil_nonempty_string($blog->getDomain()) &&
!$is_draft && !$is_archived) {
return $this->getExternalLiveURI(); return $this->getExternalLiveURI();
} else { } else {
return $this->getInternalLiveURI(); return $this->getInternalLiveURI();