Bonjour,

J'ai un fichier bootstrap.php dans un plugin (Document Manager) qui ressemble à ceci :

Configure::write('DocumentManager.baseDir', 'files');

J'aimerais savoir si on peux changer ce 'file' dynamiquement en fonction du lien sur lequel on clique par exemple.

Cordialement

4 réponses


Lartak
Réponse acceptée

Tu enlèves le configure write et tu modifies la fonction correspondante.
Je ne peux pas te dire exactement comment, car je ne connais pas trop le plugin DocumentManager, mais avec les utilitaires File et Folder tu peux y arriver sans trop de difficultés.
Par contre, donner la possibilité à des utilisateurs de créer des dossiers ou des fichiers dans l'application, je ne te le conseille pas, tout comme le fait d'y naviguer, même si tu veux leur limiter les dossiers auxquels ils auront accès.
Un système de ce genre n'est pas fait pour y donner accès à des utilisateurs autre que les administrateurs.
Tu as un risque de sécurité si tu fais ça.

Bonsoir.
Pourrais-tu être plus explicite s'il te plait ?
Quand tu parles de lien, tu veux parler d'action d'un autre controller ?
À savoir que normalement on ne réécrit pas une variable de configuration à répétition, les variables de configure sont censées être "statiques" et non changées au fur et à mesure de la navigation dans l'application.
Si tu veux une modification répétitive, passes plutôt par les variables de sessions.

Helongh
Auteur

En fait, j'aimerais changer le baseDir ( le répertoire racine ) en fonction de la ou on clique.
Par exemple, dans mon files j'ai cette arborescence :

files 
                  > rep1 
                         > sous rep1
                  > rep2 
                         > sous rep2
                         > sous rep3

J'aimerais donc que si, par ex je clique sur un lien m’amenant directement au sous rep1, ce soit celui-ci qui soit considéré comme baseDir, et que donc les utilisateurs ne puissent pas remonter dans l'arborescence.

Helongh
Auteur

Non, c'est vraiment une appli spécifique que je fais, et seule une poignée de personnes y auront accès, dont deux administrateurs qui auront tous les pouvoirs, et le reste qui ne peut qu'ajouter/lire des fichiers.
Mais merci de ta réponse.