Submitted by floown@drupal.org on
Bonjour
Je voudrais créer une type de contenu un peu spécial qui afficherait la page selon que l'user est administrateur ou d'un autre type d'utilisateur. En gros offrir à l'administration un confort supplémentaire en proposant la possibilité d'annoter un mot ou un paragraphe du contenu en chacun de ses points (voir plus bas pour mieux me comprendre).
Ce paragraphe est lisible à tout à chacun, les visteurs anonymes comme les enregistrés ainsi que les différents rôles... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Ce paragraphe là est visible que de l'administrateur... Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.Ce passage est visible par tous et on reprend avec du texte caché Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Ce paragraphe est lisible à tout à chacun, les visteurs anonymes comme les enregistrés ainsi que les différents rôles... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ce paragraphe là est visible que de l'administrateur... Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
visible
masqué
visible
masqué
visible
masqué
Auriez-vous des pistes pour faire quelque chose de simple ?
J'avais pensé à mettre deux classes CSS en place, dans le genre : .admin et .others et que php vienne désactiver .admin dans le contenu avant de l'afficher lorsque l'user n'est pas administrateur.
L'idée est là... par contre le code... Je continue mes tests
Salut, Les classes CSS,
Permalien Soumis par drupalfrance le 29 Août, 2007 - 10:53
Salut,
Les classes CSS, c'est moyen en terme de sécurité : le texte sera toujours présent dans le code source de ta page, même s'il n'est pas affiché.
Le plus propre serait de créer un filtre (en créant un module qui implémente le hook_filter()) qui implémente de nouvelles balises HTML qui permettent de limiter la visibilité du texte qu'elles encadrent en fonction du rôle de l'utilisateur en cours, par exemple :
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <admin>Ce passage est visible uniquement par les admins.</admin> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <webmaster>Ce passage est visible uniquement par les webmasters.</webmaster>
Chaque noeud est filtré avant d'être affiché. Si ton filtre est actif, il aura donc l'opportunité de faire disparaître :
- tout le texte qui se trouve dans <admin> ... </admin> si l'utilisateur n'est pas admin
- tout le texte qui se trouve dans <webmaster> ... </webmaster> si l'utilisateur n'est pas webmaster
- ...
Les filtres sont mis en
Permalien Soumis par Damien Tournoud le 29 Août, 2007 - 11:01
Les filtres sont mis en cache, à moins qu'un des filtres de la chaîne en décide autrement. Du coup, cette solution a un impact en terme de performances.
T'as essaye CCK Field
Permalien Soumis par tostinni le 2 Septembre, 2007 - 03:10
T'as essaye CCK Field Permissions ?