FMElfinderBundle est un bundle proposant d’utiliser le gestionnaire de fichiers Elfinder de façon sécurisée dans vos applications Symfony2.Pourquoi sécurisée ?
De base, l’affichage du gestionnaire passe par un simple fichier HTML/JS public utilisant un connecteur PHP indépendant de l’application qui va l’utiliser. N’importe qui devinant l’url aura alors accès en lecture (et en écriture selon la configuration) aux dossiers gérés par Elfinder.
FMElfinderBundle gère lui l’affichage de la vue et l’initialisation du connecteur grâce à un couple action/controller. On peut donc très simplement appliquer un contrôle d’accès aux routes correspondantes dans le fichier security.yml :
access_control: - { path: ^/efconnect, role: ROLE_ADMIN } - { path: ^/elfinder, role: ROLE_ADMIN }
Le bundle est fourni avec 3 vues de base : une pour l’utilisation en standalone, une pour l’intégration avec CKEditor et une autre pour l’intégration avec TinyMCE, que je viens de rajouter.
Les options suivantes peuvent être directement configurées dans le fichier config.yml :
- la locale à utiliser
- la ou les racines du connecteur
- le mode debug pour le connecteur
- les types de fichiers autorisés/interdits à l’upload
Exemple de configuration basique
fm_elfinder: locale: fr editor: ckeditor connector: debug: false roots: uploads: driver: LocalFileSystem path: uploads upload_allow: ['image/png', 'image/jpg', 'image/jpeg'] upload_deny: ['all']