Ticket #424 (closed defect: fixed)
Utilisation de dcMedia côté public : createFile() réclame des droits sur les médias
Reported by: | Moe | Owned by: | olivier |
---|---|---|---|
Priority: | lowest | Milestone: | 2.1 |
Component: | module:core | Version: | 2.0 |
Severity: | normal | Keywords: | |
Cc: |
Description
Bonjour,
je suis en train de développer un plugin pour lister les fichiers du gestionnaire de médias sur une page dédiée du blog. C'est très simple avec la classe dcMedia.
J'initialise l'objet :
$_ctx->media = new dcMedia($core); $_ctx->media->chdir(...);
Jusqu'ici tout va bien. Le problème apparaît quand je veux le contenu du dossier :
$_ctx->media->getDir();
À la fin de cette fonction, la fonction createFile() de dcMedia est appellée pour ajouter les nouveaux fichiers (je simplifie) dans la base de données. L'ennui c'est que cette fonction vérifie les permissions de l'utilisateur, hors il n'y en a pas lors de l'appel depuis le blog. On se retrouve donc avec l'erreur
Permission denied.
Alors, je m'y prends mal ? dcMedia n'est pas prévu pour être appelé depuis le blog ?
Comment changer ça ? Est-ce que createFile() pourrait retourner une valeur vide (autrement dit, ne rien faire) plutôt que de lancer une erreur quand il est appelé depuis le blog ? Le blog pourrait être lancé avec le nom d'utilisateur "public" qui serait reconnu par dcAuth et qui ne générerait pas de warning sur le blog ?
On peut lancer createFile() uniquement si l'utilisateur est authentifié.