Je pense que le pb vient que tu l'utilises sans etre connecté.
Dans ton cas, il doit falloir trouver la bonne autorisation et la
surcharger pour que l'association fonctionne sans etre connecté
Regarde dans le fichier medias_autorisations.php la fonction
autoriser_associerdocuments_dist()


Le 05/10/2016 à 00:45, Frederic Lohier a écrit :
>
> Bonsoir,
>
>  
>
> Suite à mon message sur la liste SPIP « #FORMULAIRE_JOINDRE_DOCUMENT
> en accès public » il y a deux semaines
> (https://www.mail-archive.com/spip@rezo.net/msg69923.html), je me suis
> penché sur le plugin « Formulaire Upload » pour mettre en place un
> formulaire d’upload de documents permettant à un visiteur non
> authentifié d’ajouter un document à un objet (cf. mes message
> précédents, j’ai tout de même mis en place un certain nombre de
> contrôles pour éviter que n’importe qui vienne uploader des documents).
>
>  
>
> Dans un premier temps, j’ai surchargé la fonction
> autoriser_joindredocumentupload_dist du plugin Formulaire Upload pour
> supprimer la vérification d’autorisation (« return true ; » tout le
> temps). Dans un deuxième temps, j’ai modifié le fichier
> formulaires/upload.php pour enlever la partie qui vérifie qu’un auteur
> est bien connecté (lignes 20 et 21).
>
>  
>
> Le formulaire upload s’affiche maintenant correctement, y compris
> quand je ne suis connecté à aucun compte utilisateur. Par contre,
> lorsque j’upload un fichier, alors que je spécifie le type d’objet et
> l’id de l’objet auquel il doit être rattaché, le *document est uploadé
> dans la médiathèque, mais n’est pas rattaché à l’objet que j’ai spécifié*.
>
> Si par contre je me connecte, par exemple en tant que visiteur
> (6Forum), le rattachement à l’objet que je spécifie fonctionne
> correctement.
>
>  
>
> Dans le fichier formulaires/upload.php du plugin Formulaire upload,
> les lignes 101 à 106 appellent la fonction
> « action_ajouter_documents » du plugin core « Media »
> (http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/medias/action/ajouter_documents.php#L45)
> pour uploader le ou les fichiers passés en paramètres à l’objet et
> id_objets aussi spécifiés en paramètres.
>
>  
>
> Je suis certain que le plugin « Formulaire Upload » envoi les bon
> paramètres à la fonction « action_ajouter_documents ». J’ai vérifié
> avec un echo() des variables $objet et $id_objet juste avant qu’elles
> soient chargées dans la fonction. Je n’ai rien trouvé de pertinent
> dans les logs (j’ai vérifié error.log de PHP, et spip.log).
>
>  
>
> D’où ma question : pourquoi la fonction « action_ajouter_documents »
> ne me rattache pas les fichiers que je lui envoi aux objets que je lui
> spécifie quand je suis simple visiteur non authentifié ? Est-ce un bug
> ou une fonctionnalité ? Comment est-ce je peux contourner cette
> limitation ?
>
>  
>
> -Frédéric
>
>  
>
>
>
> ----
> spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

-- 
A  bientôt,
tofulm

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Répondre à