Principale nouveauté, l’utilisation du tableau $contexte_inclus pour récupérer le nom de l’utilisateur connecté et son statut. Les éléments du tableau sont ensuite récupérer dans la page à l’aide d’un simple INCLURE.
Dans le .php :
<?php
$contexte_inclus['nom']=$GLOBALS['auteur_session']['nom'];
$contexte_inclus['statut']=$GLOBALS['auteur_session']['statut'];
$fond = "authenticate";
$delais = 1*1;
include ("inc-public.php3");
?>Et dans le .html, la boucle suivante :
<BOUCLE_qui(AUTEURS){tout}{nom}>
<div class="petitexte" style="padding:5px;"><strong>#NOM</strong> vous êtes authentifié [<a href="#URL_LOGOUT" class="lpetitexte">se déconnecter</a>]
<BOUCLE_moi(AUTEURS){tout}{id_auteur}{statut==0minirezo}>
<a href="./ecrire" class="lpetitexte">[administration]</a>
</BOUCLE_moi>
</B_moi>
<//B_moi>
</div>
</BOUCLE_qui>Le principe de fonctionnement de l’ensemble est classique :
- Il faut créer un champs extra dans la rubrique avec les valeurs : tout_public ou restreint. Si jamais vous n’avez pas de fichier mes_options.php3, une version minimaliste fait partie du dossier à télécharger.
- Ensuite les scripts, qui font partie du fichier authenticate.html, se chargent d’aller chercher la valeur du champs dans l’id_rubrique de l’article, puis dans l’id_rubrique de la rubrique parente et enfin dans le secteur.
De la même façon que sur mon site, si l’accès est restreint, un affichage spécifique apparaît dans la page rubrique, dont le contenu (liste d’articles) reste affichable. Si on demande l’affichage d’un article faisant partie d’une rubrique à accès restreint, la page comporte un message puis le titre et les 250 premiers caractères du texte. Cette solution a été choisie pour permettre le passage de Google et le référencement de certaines de ces pages. il est facile de supprimer ou modifier ces paramètres dans le fichier restrict_access_art.php, en décommentant les lignes contenant des exit ; (12,24,39,53).
En clair, vous devez recopier les 5 fichiers de l’archive à la racine de votre site et utiliser une simple ligne : <INCLURE(authenticate.php3)> à l’intérieur de la page dont vous voulez restreindre l’accès.
Rappel important, la contribution ne fonctionne qu’avec un champs extra nommé accessibility, au niveau des rubriques. Dans la version 1.8 un nouveau champ de la table rubrique peut remplacer le champ extra. Cependant, il n’existe pas d’interface graphique pour remplir ces nouveaux champ.
Ne pas oublier d’activer les forums sur abonnement pour bénéficier du statut visiteur qu’offre SPIP.



