@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix PHP 8.1 "strlen(null)" exceptions which block rendering the Diffusion page

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 T15300

Test Plan: Applied these three changes (on top of D25144, D25145, D25146, D25147) and `/diffusion/` finally rendered in web browser.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

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

Maniphest Tasks: T15300

Differential Revision: https://we.phorge.it/D25150

+3 -3
+3 -3
src/applications/diffusion/controller/DiffusionController.php
··· 97 97 AphrontRequest $request) { 98 98 99 99 $short_name = $request->getURIData('repositoryShortName'); 100 - if (strlen($short_name)) { 100 + if (phutil_nonempty_string($short_name)) { 101 101 // If the short name ends in ".git", ignore it. 102 102 $short_name = preg_replace('/\\.git\z/', '', $short_name); 103 103 return $short_name; 104 104 } 105 105 106 106 $identifier = $request->getURIData('repositoryCallsign'); 107 - if (strlen($identifier)) { 107 + if (phutil_nonempty_string($identifier)) { 108 108 return $identifier; 109 109 } 110 110 111 111 $id = $request->getURIData('repositoryID'); 112 - if (strlen($id)) { 112 + if (phutil_nonempty_string($id)) { 113 113 return (int)$id; 114 114 } 115 115