diff --git a/ecrire/inc/editer.php b/ecrire/inc/editer.php index be012eb175ebae6aeb756a95439c72830b9b00b1..66e90d53046299e70c51afe141b5283822ad850d 100644 --- a/ecrire/inc/editer.php +++ b/ecrire/inc/editer.php @@ -20,7 +20,6 @@ function controles_md5($data, $prefixe='ctr_', $format='html'){ return false; $ctr = array(); - foreach ($data as $key => $val) { $m = md5($val); $k = $prefixe.$key; @@ -87,7 +86,8 @@ function controler_md5(&$champs, $ctr, $type, $id, $serveur) { $ctrq = sql_fetsel($ctrq, $spip_table_objet, "$id_table_objet=$id", $serveur); foreach ($ctr as $key => $m) { if ($m != $ctrq['ctrq_'.$key] - AND $champs[$key] !== $ctrq[$key]) { + AND $champs[$key] !== $ctrq[$key] + AND $ctrq['ctrq_'.$key] !== null) { $conflits[$key] = array( 'base' => $ctrq[$key], 'post' => $champs[$key] @@ -97,7 +97,6 @@ function controler_md5(&$champs, $ctr, $type, $id, $serveur) { } } - return $conflits; } diff --git a/ecrire/inc/extra.php b/ecrire/inc/extra.php index 937f0d748f636604d023b0d233898fb58476b8a2..036cd43d5c46b088de15620e839fa5ba07ed00cb 100644 --- a/ecrire/inc/extra.php +++ b/ecrire/inc/extra.php @@ -393,7 +393,7 @@ function extra_update($type, $id, $c = false) { $extra = array_merge($orig, $extra); } - return serialize($extra); + return array_filter($extra) ? serialize($extra) : ''; } ?> diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php index 41d39c6ac13befb2adf91c5ae3f4cf0f065f80ea..a446595d53085552ae618fbd34c83ea55783c6da 100644 --- a/ecrire/inc/modifier.php +++ b/ecrire/inc/modifier.php @@ -72,7 +72,8 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') { AND isset($_POST['extra']) AND $GLOBALS['champs_extra']) { include_spip('inc/extra'); - if ($extra = extra_update($table_objet, $id, $_POST)) + $extra = extra_update($table_objet, $id, $_POST); + if ($extra !== false) $champs['extra'] = $extra; }