Fichiers pour la restriction d’accès
Vos commentaires
# Le 13 octobre 2006 à 12:18, par bgiorda
En réponse à : Gestion des autorisations d’accès (le retour)
Bonjour,
J’ai installé, comme indiqué, les fichiers dans mon répertoire squelette et modifier mon fichier mes_options.php3.
Après quelques problèmes (les champs extras apparemment mal déclaré pour SPIP 1.8.3) maintenant je peux choisir dans l’espace privé entre accessibility = « restreint » ou « tout_public » ou « en_travaux ».
Le problème vient du fait que lorsque je définis une rubrique avec accessibility="restreint", dans l’espace public j’arrive toujours à voir les articles de cette rubrique (j’ai vidé les caches de SPIP et du navigateur).
J’ai même fait afficher la valeur de ce champ accessibility sur ma page et, apparement il n’est pas défini.
Que puis-je faire pour que ça marche ? Merci d’avance.
# Le 12 décembre 2006 à 18:54, par allsec
En réponse à : Gestion des autorisations d’accès (le retour)
Bonjour,
Tout d’abord merci pour cette contrib qui a l’air fort intéressante et correspond tout à fait à ce qu’il me fallait.
Je suis sous spip 1.9.1, J’ai bien suivi toutes les opérations décrites aussi pour mon squelette avec les fichiers dans le repertoire de mon squelette, authenticate.php3 dans la racine et le fichier mes options dans le répertoire écrire . Cependant aucune option n’apparait
Est-ce le code qui doit être modifié ?
<?php
_ $GLOBALS['champs_extra'] = Array(
_ 'rubriques'=>Array(
_ "accessibility"=>"select|propre|||tout_public,restreint,en_travaux|",
_ ),
_ );
$GLOBALS['champs_extra_proposes'] = Array(
_ 'rubriques'=>Array(
_ 'tous'=>'accessibility',
_ ),
_ );
_ ?>
Merci d’avance
# Le 12 décembre 2006 à 22:21, par cy_altern
En réponse à : Gestion des autorisations d’accès (le retour)
hep ! t’aurais pas oublié de regarder les mots clés associés à cet article ? Parce qu’il est indiqué : « spip 1.8 » spip 1.8.1"... Alors cette contrib n’est, à priori pas indiqué pour ton spip 1.9.1...
Si tu cherche un plugin pour restriction des droits d’accès, tu as le plugin acces_restreint (http://www.spip-contrib.net/Le-plug...) ou le plugin acces_groupes (http://www.spip-contrib.net/Le-plug...).
Répondre à ce message
# Le 7 octobre 2005 à 17:57, par aurélien
En réponse à : Gestion des autorisations d’accès (le retour)
bonjour,
j’ai un problème avec cette contribution.
Dans le champ de séléction accessibility, il n’y a pas de choix possible.
Et lorsque je clique sur le vide, des rubriques restreintes (je ne sais pas comment d’ailleurs) passent en tout_public.
D’où vient ce problème, cela a-t-il un rapport avec la mise en garde sur Spip 1.8 ? (j’utilise la 1.8.1)
Une deuxième question : les rubriques restreintes sont tout de meme accessibles sans authentification, faut-il créer un squelette « accés restreint » en paralléle du « normal » ?
Merci pour votre réponse, je patauge !!!
# Le 7 octobre 2005 à 19:01, par ?
En réponse à : Gestion des autorisations d’accès (le retour)
Pour ce qui concerne la liste déroulante des valeurs d’accessibility, ceci provient de la gestion des extras. Dans mon cas, j’utilise toujours les fichiers additionels de l’interface graphique des extras, une contrib qui a un âge certain. Si les valeurs sont bien indiqués dans mes_options.php3 (fichier dans le zip), les valeurs deviennent sélectionnables dans article_edit.php3.
En ce qui concerne la deuxième question, j’explique que l’affichage des rubriques restreintes (liste d’articles et descriptif) correspond à un choix volontaire. Je montre de quoi il s’agit mais je n’offre pas l’accès aux articles complets. Il est bien expliquer qu’il faut décommenter certaines lignes du script qui gère les restrictions pour interdire l’affichage.
# Le 7 octobre 2005 à 19:31, par ?
En réponse à : Gestion des autorisations d’accès (le retour)
Merci pour la réponse,
je peux enfin choisir l’accéssibilité !!
Je vais voir pour le ’décommentaire" ;)
merci
# Le 7 octobre 2005 à 19:35, par ?
En réponse à : Gestion des autorisations d’accès (le retour)
Allez, j’en rajoute un.
CA MARCHE IMPECCABLEMENT !!!
Merci pour cette contrib et pour l’aide
Répondre à ce message
# Le 2 septembre 2005 à 18:17, par DoriaN
En réponse à : compléments
La restriction d’accès fonctionne avec des champs EXTRAS (encore un truc un peu obscur de spip...)
ceci implique donc la présence d’un fichier mes_options.php3 dans le dossier ecrire, ce fichier sert, entre autre, à définir ces fameux champs extras
(si besoin chercher des infos sur spip-contrib )
en relisant effectivement c’est assez peu expliqué sur la contrib, mais le fichier mes_options fourni dans le zip doit suffir
une fois cela en place un champ « accessibility », au niveau des rubriques, permet de choisir le statut de la rubrique : « tout public » ou « restreint » (vider éventuellement le cache du navigateur...)
dans le squelette la seule ligne
<INCLURE(authenticate.php3)>suffitc’est pas si dur !
# Le 22 septembre 2005 à 18:41, par ?
En réponse à : > autorisation d’accés
Bonjour,
Je suis débutant dans spip et je ne comprends pas ou la ligne
doit etre
mise dans le squelette.
Merci de bien vouloir m’aider
# Le 23 septembre 2005 à 12:15, par ?
En réponse à : > autorisation d’accés
La ligne peut être mise n’importe où. L’emplacement n’est déterminé que par l’affichage. Moi je le positionne en haut à gauche dans un cadre qui affiche l’utilisateur connecté. Il est également possible de le positionner dans un header. Il faut quand même qu’il soit bien visible pour que l’utilisateur introduise ses identifiants et qu’il se retrouve à un endroit similaire dans toutes les pages à restreindre.
# Le 23 septembre 2005 à 18:49, par ?
En réponse à : > autorisation d’accés
Bonjour,
je pense que je me suis mal exprimé en fait c’est la procédure que je ne comprends pas.
Aprés avoir télécharger le zip j’ai mis tous ces fichiers dans le repertoire « ecrire ».
en effet lors de la création d’une rubrique il y a bien le champ extra crée avec l’accés restreint.
mais ensuite cela ne fonctionne pas même après avoir rempli ce champ.
si vous pouviez m’indiquer la procédure pas à pas je vous en serai trés reconnaissant.
Merci d’avance.
# Le 23 septembre 2005 à 20:04, par ?
En réponse à : > autorisation d’accés
Dans ecrire il faut mettre le mes_options.php3, c’est à dire la déclaration des champs extra. Le reste se passe sur les squelettes, donc à la racine su site ou dans le dossier squelettes, mais surtout pas dans ecrire. Au même endroit que article.php3 pur authenticate.php3 (à la racine du site), ou dans le dossier qui contient les .html (article.html, rubrique.html) pour authenticate.html
Répondre à ce message