mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 00:32:42 +01:00
Fix PHP 8.1 "strlen(null)" exception which blocks rendering list of Active/All projects
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 T15312 Test Plan: Applied this change (on top of D25144, D25145, D25146, D25147, D25151, D25152, D25153 and `/project/query/active/` rendered correctly in web browser. Tested surfing various pages with and without Maniphest's `maniphest.subtypes`. If you need some example custom fields, this is an example: ``` [ { "key": "default", "name": "Task" }, { "key": "bug", "name": "Bug" }, { "key": "log", "name": "LogSpam" }, { "key": "deadline", "name": "Deadline" } ] ``` Reviewers: O1 Blessed Committers, valerio.bozzolan Reviewed By: O1 Blessed Committers, valerio.bozzolan Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15312 Differential Revision: https://we.phorge.it/D25162
This commit is contained in:
parent
313d3b7bf2
commit
6e88528370
1 changed files with 17 additions and 1 deletions
|
@ -43,11 +43,27 @@ final class PhabricatorEditEngineSubtype
|
|||
return $this->icon;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text of the tag
|
||||
*
|
||||
* This is usually the 'name' key of your subtype map.
|
||||
* Sometime this is an uppercase text like 'BUG' for a 'bug' subtype name.
|
||||
*
|
||||
* @param string|null $text
|
||||
* @return self
|
||||
*/
|
||||
public function setTagText($text) {
|
||||
$this->tagText = $text;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the text of the tag
|
||||
*
|
||||
* @see PhabricatorEditEngineSubtype::setTagText()
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getTagText() {
|
||||
return $this->tagText;
|
||||
}
|
||||
|
@ -89,7 +105,7 @@ final class PhabricatorEditEngineSubtype
|
|||
}
|
||||
|
||||
public function hasTagView() {
|
||||
return (bool)strlen($this->getTagText());
|
||||
return phutil_nonempty_string($this->getTagText());
|
||||
}
|
||||
|
||||
public function newTagView() {
|
||||
|
|
Loading…
Reference in a new issue