Skip to content
Snippets Groups Projects
Verified Commit 1f4c558d authored by Robert Phillips's avatar Robert Phillips
Browse files

Issue #3478222: array_walk(): Argument #1 ($array) must be of type array

parent d270bdee
Branches 1.x
Tags 1.1.6
No related merge requests found
......@@ -317,19 +317,22 @@ class EntityFormSteps {
// Remove values not on the current step and build entity. Necessary to
// support elements that are not using field widget plugins. Such as
// custom fields added on the form build array.
$values = $form_state->getValues();
$keys = $form['actions']['submit']['#limit_validation_errors'];
array_walk($keys, function (&$keys): void {
$keys = current($keys);
});
foreach (array_keys($values) as $key) {
if ($entity->hasField($key) && !in_array($key, $keys, TRUE)) {
unset($values[$key]);
$triggeringElement = $form_state->getTriggeringElement();
if (!empty($triggeringElement['#limit_validation_errors'])) {
$values = $form_state->getValues();
$keys = $form['actions']['submit']['#limit_validation_errors'];
array_walk($keys, function (&$keys): void {
$keys = current($keys);
});
foreach (array_keys($values) as $key) {
if ($entity->hasField($key) && !in_array($key, $keys, TRUE)) {
unset($values[$key]);
}
}
$form_state->setValues($values);
$entity = $formObject->buildEntity($form, $form_state);
$formObject->setEntity($entity);
}
$form_state->setValues($values);
$entity = $formObject->buildEntity($form, $form_state);
$formObject->setEntity($entity);
// Set internal array pointer to current step.
$state = $form_state->get('entity_form_steps');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment