Illegal string offset 'id_auteur'
Bonjour, bug apparu au passage de spip3.0 à spip3.1. Utilisation du plugins agenda
Sur la page publique d'ajout d'événement de mon site l'ajout d'un événement ne posait pas de problème si j'étais connecté au site. Par contre pour un visiteur lembda non connecté, ça prenait bien en compte l'événement ajouté mais ça affichait un vilain message d'erreur : Warning: Illegal string offset 'id_auteur' in /var/www/alternc/[...]/plugins-dist/medias/medias_pipelines.php on line 70
J'ai pu résoudre le problème grâce à liste d'aide spip où on m'a donné le conseil suivant pour modifier le fichier medias_pipelines.php : _Donc, ça pourrait valoir le coup de vérifier si $GLOBALS['visiteur_session']['id_auteur'] est défini. une idée donc, définir $id_auteur dans tous les cas :
$id_auteur = isset($GLOBALS['visiteur_session']['id_auteur'])?intval($GLOBALS['visiteur_session']['id_auteur']):false;
ou plus propre .
if ( isset($GLOBALS['visiteur_session']['id_auteur'])) {
$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
}
else {
$id_auteur = false;
}
puis :
if (autoriser('joindredocument', $objet, $id_objet) and $id_auteur
) {
[...] Ainsi $id_auteur est toujours défini ( bien que valant 'false' si utilisateur pas logué )._
Devant ma demande de savoir où ranger le fichier modifié dans mon répertoire "squelettes", il m'a été répondu que c'était un peu délicat et qu'il vallait mieux signaler ici afin qu'une rectification soit faite sur une prochaine mise à jour. C'est chose faite. Bon courage