Projet

Général

Profil

Anomalie #1759

Bug sur Drupal avec les pages événements

Ajouté par Frédéric Couchet il y a presque 8 ans. Mis à jour il y a presque 8 ans.

Statut:
Résolu
Priorité:
Normale
Assigné à:
Catégorie:
-
Version cible:
-
Début:
28/06/2016
Echéance:
% réalisé:

100%

Temps estimé:

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.

Historique

#1

Mis à jour par Frédéric Couchet il y a presque 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.

#2

Mis à jour par Frédéric Couchet il y a presque 8 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

Formats disponibles : Atom PDF