Perte de valeur des extrafields type case a cocher

Bonjour, après migration de la V15 a la V18.0.5 en local, lors d’une modification rapide de la valeur d’un extrafields par le petit crayon (une date ou texte),
les valeurs des autres extrafields de type cases a cocher disparaissent .

J’ai suivi la procedure

en modifiant sur le fichier core\class\extrafieds.class.php
Le problème a disparu .

//$value_arr = GETPOST("options_".$key, 'array'); // check if an array
//if (!empty($value_arr)) {
//	$value_key = implode(',', $value_arr);
//} else {
//	$value_key = '';
//}
$value_arr = GETPOST("options_".$key); 
$attr = GETPOST("attribute");
$value_key = '';

if (!empty($value_arr) && $key == $attr){
$value_key = implode(',', $value_arr);
}elseif (empty($value_arr) && $key != $attr) {
 $value_key = $object->array_options["options_".$key];
}
elseif ((empty($value_arr) && $key == $attr)){
 $value_key = $value_arr;
}
elseif (!empty($value_arr) && empty($attr)){
$value_key = implode(',', $value_arr);
}
elseif(empty($value_arr) && empty($attr)){
$value_key = '';
}

Bonjour,
Par contre je viens de constater que le problème est toujours présent pour les booleans.
Lors de la modification d’un champ boolean tous les autres sont mis a false.

Je viens de rajouter une condition en desssous du code message precedent en m en inspirant concernent les booleans qui sont a empty si non posté .

				} elseif (in_array($key_type, array('boolean'))) {
					$value_arr = GETPOST("options_".$key); 
					$attr = GETPOST("attribute");
					$value_key = '';

					if ((empty($value_arr) && $key == $attr)){
							 $value_key = $value_arr;
					}
					elseif (!empty($value_arr) && $key == $attr){
							$value_key = $value_arr;
					}
					else{
						$value_key = $object->array_options["options_".$key];
					}