mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 10:12:41 +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;
|
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) {
|
public function setTagText($text) {
|
||||||
$this->tagText = $text;
|
$this->tagText = $text;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the text of the tag
|
||||||
|
*
|
||||||
|
* @see PhabricatorEditEngineSubtype::setTagText()
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
public function getTagText() {
|
public function getTagText() {
|
||||||
return $this->tagText;
|
return $this->tagText;
|
||||||
}
|
}
|
||||||
|
@ -89,7 +105,7 @@ final class PhabricatorEditEngineSubtype
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hasTagView() {
|
public function hasTagView() {
|
||||||
return (bool)strlen($this->getTagText());
|
return phutil_nonempty_string($this->getTagText());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function newTagView() {
|
public function newTagView() {
|
||||||
|
|
Loading…
Reference in a new issue