The function `ensureGreetingParamsAreSet` was assuming that the string 'null' means NULL
but an empty string was "no value given". In reality, an empty string can also signify NULL,
and only a true NULL or unset value means "no value given".
$missingGreetingParams = [];
foreach ($allGreetingParams as $greetingIndex => $greetingParam) {
+ // An empty string means NULL
+ if (($params[$greetingParam] ?? NULL) === '') {
+ $params[$greetingParam] = 'null';
+ }
if (empty($params[$greetingParam])) {
$missingGreetingParams[$greetingIndex] = $greetingParam;
}