@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 "ltrim(null)" exception which blocks rendering first Meme comment

Summary:
Since PHP 8.1, passing a null string to `ltrim(string $string)` is deprecated.

Thus first check if After and Below text are not null before trimming.

Closes T15379

Test Plan:
Applied this change; afterwards several times created a new Pholio mock and added a Meme comment. I could not reproduce the problem anymore (first meme comment in a mock always rendered correctly instead of showing an exception as comment). However, I could not reliably reproduce the problem anyway.

- Create a meme without any above/below text
- Create a meme with just spaces as above/below text
- Create a meme with just above text as "asd", or "0" or a lizard
- Create a meme with just below text as "asd", or "0" or a lizard
- Create a meme with both above and below texts with "asd", "0" and a lizard and more stuff (doing all 64 combinations)

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

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

Maniphest Tasks: T15379

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

+2 -1
+2 -1
src/applications/macro/engine/PhabricatorMemeEngine.php
··· 182 182 // changes to the image. 183 183 $above_text = $this->getAboveText(); 184 184 $below_text = $this->getBelowText(); 185 - if (!strlen(trim($above_text)) && !strlen(trim($below_text))) { 185 + if (($above_text === null || !phutil_nonempty_string(trim($above_text))) && 186 + ($below_text === null || !phutil_nonempty_string(trim($below_text)))) { 186 187 return $template_data; 187 188 } 188 189