Anomalie #1759
ferméBug sur Drupal avec les pages événements
100%
Description
From: "Lionel Allorge
Subject: [ADMINS] Bug sur Drupal avec les pages avènements
To: admins@
Cc: siteweb@
Date: Fri, 24 Jun 2016 14:02:00 +0200
En cherchant à modifier la page https://www.april.org/operation-degooglisons-nevers-les-242526-juin-2016 qui est un node de type “event”, je découvre toute une série de warnings : https://www.april.org/node/20546/edit
warning: Illegal string offset 'day' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'month' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'year' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'hour' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'minute' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'second' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'day' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'month' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'year' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'hour' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'minute' in /usr/share/drupal6/includes/
form.inc on line 1390.
warning: Illegal string offset 'second' in /usr/share/drupal6/includes/
form.inc on line 1390.
J'imagine que le module Drupal ne doit pas être configuré correctement.
Heureusement cela n'empêche pas l'enregistrement de la page.
Mis à jour par Frédéric Couchet il y a plus de 8 ans
Réponse de Benj :
C'est un souci du à la version de PHP qui considère $tableau{'foo'} renvoit un warning quand il n'y a pas de clef « foo » dans le tableau. Or, ce n'était pas le cas avant et ça met bien la grouille étant donné les (mauvaises) habitudes de dévs PHP. J'ai masqué l'erreur en modifiant directement le code:
diff --git a/includes/form.inc b/includes/form.inc
index 8ac40c9..7e5dcdf 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@ -1387,7 +1387,7
@ function form_set_value($form_item, $value,
&$form_state) {
function _form_set_value(&$form_values, $form_item, $parents, $value) {
$parent = array_shift($parents);
if (empty($parents)) {
- $form_values[$parent] = $value;
+ @$form_values[$parent] = $value;
}
else {
if (!isset($form_values[$parent])) {
J'en ai profité pour mettre le code source de drupal sous Git histoire de.
Mis à jour par Frédéric Couchet il y a plus de 8 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100