Le plugin Accès Restreint

Le plugin accès restreint permet de définir et de gérer des zones de l’espace public et privé en accès restreint. Les zones ainsi définies ne sont alors accessibles qu’aux visiteurs authentifiés et autorisés.
Depuis SPIP 2, on utilisera Acces Restreint 3.0 qui respecte le même fonctionnement.

Utilité et fonctionnalités du plugin

Le plugin accès restreint vous permet de protéger et de restreindre l’accès à certaines rubriques uniquement aux visiteurs authentifiés et autorisés.

Si un visiteur n’est pas authentifié ou s’il n’est pas autorisé, alors l’intégralité de la rubrique (ce qui inclus les sous rubriques, les articles, les liens ...) ne seront pas accessible à ce visiteur.

Si le visiteur est authentifié, alors ce visiteur pourra accéder aux rubriques pour lesquelles il a reçu une autorisation d’accès.

Ainsi, ce plugin vous permet de masquer du contenu aux visiteurs non identifiés, et de créer des droits d’accès aux visiteurs identifiés.

Les dernières versions de ce plugin permettent (à partir de SPIP 1.9.2) de filtrer également l’espace privé. Pour les versions précédentes, on parle de visiteurs identifiés ou non, et uniquement de visiteurs, les rédacteurs et les administrateurs auront eux accès à l’intégralité des contenus depuis l’espace privé.

En résumé, le plugin accès restreint permet de définir et de gérer des zones de l’espace public (et de l’espace privé à partir de spip 1.9.2) en accès restreint.
Chaque zone contient des rubriques, et les auteurs peuvent être associés à des zones pour avoir le droit d’y accéder.
Toutes les boucles natives de SPIP sont surchargées pour en filtrer les résultats en fonction des droits du visiteur.

I. Installation du plugin accès restreint

1. Placez le plugin, après l’avoir récupéré dans les packages de la zone, http://zone.spip.org/files/spip-zone/, dans un dossier nommé plugins à la racine de votre site SPIP.

2. Allez dans l’espace privée du site : Configuration / Gestion des plugins en tapant l’url suivante : ecrire/ ?exec=admin_plugin

3. Cochez le plugin Accès restreint et validez

4. Videz le cache

Attention : en activant ou en désactivant ce plugin, il faut penser à vider le cache de SPIP. Sinon, vous aurez les erreurs php décrites dans le forum de cet article.

II. Définir les zones en accès restreint

Les étapes précédantes ont pour effet de faire apparaître un nouvel onglet dans Configuration / Accès restreint, avec une petite icone de cadenas : ecrire/ ?exec=acces_restreint

C’est cette page qui va vous permettre de gérer les zones d’accès restreint de votre site, créer de nouvelles zones ou modifier les zones existantes. Pour créer votre première zone, cliquez sur le raccourci Créer une nouvelle zone.

L’administrateur qui crée la zone peut s’octroyer immédiatement les droits d’accès. Seul un administrateur général du site peut créer, modifier ou supprimer une zone.

-  créer une nouvelle zone
-  lui donner un titre
-  lui donner un descriptif
-  cocher « m’ajouter les doits d’accès à cette zone »

Il faut définir les rubriques qui en font partie. Si on coche la racine du site, il n’y a plus aucun affichage sur l’espace public pour ceux qui ne sont pas identifiés. C’est pratique, par exemple, pour mettre un site en ligne pour les admins et les auteurs sans qu’il soit visible pour le simple visiteur.

Les rubriques qui sont cochées sont explicitement restreintes. Si elles sont déplacées dans le site, elle le resteront. Les rubriques qui ne sont pas cochées mais dépendent d’une rubrique restreinte sont elles aussi restreintes, par héritage. Mais si elles sont déplacées dans l’arborescence dans une zone non restreinte elles seront visibles.

Il faut imaginer la restriction d’acces des rubriques comme une restriction d’accès dans un immeuble : lorsqu’il faut un autorisation pour franchir une porte, tout ce qui est derrière se retrouve en accès restreint.

Valider pour créer la zone. Vous obtiendrez alors ceci :

Toutes les rubriques restreintes de la zone (explicitement ou indirectement) apparaissent sur fond coloré.

La liste des auteurs ayant accès à une zone est affichée sous le formulaire d’édition.

Pour revenir à la liste des zones, cliquez sur Voir toutes les zones :

III. Créer des auteurs et/ou des visiteurs et leur donner les droits sur les rubriques protégées

Une fois la ou les zones créées, il faut aller dans la fiche auteur et indiquer à quelles zones l’auteur ou le visiteur ont accès. La fonction de restriction par zone n’apparaît, en effet, qu’après la création d’un auteur.

ecrire/ ?exec=auteurs_edit&id_auteur=2

Un administrateur général du site peut ajouter ou supprimer l’accès à toute zone pour tous les auteurs (administrateur, rédacteur ou visiteur). Un administrateur restreint ne peut intervenir que sur les rédacteurs et les visiteurs. Il peut accorder ou supprimer l’accès uniquement aux zones auxquelles il a lui-même accès. Il lui est également possible d’accorder l’accès à une des ces zones à un autre administrateur mais ne peut lui supprimer l’accès.

L’interface du plugin est internationalisée. Mais pour l’instant, seul les fichiers de langue anglais et français sont disponibles. Vous pouvez compléter les fichiers de langues ou les personnaliser dans le répertoire lang du plugin.

IV. Fonctionnement et boucles du plugin

1. Aspects techniques

-  Le plugin accès restreint installe trois nouvelles tables dans SPIP, comme on peut le voir dans le répertoire base du plugin :

-  Une table descriptive des zones d’accès, appelée spip_zone
-  et deux tables de liens zones-auteurs et zones-rubriques, appelées spip_zones_auteurs et spip_zones_rubriques.

Ces tables sont sauvegardées automatiquement lors d’un dump dans l’onglet Configuration/Maintenance /Sauvegarde du site.

2. Comportement

Le plugin modifie le comportement des boucles SPIP pour que le résultat ne fasse apparaître que ce que le visiteur (que ce soit un visiteur anonyme un visiteur identifié ou un auteur au sens de SPIP) a le droit de voir.

L’intérêt de cette démarche, c’est qu’elle fonctionne sur toutes les boucles, donc tout le site se trouve instantanément sécurisé sans aucune modification de squelette. Il n’y a pas de risque d’oublier un morceau.

Ce plugin nous garantie l’absence de fuite liée a de nouvelles fonctionnalités de SPIP (comme les modèles [1] de 1.9.1 qui seraient une belle faille pour ceux qui sécuriseraient du contenu au moyen des squelettes).

Le principe même de fonctionnement du plugin acces-restreint est de ’supprimer’ du résultat des boucles tout ce que le visiteur n’a pas le droit de voir. Ainsi les zones à accès réservées sont invisibles pour qui n’y est pas habilité.

N’ayez donc aucune crainte en ce qui concerne les robots, les moteurs de recherche, ou les fichiers de backend. Le filtre est infaillible.

Ce principe de fonctionnement permet au plugin de filtrer le contenu publié sans modification du squelette. Cela permet aussi d’avoir des menus (liste de rubriques) cohérents avec le contenu effectivement accessible. Bref c’est un parti pris, qui fait son efficacité même.

En contrepartie, un visiteur (identifié ou non) qui essaie d’accéder à du contenu auquel il n’a pas le droit a le même résultat que si le contenu n’existait pas, (il est renvoyé sur une page 404) car, d’un point de vue technique ce contenu n’existe effectivement pas dans le résultat des boucles SPIP des squelettes qu’il interroge.

À partir de là, il y a deux stratégies possibles selon la finalité de l’accès restreint :

-  Un filtrage fort, sans indication qu’un contenu existe mais qu’il n’est pas accessible : avoir un lien ’S’identifier’ générique sur tout le site, qui permet aux personnes habilitées de se connecter pour accéder au contenu.

-  Un filtrage avec information : dans la partie alternative de la boucle article ou de la boucle rubrique, on regarde si l’objet existe et s’il a été filtré, et dans ce cas alors, on présente le formulaire de login.

À cet effet, deux filtres ont été créés pour le plugin :
-  AccesRestreint_article_restreint appliqué à l’id_article

-  AccesRestreint_rubrique_restreinte appliqué à l’id_rubrique

De plus le critere {tout_voir} permet de passer outre le filtrage d’acces. Il peut etre utilisé par exemple pour lister les titres des articles dans une rubrique restreinte, ou meme pour verifier l’existence d’un article filtré, a la place des deux filtres ci-dessus.

3. Exemple de boucle :

<BOUCLE_main(ARTICLES){id_article}> bla bla bla </BOUCLE_main>

[(#ID_ARTICLE|AccesRestreint_article_restreint|?{' ',''}) #LOGIN_PUBLIC ] 

[(#ID_ARTICLE|AccesRestreint_article_restreint|?{'',' '}) Cette page n'existe pas ] 

<//B_main>

On peut faire, sur le même modèle, une boucle rubrique, en utilisant l’utilisation normale et judicieuse des parties alternatives des boucles spip. La boucle donnée ci-dessus illustre l’idée, mais il va sans dire qu’en contexte réel, il serait préférable de faire des inclure, soit d’un squelette formulaire avec un login public, soit d’un squelette de page d’erreur 404.

En résumé, pour faire la différence entre un article ou une rubrique inexistante, et un article ou une rubrique masquées, il y a deux filtres pour ca, qu’il faut utiliser dans la partie alternative des boucles.

<BOUCLE_article(ARTICLES){id_article}>
là j'affiche mon article normalement
</BOUCLE_article>
[(#ID_ARTICLE|AccesRestreint_article_restreint|?{' ',''})    
là je fais ce qu'il faut pour dire à ce visiteur qu'il ne s'est pas identifié ]
[(#ID_ARTICLE|AccesRestreint_article_restreint|?{'',' '})
là je dis que vraiment non cette page n'existe pas, ou alors qu'on l'a perdue ... ]
<//B_article>

Un autre exemple utile consiste à lister toutes les rubriques contenues dans une zone.
Pour cela on utilise le critere tout_voir et id_zone pour obtenir les rubriques liées à une zone. Mais attention, ce dernier critère ne retourne que les rubriques explicitement cochées dans l’interface, pas toutes les rubriques filles.
Pour lister toutes les rubriques d’une zone, il faut donc ecrire :

<ul>
<BOUCLE_rubs(RUBRIQUES){id_zone=1}{tout_voir}>
<BOUCLE_sousrub(RUBRIQUES){branche}{doublons}{tout_voir}>
<li>#TITRE</li>
</BOUCLE_sousrub>
</BOUCLE_rubs>
</ul>

On notera l’utilisation du critère doublons dans la sous boucle. Il a pour but d’éviter l’affichage d’une même rubrique à plusieurs reprises dans le cas ou plus d’une rubrique est cochée et ou l’une est dans la branche de l’autre.

V. Page d’identification et login public

Voilà le plugin est « magique », il filtre tout pour vous une fois que les accès ont été définis, que les rubriques et les auteurs ont été rattachés aux zones restreintes.

Pourtant, il faut encore faire un petit effort, même si vous avez l’habitude que spip fasse tout pour vous, y compris l’impossible :-)

-  Le premier effort à faire, c’est de mettre un formulaire de login en page d’accueil, ou un bouton « s’identifier » qui permette au visiteur de se loguer :

-  Pour l’identification, un #LOGIN_PUBLIC fait très bien l’affaire.

-  Pour donner des droits d’accès à des personnes qui ne sont ni administrateur (petit bonhomme vert dans la page auteur), ni rédacteur (petit bonhomme jaune), il faut les inscrire en tant que visiteur, (petit bonhomme bleu). Attention, pour avoir un statut visiteur qui ne puisse pas se connecter à la partie privée, il faut bien penser à activer la partie forum et à configurer le site en conséquence. Dans la partie de configuration du site, à cette url, ecrire/ ?exec=config_contenu , cochez les options suivantes :

-  Enregistrement obligatoire (les utilisateurs doivent s’abonner en fournissant leur adresse e-mail avant de pouvoir poster [2] des contributions.

-  Ne pas accepter les inscriptions

Les visiteurs ne se trouvent pas dans la page auteurs de la partie privée, mais à cette url
 ?exec=auteurs&visiteurs=oui

Ce plugin a été bien intégré sur ce site, qui pourra nous servir d’exemple : http://cfdt-scerao.fr/.
On constate que sur le modèle du squelette login.html présent dans la dist de SPIP 1.9, cette page qui donne accès à l’espace privé, l’auteur de ce site a créé un squelette appelé login_public.html
qui sera le passage obligé pour accéder à l’espace réservé aux adhérents, sans qu’ils aient toutefois accès à l’espace privé, avec, comme option l’envoi de mot de passe si celui-ci a été oublié :

Voici le bout de code à mettre dans le squelette login_public.html :

<div class="formulaire_spip formulaire_login">
#LOGIN_PUBLIC
<p style="text-align: center;">
&#91;<a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;">
<:login_motpasseoublie:></a>&#93;
&#91;<a href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
</p>
</div>

Ce qui donne un formulaire de connection qui ressemble à cette capture d’écran :

Une fois l’adhérent correctement logué, il aura donc accès aux rubriques protégées.

Mieux encore que #LOGIN_PUBLIC , il convient d’utiliser :[(#LOGIN_PUBLIC|mapage.html)] . Voir à ce sujet la documentation de SPIP sur les formulaires http://www.spip.net/fr_article1827.html


-  #LOGIN_PUBLIC
D’une utilisation beaucoup plus spécifique, la balise #LOGIN_PUBLIC affiche un formulaire permettant à vos utilisateurs de s’identifier tout en restant sur le site public (sans entrer dans l’espace privé). Cette balise sert notamment à authentifier les visiteurs pour les sites proposant des forums modérés sur abonnement. Elle peut aussi servir de brique de base pour restreindre l’accès à certains contenus sur le site public : mais cela reste d’un maniement complexe, et nécessitera encore des développements et la rédaction de tutoriels complets avant d’être facilement utilisable par tous ; néanmoins, un exemple d’utilisation avancée est donné plus bas.
Le #LOGIN_PUBLIC, par défaut, « boucle sur lui-même », c’est-à-dire que le formulaire revient sur la page où il se trouve. On peut cependant indiquer une page vers laquelle le formulaire mènera, sous la forme :

[(#LOGIN_PUBLIC|spip.php?page
=mapage)] ou [(#LOGIN_PUBLIC|spip.php?rubrique20)]

Si votre site offre une inscription automatique à l’espace privé, les données de connexion à l’espace public sont identiques à celles de l’espace privé ; c’est-à-dire que les données envoyées à l’utilisateur pour s’identifier à l’espace public lui permettent également d’accéder à l’espace privé.
Si, au contraire, vous avez interdit l’inscription automatique à l’espace privé, il faut impérativement avoir au moins un article dont les forums seront réglés en mode « sur abonnement » pour activer cette balise ; dès lors, SPIP pourra fournir des informations de connexion pour le site public sans accès à l’espace privé.

-  #URL_LOGOUT est le pendant de #LOGIN_PUBLIC ; il donne une URL permettant à un visiteur authentifié de se déconnecter.
On peut passer un paramètre à cette balise pour spécifier l’adresse de retour après la déconnection. Par exemple :

[(#URL_LOGOUT{spip.php?page=
sommaire})] renverra vers la page de sommaire.

Voici un exemple simple, mais complet, d’utilisation de ces deux balises. Il faut passer par un peu de php pour tester la variable
$auteur_session qui indique qu’un auteur est identifié ou non. Si c’est le cas, on peut récupérer (voire tester) son statut, son login, etc., via $auteur_session['statut']....

<?php if ($auteur_session) { ?>
Vous êtes authentifié, <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a>
... ici le contenu en accès restreint....
<?php } else { ?>
<h2>Cette partie est en accès restreint</h2>
#LOGIN_PUBLIC
<?php } ?>

VI. Comment je fais dans mes squelettes ?

Nous mettons en pièce jointe un fichier Accès_restreint_noisettes.zip, avec tous les éléments qu’il vous faut.

Nous vous proposons une méthode simple, qui modifie un minimum la Dist, et s’adapte à n’importe quelle situation.

1/ Insérer partout dans vos squelettes les deux noisettes d’identification et de déconnection. Libre à vous de créer des chaînes de langues, et ou/de personnaliser le texte. Le plus simple est de se servir d’une inclusion sous les rubriques, dans inc_rubrique.html par exemple.

[(#REM) noisette de deconnection]
<INCLURE{fond=inc_identification_sedeconecter}{lang}>

[(#REM) noisette de connection]
<INCLURE{fond=inc_identification_visiteurs}{lang}>

2/ Mettre les noisettes dans le répertoire squelettes, avec éventuellement l’image du cadenas.

-  inc_identification_sedeconecter.html

#CACHE{3600}
[(#REM) Deconnection ]
<?php if ($auteur_session) { ?>
<h1><?php echo $auteur_session['nom']; ?></h1>
<p>Vous &ecirc;tes authentifi&eacute;,<br />
<a href='#URL_LOGOUT'>Se d&eacute;connecter</a><p>
#LOGIN_PUBLIC
<?php } else {} ?>

Cette noisette n’affiche rien si le visiteur est identifié, et affiche le nom de la personne s’il est identifié, en lui proposant de se déconnecter.

-  inc_identification_visiteurs.html

#CACHE{3600}
[(#REM) Identification ]

<?php if ($auteur_session) { } 
else { ?>

<h1>Intranet
<!-- facultatif<img style="width: 24px; height: 24px;" alt="zone prot&eacute;g&eacute;e" src="#URL_SITE_SPIPsquelettes/zones-acces-24.gif" />-->
</h1>

#LOGIN_PUBLIC

<p><a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;"><:login_motpasseoublie:></a></p>

<?php } ?>

Cette noisette n’affiche rien si vous êtes identifié, et affiche le formulaire d’identification si le visiteur n’est pas identifié.

L’interêt de créer deux fichiers distincts, c’est que l’on peut les placer à deux endroits différents sur le site.

3/ formulaire_login.html
Le placer dans squelettes/formulaires pour ne pas l’écraser lors d’une future mise à jour, et de le personnaliser. Nous vous en proposons un, légèrement modifié par rapport à celui de la distribution officielle, qui a l’énorme avantage de désactiver le focus [3]
, qui pourrait se révéler très vite pénible et encombrant, car il agit comme une ancre, et si vous ne le désactiver pas, vos visiteurs seront automatiquement « redirigés » vers le formulaire d’authentification. Ce défaut ergonomique se constate sur les petites résolutions, ou sur les sites ayant de nombreuses rubriques

formulaire_login.html

4/ inc_nom_statut_ip.html
Une dernière noisette optionnelle, qui peut vous donner le statut de la personne connectée, administrateur, rédacteur ou visiteur, à inclure par exemple dans inc_identification_sedeconecter.html

[(#REM) noisette de statut]
<INCLURE{fond=inc_nom_statut_ip}{lang}>
<?php echo 
$auteur_session['nom'].'<br />';
switch ($auteur_session['statut']) 
{
case '0minirezo' : echo 'Administrateur<br />'.$REMOTE_ADDR; break;
case '1comite'   : echo 'R&eacute;dacteur'; break;
case '6forum'    : echo 'Simple visiteur'; break;
} 
?>

5/ Voir aussi la noisette qui permet de donner l’intro de l’article et un formulaire de login avec le critere {tout_voir}.
Elle est disponnible sur la zone et dans la dernière version du plugin.
Pour la voir en fonctionnement, c’est sur spip-zone.info.

6/ Une autre noisette, qui joue sur le plugin Balise Session et Accès restreint, est disponnible ici.

Voilà vos squelettes sont fin prêts pour un intranet ou un accès restreint.

VII. Ce que ne faisait pas le plugin en version SPIP 1.9.1

Le plugin accès restreint sous SPIP 1.9.1 était parfait pour l’espace public. Mais, il ne permettait pas encore de restreindre et de filtrer l’espace privé.

VIII. Accès restreint et filtrage de l’espace privé depuis la version 1.9.2 Pr1, SVN et au-delà

C’est désormais possible de bénéficier de toutes les fonctionnalités du plugin dans l’espace privé. Pour chaque zone restreinte, on définit si ca doit filtrer l’espace public et/ou l’espace privé. Et non seulement ca restreint l’accès, mais ca permet encore de filtrer l’affichage de la partie privée.

Donc un rédacteur qui n’est pas rattaché à une zone ne verra pas les rubriques de cette zone dans l’interface d’administration. Un administrateur non plus. Attention toutefois, seul l’administrateur restreint, ne pourra pas changer le statut des zones du plugin. Un administrateur complet peut se rajouter à une zone restreinte s’il le désire.

IX. Interaction avec le plugin Agenda

Le plugin accès restreint filtre, dans l’espace public, la boucle EVENEMENTS du plugin Agenda. Seuls les évènements inclus dans un article appartenant à une rubrique accessible seront visibles.

À partir des versions SVN n°11549 pour le plugin accès restreint et 11548 pour le plugin agenda en date du 21 avril 2007, le filtrage des évènements dans l’espace privé est également pris en charge.

X. Jouons avec le plugin accès restreint et le plugin balise session

Objectifs :

-  Afficher un bouton de connexion si et seulement si le plugin accès
restreint est installé *et* il y a au moins une rubrique de restreinte.
-  Un fois identifié, Afficher d’une manière différente les rubriques qui
était masquées
-  Et afficher un bouton de déconnexion

Dans un premier temps, vérifier que le plugin accès restreint est installé.
Pour cela, lire la config des plugins en y cherchant la signature du
plugin accès restreint :

[(#CONFIG{plugin}|match{ACCESRESTREINT}|?{' 
'})<INCLURE(session.php){fond=login-logout}{connexion}{id_article}{id_rubrique}>]

Ensuite, dans le squelette login-logout.html vérifions qu’il y a au
moins une rubrique protégée.

<BOUCLE_AuMoinsUneRubriqueProtegee(ZONES_RUBRIQUES){0,1}>
[(#SESSION{id_auteur}|?{' '})<a href="#URL_LOGOUT" 
title="<:deconnexiontitle:>">[(#SESSION{nom}|propre)], <:deconnexion:></a>]
[(#SESSION{id_auteur}|?{'',' '})<a 
href="[(#SELF|parametre_url{connexion,y})]" title="<:connexiontitle:>" 
rel="nofollow"><:connexion:></a>]
</BOUCLE_AuMoinsUneRubriqueProtegee>

C’est<BOUCLE_AuMoinsUneRubriqueProtegee(ZONES_RUBRIQUES){0,1}> qui fait tout le travail : regarder si dans la table du plugin accès restreint,
il y a au moins une ligne.

Quant à #SESSION{id_auteur}, c’est une balise du plugin sessions qui permet de savoir s’il y a ou nom un auteur de connecté.

Et il faut avoir quelque par dans le squelette l’affichage du formulaire
de login, conditionné au fait que l’on a demandé la connexion :

[(#REM) le bloc s'ouvre en milieu de page, mais bon là si on est sur / 
faut rediriger proprement bidouille si sommaire...]
[(#ENV{connexion}|=={y}|?{' ',''})
<div id="connexion">
[(#SELF|=={?connexion=y}|?{
<!--accueil-->
[(#LOGIN_PUBLIC|?)]
,
<!--autre-->
[(#LOGIN_PUBLIC)]
})]
</div>]

Enfin pour différencier les rubriques qui étaient invisibles avant la connexion, vérification que la rubrique en cours est bien dans une zone restreinte :

<BOUCLE_test(ZONES_RUBRIQUES){id_rubrique}{0,1}> Cette rubrique vous est 
réservée </BOUCLE_test>
À noter : ceci ne donne que la rubrique mère protégée, pas ses filles.

Amusez-vous bien !

XI. Astuce pour récupérer un flux RSS personnalisé

Si vous vous abonnez au flux RSS d’un site avec Accès restreint, par exemple avec Thunderbird, avec l’adresse http://monsite.net/spip.php?page=backend, vous ne verrez apparaitre dans le flux que les articles accessibles aux visiteurs non identifiés puisque, via Thunderbird, vous ne serez pas identifié sur le site.

Il est possible d’utiliser une identification HTTP afin de récupérer un flux RSS contenant l’ensemble des articles auxquels vous avez accès. ATTENTION : avec ce type d’identification, votre login et votre mot de passe seront transmis en clair dans l’URL.

Utilisez l’adresse suivante pour vous abonner au flux RSS dans Thunderbird :
http://login:motdepasse@monsite.net/spip.php?action=cookie&essai_auth_http=oui&url=spip.php?page=backend. Vous obtiendrez alors un flux comportant les articles auxquels vous avez accès. Cette astuce fonctionne avec n’importe quelle page.

XII. Options de fonctionnement des zones

Marcimat a rajouté des define pour changer le comportement des restrictions sur les zone.

Par défaut dans Acces restreint, si une rubrique 1 restreinte par une zone A englobe une sous rubrique 2 restreinte par une zone B, alors

  • A ne peut pas voir 2
  • B ne peut pas voir 1
  • On ne peut voir que sur les restrictions dont on a tous les droits : pour qu’un auteur puisse voir (2), il doit faire partie de A et de B. Pour qu’un auteur puisse voir 1, il doit faire partie de A.

Avec le define AR_TYPE_RESTRICTION
AR_TYPE_RESTRICTION = faible [4] :
on peut déjà de dire qu’une zone accède à des sous rubriques quelque soit la restriction appliquée à celle-ci en plus. Ainsi on obtient que :

  • un auteur de la zone A peut voir 2 (et 1 bien sûr), car 2 est contenu dans 1.
  • mais un auteur de B ne peut pas voir 1 (parent de 2). Il ne peut que voir 2.

Avec le nouveau define AR_TYPE_RESTRICTION_PARENTEE (en cumul avec AR_TYPE_RESTRICTION = faible)
AR_TYPE_RESTRICTION_PARENTEE = faible [5]

On peut dire qu’un auteur voyant une rubrique restreinte dans une certaine profondeur a accès aux rubriques parentes, mêmes restreintes (mais pas aux frères restreints tout de même !). Dans ce cas :

  • un auteur de A voit 2 (deja fait avec AR_TYPE_RESTRICTION = faible)
  • au auteur de B voit 1 (le parent de 2)

De la sorte, on peut imaginer des rubriques

  • [ ] Projets
    • — [ ] Projet A
    • — [ ] Projet B

Si une zone existe pour le projet A, incluant quelques personnes, et qu’une zone existe pour « Projets » incluant les « collaborateurs » : les collaborateurs peuvent voir tous les projets, les participants de A peuvent voir le projet A ET la rubrique « Projets » parente : qui ne listera que « Projet A » avec les squelettes SPIP par défaut.

Notes

[1Imaginons une rubrique 23 sécurisée par un squelette avec du code php <?php if (....) ?> pour ne pas afficher la page si l’auteur n’a pas les droits, et bien si dans un forum, par exemple, il faisait appel au modèle <article 30> ou à une autre variante, il pourrait accéder à du contenu restreint. Avec ce plugin, qui ne joue pas sur la squeletisation, tout est bien sécurisé, on peut dormir tranquilement, ce sont bien toutes les boucles qui sont filtrées.

[2Cela ne veut pas dire, pour autant, que vous êtes obligés d’utiliser les forums, mais seulement que vous pourrez octroyer des zones restreintes à de simples visiteurs

[3L’astuce pour désactiver le focus est assez fine, on a déplacé le crochet de la fonction javascript qui gère le focus.
Avec Focus

53 <script type="text/javascript"><!--
54 document.getElementById('var_login[_(#ENV{login})]').focus();
55  --></script>


Sans Focus

49<script type="text/javascript"><!--
50document.getElementById('var_login_[(#ENV{login})]').focus();
51--></script>

[4code à ajouter dans le fichier mes_options.php du SPIP
define('AR_TYPE_RESTRICTION','faible');

[5code à ajouter dans le fichier mes_options.php du SPIP :
define('AR_TYPE_RESTRICTION_PARENTEE','faible');

Discussion

267 discussions

  • Je suis surpris de voir des documents pdf qui sont liés a une rubrique qui fait partie d’une zone d’accès restreinte et qui sont malgré tout indexé par Google et accessible via leur URL du type http://www.monsite.com/IMG/pdf/monpdf.pdf ...
    Comment régler ce problème ?
    Merci.

    SPIP 4.2.8 + Accès Restreint 6.0.4

    Répondre à ce message

  • 2
    Alain7159

    Bonjour,

    Spip 4.0
    Accesrestreint 4.2.3
    Php 7.4
    libmysql - 5.6.43
    Testés sans aucun Plugin.

    Les bases spip_zones et spip_zones_liens ne sont pas créées. Il me semble que c’est le Plugin qui les créé, non ?
    Aucune idée d’où vient le problème. Merci de votre aide.

    • Alain7159

      Après désinstallation et ré-installation spip_zones et spip_zones_liens créées.

      Pas compris la raison.

    • Bonjour,
      Pour ma part migration de spip 3.2.2 vers spip 4.0.5 en php 8.0.
      Soucis avec Accès restreint 4.2.4.
      Des warning php sautent aux yeux un peu partout : partie privée / formulaires / partie publique...

      Warning: reset(): Argument #1 ($array) must be passed by reference, value given in .../plugins/auto/accesrestreint/v4.2.4/inc/accesrestreint.php on line 149

      Toutes les écritures dans inc/accesrestreint.php du type
      ... = array_map('reset', ...
      sont concernées : les lignes 73, 149, 190 et 347

      Solution immédiate : rétrograder en php 7.4 et toute est bon.
      Cordialement.
      _

    Répondre à ce message

  • Avec SPIP3.x et « Accès restreint 4.0 »,
    l’exemple d’appel suivant fonctionne :

    [(#SESSION{id_auteur}|non) #LOGIN_PUBLIC]
    [(#SESSION{statut}|=={0minirezo}|oui) Administrateur]
    [(#SESSION{statut}|=={1comite}|oui) Rédacteur]
    [(#SESSION{statut}|=={6forum }|oui) Visiteur]
    [(#SESSION{id_auteur}|oui)<i>#SESSION{nom}</i><br/><a href="#URL_LOGOUT{#URL_PAGE{sommaire}}">déconnexion</a>]

    Pour une MAJ de la doc (?)
    Cordialement
    Philippe

    Répondre à ce message

  • Bjr,
    dans les paramètres du plugin, pour une zone en accès restreint, il y a la case à cocher « Autoriser l’accès à cette zone à toute personne connectée ».
    L’ennui c’est que ça inclus les ’simples visiteurs’.
    Du coup je l’ai décoché, mais je dois ajouter alors les rédacteurs un à un.
    A moins qu’il y ait une autre manière de faire pour ajouter tous les rédacteurs du site, présents et futurs, à la zone ?

    Pour l’avenir, peut-être ce serait bien d’avoir plus d’options pour cette case ?, du genre :
    Autoriser l’accès à cette zone à :
    tous les visiteurs
    tous les rédacteurs

    Mais en tout cas c’est très pratique, on va l’utiliser pour une rubrique en mode wiki « privé ». Merci

    Répondre à ce message

  • 4

    Bonjour,

    Je n’ai pas encore commencé et je me demande comment bien attaquer la chose !! Voilà :

    En fait je voudrais que n’apparaissent que les rubriques restreintes pour un utilisateur connecté disposant des droits ad hoc bien sûr !
    J’ai un peu de mal avec la conception de cette boucle .... mais je me soigne ... une idée ?

    Merci d’avance !

    • Le but, c’est d’avoir

      1. seulement les rubriques auxquelles il a accès + les rubriques non protégées ?
      2. ou de masquer les rubriques non protégées et de n’afficher que les rubriques protégées auxquelles il a droit ?
    • Oups ! sans doute ne suis-je pas clair !!

      « que n’apparaissent que les rubriques restreintes pour un utilisateur »

      A mon sens ce serait plutôt l’hypothèse 2 !

    • Alors, si tu listes toutes les rubriques, par défaut, tu auras :

      • les rubriques non protégées
      • les rubriques protégées auxquelles le visiteur logué a accès

      Donc, si tu filtre ce résultat avec ce point décrit dans la doc : « AccesRestreint_rubrique_restreinte appliqué à l’id_rubrique », ça devrait le faire...

    • Mais tu as parfaitement raison ... J’ai eu une sacrée panne de cervelet !!
      Désolé d’avoir posé une question aussi bête ...
      merci beaucoup, 1000 excuses et bon WE !

    Répondre à ce message

  • Bonjour,
    Le plugin accès restreint 0.2 pour SPIP 1.9.2 ne se trouve plus au grenier... Ou peut on le télécharger ?
    Cordialement

    Répondre à ce message

  • 2
    Rodolphe

    Bonjour,

    J’utilise le plugins Accès Restreint en version 3.8.12 sur un spip en version 3.0.16 et j’ai un CAS (http://contrib.spip.net/cicas-plugin-d-authentification-avec-CAS-pour-SPIP) pour authentifier mes utilisateurs.

    Lorsqu’un utilisateur veut atteindre une zone restreinte en passant par le CAS, il tombe sur une page 404, et l’adresse pointe vers le site mais dans la partie privée avec cette adresse :
    http://monsite.fr/rubrique_restreinte/ecrire/?bonjour=oui

    Savez pourquoi il pointe vers la zone privée au lieu de son adresse en zone publique ?

    • Il faudrait voir du côté du plugin CAS. Il doit y avoir un problème de redirection en sortie du formulaire d’identification

    • Rodolphe

      Bonjour,

      Le CAS fonctionne très bien avec une page en zone privée, typiquement pour accéder à la gestion du site. Par contre quand la rubrique est restreinte et sur la partie publique cela ne fonctionne pas, SPIP redirige vers la partie privée (/ecrire).

      Dans les logs du SPIP CAS, j’ai bien la bonne adresse publique qui est redirigée.

      Est ce une mauvaise interaction entre l’authentification interne du spip et le plugins acces restreint ou le plugins CICAS ?

    Répondre à ce message

  • 1

    Bonjour,
    J’utilise « acces_restreint » avec spip 1.9.2 sans problème.
    J’ai voulu évoluer vers SPIP 3.014. Après quelques problèmes d’installation, il fonctionne correctement.
    Toutefois je rencontre un problème après l’identification. Au lieu de retourner sur mon site, il retourne sur le formulaire mais sans les mentions de connexion. Il faut valider « retour au site public » pour y accéder ce qui n’est pas ergonomique. Je ne rencontrait pas ce problème avec spip 1.9.2.
    Quelqu’un a-t-il la solution ?
    Je précise que j’ai utilisé les noisettes" fournies.
    Merci d’avance. Cordialement

    • Bonjour,
      J’ai trouvé la réponse à la question que je posai, alors je la poste.

      Pour Spip3, pour « acces_restreint », il faut remplacer la noisette fournie par :

      [(#SESSION|non)

      #LOGIN_PUBLICspip.php ?page=sommaire

      ]
      (#SESSION

      Cordialement

    Répondre à ce message

  • Bonjour,
    Je ne parviens pas à restreindre l’accès à la racine du site. La case se décoche automatiquement après validation. Quelqu’un sur le forum a visiblement eu le même problème mais il n’y a pas eu de réponse, donc je repose la question (je suis sur Spip 3).

    Répondre à ce message

  • Bonjour,
    J’utilise SPIP 3.0.10 [20600] et j’ai une rubrique qui correspond a une partie « Intranet ».
    J’utilise Accès restreint v. 3.8.8 pour restreindre l’accès à la zone Intranet.

    Je cherche une solution pour protéger les documents de cette partie Intranet.
    Je voudrais éviter que les moteurs de recherche tels google indexent les pages de la partie Intranet et éviter ls téléchargement directs des documents privés par l’url de type : http://www.aaa/IMG/pdf/aa.pdf
    Dans la configuration d’Accès restreint, j’ai testé l’option « interdire la lecture » mais ça ne marche pas …
    Merci à tous pour votre aide.

    Répondre à ce message

  • Bonjour,
    par rapport à la boucle ZONES_RUBRIQUES, elle renvoie une erreur sql Table SQL « ZONES_RUBRIQUES » inconnue , alors que la boucle ZONES fonctionne très bien mais n’est pas documentée ici... on peut l’ajoutée ?

    Répondre à ce message

  • 1

    Bonjour,
    Merci encore pour ce plugin indispensable.
    Je voudrais savoir s’il pourrait exister un complément afin que les groupes de mot clés puissent être également en accès restreint.
    Par exemple, le squelette de « Chez nous » est piloté par des mots-clés, qui forment le menu de gauche.
    Sur cette idée, et pour bien d’autres cas, il serait intéressant d’avoir un accès restreint par mot-clé. De cette manière, quelle que soit la rubrique de l’article, on pourrait le restreindre sans rester dans la rigidité de la structure de la base de données.
    Est-ce possible, ou même peut-être déjà faisable, par des boucles ad hoc, que je n’ai pas comprises ?
    Merci beaucoup.

    • Bonjour, je recherche aussi cette fonctionnalité...
      Merci.

    Répondre à ce message

  • lupitek

    Avec le plugin menu, le critere tout_voir ne fonctionne pas, mes sous-rubriques protégées n’apparaisent dans mon menu quand je ne suit pas connecté.

    Répondre à ce message

  • 2

    Bonjour, je ne connais rien à SPIP, et j’ai un client (avec un site sous SPIP) qui me demande de lui préparer des rubriques (public) accessible via login/password. Ce plugin me semblait donc être exactement ce que je cherche. J’ai installé le plugin, créé les zones, créé un visiteur test. Mais je ne comprends pas comment faire apparaître le formulaire de connexion... D’ailleurs, est-il possible de ne le faire apparaître que sur une page voulue ?
    Je ne vous demande pas de faire mon boulot, mais si une âme charitable avait un lien vers un tuto détaillé pour intégrer ce formulaire, ce serait une aide incroyable !
    Merci à vous...

    • @ WebNut : je suis encore à essayer d’apprivoiser le plugin, mais pour afficher le formulaire il faut utiliser : #LOGIN_PUBLIC

    • Salut Oliv, merci de ta réponse :)
      En fait, ce que je n’ai pas saisi, c’est où je devais insérer ça... Je colle ça dans le code source d’une page, ou ailleurs ?

      En tt cas merci d’avoir pris la peine de me répondre, c’est sympa !

    Répondre à ce message

  • Bonjour,
    impossible de définir la racine du site comme zone à accès restreint. Je coche la case mais elle est décochée après la validation. Que faire ? (Spip 3).
    Merci.

    Répondre à ce message

  • 2

    Bonjour,
    j’ai une question.
    Pour une association, je souhaite utiliser le plugin pour n’autoriser que les adhérents à la lecture des articles du site.
    Cependant, je souhaite que les non adhérents puissent voir, dans la page sommaire, la liste des articles récents qui sont publiés dans la zone protégée sans pouvoir accéder au contenu de ces articles.
    Pourriez-vous me donner une piste SVP.
    Merci d’avance.
    Bien cordialement.

    • Il faut utiliser le critère {tout_voir} dans la boucle de la page sommaire listant les articles récents. Lorsque ce critère est ajouté à une boucle, la restriction d’accès est désactivée sur la boucle.

      Cordialmeent

    • Bonjour et merci pour la réponse.
      En fait, utilisateur du squelette sarka, j’ai du inclure le critère tout_voir
      à plusieurs endroits en fonction des noisettes...
      Maintenant cela fonctionne ; merci encore.
      J’ai une question complémentaire :
      J’aurai voulu que le visiteur non identifié accède à un formulaire de login plutôt qu’à l’erreur page absente lorsqu’il active le lien vers l’article protégé.
      J’ai voulu voir « intro_article.html » qui semble correspondre à ce que je recherche et en suivant le lien qui est dans cette page j’obtiens un message d’erreur :
      « No node /_plugins_/_stable_/acces_restreint/intro_article.html at revision 65153 »

      Bien cordialement

    Répondre à ce message

  • Papoulain

    Bonjour,
    J’utilise le système de newsletter MailShimp et je veux faire une newsletter mensuelle répertoriant les articles de mon site spip de ce mois ci, par RSS. Mais mon site utilise le plugin accès restreint et je voudrais que la newsletter prenne aussi les articles des zones protégées.

    Comment puis-je faire ?

    Répondre à ce message

  • 4
    micker

    hello
    j’ai un soucis ...
    je n’arrive pas à réaliser une rubrique protéger .. en public
    je voudrais créer un lien dans mon menu visible qui quand on clique dessus nous revois vers un login qui quand on est loguer renvoi vers une rubrique ..
    j’ai fais une rubrique « espace pro » avec un article qui redirige vers spip.php ?page=login_public
    dans espace pro j’ai fais une rubrique proteger avec un article dedans
    et le login redirige vers cette derniere ...
    le soucis c’est que mon formulaire login_public ne me redirige pas vers la bonne rubrique ...
    voici mon code

    <div class="formulaire_spip formulaire_login">
    [(#LOGIN_PUBLIC|spip.php?rubrique68)]
    <p style="text-align: center;">
    &#91;<a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;">
    <:login_motpasseoublie:></a>&#93;
    &#91;<a href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
    </p>
    </div>

    j’ai louper quoi ?
    Merci par avance

    • micker

      personne ???
      svp je voudrais vraiment mettre cette fonction dans mon site ...
      MErci d’avance

    • Et simplement :

      [(#LOGIN_PUBLIC{#URL_PAGE{rubrique,id_rubrique=68}})], l’URL étant indiquée entre crochets et non après un |

    • micker

      hello
      alors ca marche !
      j’ai juste un soucis ma page login n’ai pas dans mon site mais c’est une page blanche ...
      comment l’intégrer dans site complet ?
      desoler je debute en SPIP

    • SVP MERCI d’avance

    Répondre à ce message

  • Merci pour ce plugin qui marche vraiment bien...

    Juste un problème de cosmétique. Comment faire en sorte quand on a la page « inc_identification_visiteurs.html » (appel placé en début de page sommaire, on n’ai pas en-desous des éléments de sommaire.html comme le formulaire Recherche ou les titres des différentes parties de ma page (sans les articles, brèves...)

    Merci

    Robert

    Répondre à ce message

  • Bonjour,

    merci pour ce plugin qui fonctionne à merveille.

    Il lui manque cependant une fonctionnalité qui, pour mon utilisation, est très importante :

    un administrateur restreint ne peut pas valider une contribution d’un forum public faisant partie de sa zone même si les droits de webmestre lui sont attribués - le cache ayant été vidé.

    ou bien je ne sais pas faire.

    à oui autre chose, mais ce n’est qu’un détail :

    sur la page d’accueil de l’administrateur restreint le détail de sa zone n’apparait pas au centre, seul un lien est présent à gauche - dans l’espace privé.

    Merci pour votre réponse.

    Répondre à ce message

  • Bonjour,

    Je lis ici et là qu’il pourrait exister une incompatibilité entre les plugins Accès Restreint 3.0 et FancyBox 2.0 : est-ce le cas ? Et si oui, comment y remédier ?

    Accès Restreint semble fonctionner parfaitement, quels que soient les paramètres d’autorisation de lecture des documents joints par leur URL ou .htpasswd... en revanche, quels que soient les réglages à ce niveau-là, impossible d’afficher les documents via Fancybox.

    Y aurait-il au moins, même sans être un expert de SPIP ou SQL, un moyen de vérifier plus précisément sur quelles rubriques s’opère la restriction d’accès svp, afin de s’assurer de l’absence de tout parasitage des deux plugins ?

    Répondre à ce message

  • klaus++

    ATTENTION - lors d’une migration de site ou à l’occasion de la restauration d’une copie de sauvegarde il est conseillé de suivre les étapes suivantes :

    1. installer SPIP dans une base de données vierge.
    2. installer les plugins CFG, Bonux puis Accès Restreint
    3. restaurer le contenu de la base de données avec SPIP

    Il ne faut surtout pas restaurer la base de données avant l’installation du plugin Accès Restraint, on a de fortes chances de se trouver devant un tas de messages d’erreur.

    Répondre à ce message

  • Notre site : www.cultiverlapaix.org

    Bonjour et d’abord merci pour ce plugin qui marche très bien mais... peu expert moi-même,

    1 - je ne sais pas s’il est possible de changer l’avertissement en « encadré rouge » qui apparaît lorsqu’un visiteur non enregistré tente de lire un texte de l’espace réservé et qui l’invite à aller sur le plan du site. Je préfèrerais un texte du style : « l’accès à cette page est réservée - Merci de contacter le webmestre ».

    2 - je me demande pourquoi sur la page d’accueil du site les textes de l’espace réservé sont-ils systématiquement annoncé avec un début de développement comme pour n’importe quelle autre page ? Ne pourrait-on pas choisir de les faire apparaître ou non ?

    3 - Même question pour les photos de l’espace réservé…

    Merci pour les réponses

    Répondre à ce message

  • C’est normal que lorsque j’installe ce plugin, il fasse littéralement exploser tout le site ?

    Je n’ai jamais vu autant d’erreurs de ma vie SPIPienne, et pourtant le cache est vidé, désactivé, etc… Mais rien n’y fait. Absolument tous les éléments d’une page provoquent une erreur… Déconcertant.

    Répondre à ce message

  • Bonjour à tous,

    j’ai dû réinstaller accès restreint sur un SPIP 1.9.2i [14423] après une procédure de mise à jour serveur et depuis aucun lien de document joint à un article ne s’ouvre. l’URL est de type /spip.php ?action=autoriser&arg=XXX.

    J’ai rechargé un autoriser.php tout neuf dans /plugins/acces_restreint_1_9 et remplacé également celui de ecrire/action, vidé le cache, réinstallé le plugin acces restreint, rien n’y fait et je n’arrive pas à trouver une piste pour régler ce problème.

    A votre bon coeur m’sieur dames pour un peu d’aide. ;)

    Répondre à ce message

  • 3

    Pour info, l’utilisation du php ($auteur_session) pour tester si un auteur est connecté n’est plus nécessaire avec SPIP 2, voir ne marche plus ? en tout cas sur mon site ça ne marchait pas.

    une solution simple et qui marche :

    [(#REM) Connexion ]
    [(#SESSION{id_auteur}|?{'',' '}) #LOGIN_PUBLIC]     
    [(#REM) Déconnexion ]
    [(#SESSION{id_auteur}|?{' ',''}) Vous êtes authentifié, <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a>]
    • merci pour cette précision
      en effet idem chez moi sur SPIP 2.0.7 [13888],
      pour info pour d’autres j’ai essayé d’installer l’accès restreint (Version : 0.3.0.3 [29357]) en installant les noisettes de connexion et de deconnexion dans mon squelette comme indiqué sur la doc mais le lien de déconnexion ne s’affichait jamais.. j’ai donc jeté les noisettes et mis ton bout de code à la place et ça a l’air de marcher.

    • madrilene

      pareil pour moi, le lien de déconnexion ne s’affiche pas

    • SPIP 2.0.12 [15876] + Accès restreint 3.0.2 [41523]

      Effectivement, nous avons relevé qu’il fallait passer désormais par une variable globale, donc ce qui fonctionne :

      <?php if ($GLOBALS['auteur_session']) { ?>
      <h1>Bonjour Mr / Mme <?php echo $GLOBALS['auteur_session']['nom']; ?></h1>
      <p>Vous &ecirc;tes connect&eacute;,</p>
      <p><a href='[(#URL_LOGOUT)]'>D&eacute;connection</a><p>
       [(#LOGIN_PUBLIC)]
      <?php } else { } ?>

      Mais cela ne va-t-il pas être gênant pour les serveurs dont le REGISTER_GLOBAL est sur off ?

    Répondre à ce message

  • 1

    bonjour,
    J’ai installé de puis 2 ans l’acces restreint 2.0 avec spip 1.9.2 qui fonctionne bien. Mais google arrive à passer outre et affiche des fichiers joint .pdf dans son résultat de recherche. Ce fichier est libre de téléchargement, alors qu’il est dans une rubrique protégé. Comment y remédier ?

    Merci pour votre reponse rainer

    • Madrilene

      Bonjour Rainer
      je ne sais pas vraiment répondre a ta question mais est ce que tu as interdit dans les balises méta de toutes les pages de ton site, le référencement par les robots ? Peut etre est ce une piste. En esperant que d’autres t’aident plus précisément

    Répondre à ce message

  • Guillaume

    Bonjour,

    dans le cadre d’un site web sous Spip 1.9.2(g), je dois intégrer le plugin « Accès restreint » (1_9 révision 23533). Celui-ci fonctionne fort bien à une exception près :
    j’ai un un souci concernant la gestion des zones attribuées à un rédacteur ou à un visiteur, par un administrateur restreint.

    En effet, dans le site, il s’avère qu’un administrateur restreint, s’il peut attribuer des zones à un rédacteur ou à un visiteur, il ne peut, en revanche, les lui retirer.
    Or le détail du plugin (cf. ci-dessus) semble très clair : il devrait pouvoir le faire (pour rappel :

    Un administrateur restreint ne peut intervenir que sur les rédacteurs et les visiteurs. Il peut accorder ou supprimer l’accès uniquement aux zones auxquelles il a lui-même accès. Il lui est également possible d’accorder l’accès à une des ces zones à un autre administrateur mais ne peut lui supprimer l’accès.

    ).

    Dans le site, l’administrateur restreint administre toutes les rubriques du site et a accès aux zones restreintes désignées. Il peut donc les attribuer... mais pas changer d’avis...

    Je me dis donc que quelque chose cloche (probablement moi) : j’ai du du omettre une étape dans la procédure ou autre... Mais là je ne vois plus.

    Aussi, en attendant un éclair de lucidité, j’aimerais savoir si quelqu’un a eu un souci similaire (ce que je n’ai trouvé sur aucun forum ou site jusque là) ou si la description du problème (que j’espère à peu près claire) évoque une boulette évidente de ma part (mais que je suis dans l’incapacité totale et confuse d’identifier).

    Merci d’avance et bonne journée

    Répondre à ce message

  • Bonjour
    Je compte créer un site d’association avec un accès restreint en partie public pour les membres de l’association. J’ai téléchargé la dernière version de SPIP et mon choix s’est porté sur le plugin SARKA.
    Est-ce que ce plugin Accès Restreint est compatible avec mes choix ?
    Merci pour la réponse
    Numismeuros

    Répondre à ce message

  • Je galère, je galère...

    Bonjour,
    Je ne sais pas comment afficher l’intro de mes articles en accès restreint avec la suite de l’article lisible en étant connecté,
    je ne sais pas non plus comment gérer cette page 404 qui s’affiche quand on n’est pas identifié, je voudrais y insérer un formulaire de connection, et que la différence soit effective entre une page en accès restreint et une vraie page 404.
    J’ai beau lire les informations ci-dessus, je ne comprends pas ; si qqn pouvait m’expliquer tout ça avec des mots simples (!), je l’en remercie par avance.

    Répondre à ce message

  • Avec acces restreint3 sur spip 2.1 j’ai ce souci qui revient de temps en temps :

    Fatal error: Call to undefined function accesrestreint_liste_rubriques_exclues() in /home/www/a276bd22aab8debff506fc2093564/web/annecy/plugins/auto/acces_restreint_3_0/inc/acces_restreint_autoriser.php(130) : eval()'d code on line 2

    Ce n’est pas systématique et je ne l’ai pas sur tous les contenus.

    Répondre à ce message

  • 1

    Bonjour,
    lorsque j’active le plugin sur mon site spip v1.9.1avec squelette EGT tout affichage disparait, j’obtiens une page blanche tant dans la partie publique que dans la partie privée.
    Pouvez vous m’aider à résoudre ce problème.

    Merci

    • erickci

      Bonjour,
      j’avais le même problème, et après avoir fais une mise à jour vers spip 1.9.2 plus de page blanche, et le plu-gin fonctionne parfaitement.

    Répondre à ce message

  • 1
    Madrilene

    Bonjour,
    j’ai cliqué sur le lien censé mener à la noisette utilisable avec le critère tout voir mentionné dans cet article, et j’arrive sur un message d’erreur.

    Pourriez-vous m’indiquer ou je peux trouver cette noisette (j’utilise la V3 mais je ne vois pas où elle se trouve...)

    Merci d’avance pour votre aie et pour ce plug in plus généralement

    Répondre à ce message

  • Salut,

    J’ai un souci sur une 2.1.

    Fatal error : Call to undefined function accesrestreint_liste_rubriques_exclues() in /home/www/web/annecy/plugins/auto/acces_restreint_3_0/inc/acces_restreint_autoriser.php(130) : eval()’d code on line 2

    J’ai essayé de les désinstaller et de le réinstaller, rien n’y fait.

    Répondre à ce message

  • Je suis en SPIP 2.1 [15608], Acces restreint 3.0 et SPIP Bonux 1.9.4.
    -  Sur le site actuel en SPIP 1.9.2c, les deux noisettes de connexion et de déconnexion fonctionnent très bien.
    -  Sur le site de développement en SPIP 2.1, une fois que je me suis identifié, j’ai toujours l’élément « S’identifier » de la noisette de connexion qui est affiché, et l’élément « Webmestre - Vous êtes authentifié, se déconnecter », n’apparaît pas : pourquoi ? (L’identification fonctionne, j’ai les boutons de recalcul et de modification en haut de page, je peux aller dans l’espace privé et j’ai accès à mes zones restreintes.)
    Merci !

    Répondre à ce message

  • 2

    La question est sans doute idiote mais comment fait-on pour modifier le message d’accueil du plugin « acces restreint » ? : « Ne souhaitez vous pas afficher quelque information sur la page d’accueil ? »
    D’avance merci

    • Ce message n’est pas généré par le plugin, mais sans doute par le squelette que tu utilises.

    • J’utilise Sarka-spip.
      Je vais voir de ce côté
      Merci

    Répondre à ce message

  • Pouvez-vous m’expliquer svp ce que signifie : "Si, au contraire, vous avez interdit l’inscription automatique à l’espace privé, il faut impérativement avoir au moins un article dont les forums seront réglés en mode « sur abonnement » pour activer cette balise" ?

    Comment dois-je configurer spip ?
    Car de mon côté, lorsqu’un visiteur s’est authentifié via le login public, le formulaire de login réapparaît lorsque je change de rubrique !
    Et plus étrange encore, lorsque je me connecte en tant qu’admin, mes formulaires de contact ne sont pas envoyé !

    Merci

    Répondre à ce message

  • Je viens de mettre à jour avec la version 2 de spip.J’ai un problème d’affichage avec IE7. Une fois dans l’acces restreint (version 3), je perd l’affichage de mes menus, il ne reste à l’écran « vous êtes identifié sous... » Je n’ai pas ce problème avec mozilla, là tout se passe bien. Quelqu’un a-t-il ce même problème. Merci de me donner une solution. Je n’avais pas ce problème avec la version 1.9 de ce pluging.

    Répondre à ce message

  • Bonsoir,
    J’essaye de récupérer la noisette qui donne acces à la page login pour les articles en acces restreint. La page n’existe plus apparemment sur la zone.
    J’aimerais vraiment que mes visiteurs sachent que ces articles en acces restreint existent mais nécessitent un abonnement.
    Si quelqu’un a une idée, je suis preneur.
    Avec le plugin « acces retreint » la page « intro-article » existe mais je ne sais pas où la placer.

    Merci.

    Répondre à ce message

  • Bonjour, Je suis tout nouveau sur Sarka Spip.
    J’ai installé Acces Restreint.
    J’aimerais appelé dans la page Article.html la page Intro_article.html pour que les visiteurs voient l’existence de l’article ou de la rubrique restreinte et qu’ils soient invité à adherer pour avoir acces à ces pages. Le souci c’est que je ne sais pas comment appelé une page. Je ne sais pas comment inserer ce code dans article.html.
    J’ai vu que c’est écrit dans la page intro_article.html :

    Cette page propose l’introduction de l’article et un formulaire de login.
    Elle peut etre appellée comme cela depuis article.html

    Si vous pouvez m’indiquer la demarche, merci beaucoup.

    Répondre à ce message

  • Hello,

    J’ai relevé un souci avec les documents distants importés avec le filtre |copie_locale. Spip tente d’afficher le contenu du répertoire IMG/distant/xxx/mon-document.xxx. Malheureusement, le htaccess créé pour protéger les documents interdit leur accès (ils sont interdit d’accès par un deny from all).

    Du coup les documents distants et rapatriés sont inaccessibles depuis le site public. Je pense qu’il devrait être ciblé par un lien du type action=acceder_document&arg=xxx mais ce n’est pas le cas.

    Répondre à ce message

  • @ Pascal : je viens de me rendre compte que j’avais posté mon problème sur la page de la version précédente. J’avais gardé cette page en signet car les explications y étaient plus détaillées pour l’installation. Au temps pour moi. Je vais aller poster mon soucis sur la bonne page. Désolée.

    Répondre à ce message

  • @ Pascal. Si la réponse s’adresse à moi : merci tout d’abord et j’ai bien installé cette version 3.0 effectivement.

    Répondre à ce message

  • Avec Spip 2.0, il faut utiliser Accès Restreint 3.0.

    Pascal

    Répondre à ce message

  • Bonjour,

    J’ai un site en spip 2.0 auquel j’ai ajouté les plugs in :
    Acces Restreint 3.0
    Le Couteau Suisse
    Lecteur Multimédia en Flash (MP3,flv)
    SPIP Bonux 2.0
    Thickbox v2

    J’ai bien installé l’accès restreint après avoir bien ramé pour en comprendre la logique, mais l’accès à une rubrique est bien bloqué. J’ai créé un visiteur et il peut se connecter. L’essentiel est donc assuré.

    Mais j’ai tout une série de problèmes :
    -  un visiteur qui se logge et qui revient sur un article protégé après avoir fermé l’onglet ou le navigateur, voit une page vide (bon squelette mais pas de contenu).
    -  un visiteur qui se logge et qui revient sur la page d’accueil de la zone restreinte après avoir fermé l’onglet ou le navigateur est déconnecté même s’il avait coché la case « rester connecté plusieurs jours »
    -  alors qu’il est loggé, que la case « rester connecté plusieurs jours » avait été cochée, qu’il navigue dans les articles de cette rubrique et qu’il revient à la page « d’accueil » de la zone restreinte, il est déloggé.

    bref c’est pas super pour les visiteurs déjà mais c’est encore pire si l’administrateur gère sa rubrique restreinte puis teste le tout avec les login du visiteur sur le même navigateur. Là surviennent les problèmes suivants pour l’administrateur (on a les mêmes pour le visiteur) :
    -  déconnection automatique de l’espace privé au bout d’un certain temps
    -  accès impossible pour des erreurs de cookies (pourtant activés) et en insistant un peu ça (en réécrivant l’url par exemple) ça passe.
    -  plus de formulaire de connection à l’adresse ecrire (mais aux autres oui - celles du genre spip.php ?page=login&url=%2Fecrire%2F ou la bonjour...) Donc on finit toujours pas réussir à ce relogger mais bon...

    J’ai pas trouvé trop de trucs par rapport à ça sur les forums et sur le net. Juste peut-être une histoire de htpasswd. J’ai cherché donc à suivre la procédure pour créer un fichier htpasswd. Mais là dans le fichier htpasswd qui est créé je n’ai que les codes de l’administrateur. Mon visiteur n’apparaît pas. D’où mes problèmes peut-être justement. Mais alors comment ajouter mon visiteur au fichier htpasswd ? ou comment créer le mot de passe crypté ? Ou alors le problème est-il tout autre ?

    J’avoue que je sèche alors que c’est assez enquiquinant toutes ces déconnections...

    Aide bienvenue :) Merci d’avance

    (nb. accessoirement, je cherche à personnaliser le formulaire de connexion - essentiellement en enlevant le lien mot de passe oublié et en redesignant tout ça mais impossible de trouver où ça se passe dans le plug in accès restreint... Si vous avez une réponse pour ça aussi, je n’ai rien trouvé non plus.)

    Répondre à ce message

  • 3
    dawidbass

    Bonjour,

    Suite à une mise à jour du site de notre association vers SPIP 2.0.9 j’ai installé « Accès Restreint 3.0 ». Cela fonctionne parfaitement et la nouvelle interface de gestion est vraiment très bien.

    Cependant, j’ai un souci avec les derniers messages de Forums d’articles en Accès Restreint qui continuent d’apparaitre sur la page d’accueil même lorsque l’on est pas identifié. Bien sur, si on clique sur un de ces liens on tombe sur une page « Erreur 404 » mais cela reste néanmoins génant... J’ai pu lire dans les commentaires de cet article et de celui de « Accès Restreint 3.0 » que d’autres personnes avaient le même souci.

    En attendant mieux, j’ai modifié ma page sommaire.html en ajoutant du code PHP de la façon suivante :

    <?php if ($auteur_session) { ?>
    <B_forums_liens>
    ....Ici le contenu de la boucle....		
    </B_forums_liens>
    <?php }
    else { } ?>

    Je ne crois pas que celà soit la meilleur chose à faire mais en attendant mieux... En cherchant et en voulant réutiliser les noisettes d’identification, je me suis aperçu d’un autre problème étrange :

    La variable $auteur_session est indéfinie lorsqu’on demande sa valeur via du code appellé par INCLURE. Par exemple dans mon fichier inc_rubriques.html j’ai :

    <INCLURE{fond=inc_identification_sedeconecter}{lang}>

    et dans inc_identification_sedeconecter.html

    <p>Je m'affiche bien dans la page</p>
    <?php if ($auteur_session) { ?>
    <p> je devrai m'afficher si je suis identifié et ben pas du tout! </p>
    <?php } ?>

    Et bien la condition n’est jamais remplie alors qu’elle l’est dans sommaire.html
    Cette variable n’est pas une variable globale ? Dans la version précédente de SPIP 1.9.x cela fonctionnait parfaitement. Donc pour l’instant les noisettes c’est pas trop ça... Si vous avez des suggestions pour retrouver un fonctionnement normal de la variable $auteur_session je suis preneur...

    D’avance merci, et bravo pour le beau boulot !

    Dawid

    • Emmanuel

      Merci pour ce plugin :-)

      Je l’ai installé sur le site de mon club et pour l’instant, je n’ai pas constaté d’anomalie au niveau de la restriction des accès.

      J’ai seulement un problème esthétique : quand on n’est pas connecté, les zones de saisie sont trop larges, et le texte est en anglais. J’ai vu que le problème de largeur avait déjà été signalé, mais je ne vois pas sur quel fichier je dois intervenir.

      Le site est géré sous SPIP 2.0.9 [13982] et utilise le squelette EVA-Web 4.0 beta 2. Par ailleurs, il utilise de nombreux plugins qui sont peut-être à l’origine du problème :
      article pdf, cfg, Compteurs de visites graphiques , Enluminures typographiques pour SPIP 2 & Porte plume, Eva binettes, EVA-bonus pour EVA-web 4.0, Gestion des habillages pour EVA-Web 4.0 , Création des mots clés d’eva-web, Gestion des mentions légales, Gestion du Menu de navigation (depliants...), Mini calendrier mensuel pour EVA, Des jeux dans vos articles, Porte plume - Une barre d’outil pour bien écrire, Prévisualisation pour les articles en cours de rédaction, SPIP Bonux 2.0

      Merci d’avance.

    • Est-ce un pb ressemblant au mien ?
      http://www.spip-contrib.net/Acces-Restreint-3-0
      N’est-ce pas des conflits liés aux feuilles css ?
      Mais où ?

    • idem, j’ai le meme soucis depuis la derniere MAJ, et je n’arrive pas a voir d’ou ca viens...

    Répondre à ce message

  • Je ne sais pas si le problème a été corrigé depuis, mais sur mon site Spip 1.9.2h avec la « Revision : 9564 Dernier commit 2007-02-10 », ce plugin pose un problème complètement dingue sur... le backend et le sitemap (plus généralement les flux RSS) !!!!
    En effet ceux-ci n’étaient plus valides (espace ou ligne vierge au début, je ne sais plus trop) sur mon site, jusqu’à ce qu’on trouve l’origine du problème en désactivant ce plugin...

    Impensable... et pourtant ;-)

    Répondre à ce message

  • apres un upgrade de spip vers la version 2 ainsi que des plugins j’obtien un message d’erreur lorsque je reactive le plugin acces restreint. J’ai besoin d’aide :

    Erreur(s) dans le squelette

    1 ()
    Erreur SQL
    documents.mode, documents.extension, documents.id_document, documents.largeur, documents.hauteur, L1.titre AS type_document, documents.taille, L1.mime_type, documents.titre, documents.descriptif, documents.id_document FROM spip_documents AS documents LEFT JOIN spip_documents_liens AS l ON documents.id_document=l.id_document LEFT JOIN spip_articles AS aa ON (l.id_objet=aa.id_article AND l.objet=’article’) LEFT JOIN spip_breves AS bb ON (l.id_objet=bb.id_breve AND l.objet=’breve’) LEFT JOIN spip_rubriques AS rr ON (l.id_objet=rr.id_rubrique AND l.objet=’rubrique’) LEFT JOIN spip_forum AS ff ON (l.id_objet=ff.id_forum AND l.objet=’forum’) INNER JOIN spip_types_documents AS L1 ON ( L1.extension = documents.extension ) WHERE ((aa.statut = ’publie’) OR bb.statut = ’publie’ OR rr.statut = ’publie’ OR ff.statut=’publie’) AND (documents.taille > 0 OR documents.distant=’oui’) AND (documents.id_document = 350) AND ((documents.id_document IN ( SELECT zzzd.id_document FROM XXXXXXXX.spip_documents_liens as zzzd WHERE (((((zzzd.objet=’rubrique’ AND 0=0) OR (zzzd.objet=’article’ AND (zzzd.id_objet NOT IN ( SELECT zzza.id_article FROM llsvdbn-875s.spip_articles as zzza WHERE 0=1)))) OR (zzzd.objet=’breve’ AND (zzzd.id_objet NOT IN ( SELECT zzzb.id_breve FROM llsvdbn-875s.spip_breves as zzzb WHERE 0=1)))) OR (zzzd.objet=’forum’ AND (zzzd.id_objet IN ( SELECT zzzf.id_forum FROM llsvdbn-875s.spip_forum as zzzf WHERE ((0=0 OR (zzzf.id_article NOT IN ( SELECT zzza.id_article FROM XXXXXXX.spip_articles as zzza WHERE 0=1))) OR (zzzf.id_breve NOT IN ( SELECT zzzb.id_breve FROM XXXXXXXX.spip_breves as zzzb WHERE 0=1))))))) OR ((zzzd.objet NOT IN (’rubrique’,’article’,’breve’,’forum’)))))) OR (documents.id_document NOT IN ( SELECT zzzd.id_document FROM XXXXXXXXX.spip_documents_liens as zzzd))) GROUP BY documents.id_document
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ’SELECT zzzd.id_document FROM XXXXXXXXXXX.spip_documents_lien
    AIDE
    2 ()
    Erreur SQL
    syndic_articles.date, syndic_articles.titre, syndic_articles.url, L1.url_site, L1.nom_site, syndic_articles.id_syndic_article FROM spipcont.spip_syndic_articles AS syndic_articles INNER JOIN spipcont.spip_syndic AS L1 ON ( L1.id_syndic = syndic_articles.id_syndic ) WHERE (syndic_articles.statut = ’publie’) AND NOT((L1.id_rubrique REGEXP ’^(0|1|0)$’)) AND (syndic_articles.id_syndic_article NOT IN ( SELECT zzzs.id_syndic FROM XXXXXXXX.spip_syndic as zzzs WHERE 0=1)) AND (L1.statut = ’publie’) ORDER BY syndic_articles.date DESC
    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ’SELECT zzzs.id_syndic FROM XXXXXXXXX.spip_syndic as zzzs W
    AIDE

    Répondre à ce message

  • @la personne qui gère le site d’une école maternelle, j’ai moi-même un site personnel de vêtements vêtements discount et j’ai été confronté à ce problème. : j’ai résolu ce problème en créant des groupes années « 2003 », « 2004 » et « 2005 » au lieu des groupes « grande section », « moyenne section » et « petite section ».
    En tout cas excellent plugin !!!

    Répondre à ce message

  • Bonjour,

    Je rencontre un problème peut-être très bête avec l’identification : je suis tout le temps redirigée vers ma page 404 et jamais vers le formulaire d’identification.

    Voici ce que j’ai fait :
    J’ai installé le plugin.
    J’ai créé ma zone restreinte et j’y ai mis un article de test. J’ai créé un visiteur avec son login et son mot de passe.
    J’ai configuré de manière suivante :
    -  Mode de fonctionnement par défaut des forums publics > Enregistrement obligatoire (les utilisateurs doivent s’abonner en fournissant leur adresse e-mail avant de pouvoir poster des contributions).
    -  Inscription automatique de nouveaux rédacteurs > Ne pas accepter les inscriptions
    -  Visiteurs > Votre site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.
    Le forum de mon article de test est bien sur abonnement.
    J’ai téléchargé les noisettes, les includes et le dossier formulaire et je les ai uploadés.
    J’ai mis les noisettes dans mes squelettes concernés. J’ai aussi testé ce bout de code :

    <?php if ($auteur_session) { ?>

    Vous êtes authentifié, cliquez ici pour vous déconnecter
    ... ici le contenu en accès restreint....

    <?php } else { ?>

    Cette partie est en accès restreint

    #LOGIN_PUBLIC

    <?php } ?>

    Dans les 2 cas :

    -  Si je vais sur mon article depuis le navigateur où je travaille et où je suis identifiée comme administratrice : ça me dit bien que je suis connectée et je vois le contenu.

    -  Si je vais sur l’article depuis un navigateur où je ne suis pas identifiée, je suis redirigée vers ma page 404.

    Alors soit je n’ai pas compris la mise en œuvre des filtres qui cache complètement le contenu ou non. Soit je n’ai pas activé ou uploadé quelque chose qui fait que #LOGIN_PUBLIC ne va pas cherché le formulaire. Je ne sais pas.

    Quelqu’un pourrait-il m’aider ?
    Merci d’avance

    Répondre à ce message

  • 1

    Bonsoir,
    Je gère un site d’école maternelle débuté cette année. Je voudrais pour l’an prochain initialiser un nouveau mot de passe pour les familles, tout en permettant aux familles des enfants passés en CP de pouvoir revenir voir les archives du site. Est-ce que cela est possible ?
    Merci.
    École maternelle Jacques Decour

    • Vous avez un très beau site ! félicitations ! et je crois que vous avez déjà compris qu’il peut-y avoir une partie restreinte différente chaque année !

    Répondre à ce message

  • 2

    Bonjour,

    Je signal un comportement problématique chez moi et peut-être chez vous aussi !!??

    En effet j ai plusieurs zones restreintes DIR1, DIR2 etc... et dedans des articles. Les personnes restreintes à DIR1 voient tous les articles dans DIR1, Les personnes restreintes à DIR2 voient tous les articles dans DIR2, etc etc...

    Pour vous expliquer clairement le problême, tous les articles sont dans DIR1 et aucun article dans DIR2

    Les tableaux sur la page d’accueil entre autres, proposent qd les articles sont nbreux, une sorte de pagination... 10 par dix, j’ai pour l’exemple restreint l affichage à 2 par 2 (j avais pas assez d’article)

    Dans la zone DIR2 ou il n y a pas d article, on voit tout de meme les petits numeros !!!

    En fait SPIP compte tous les articles dans la base fait sa pagination mais ne montre rien car les articles appartiennent a DIR1 !!!??

    Comment y remedier ?

    Merci d’avance

    CF. piece jointe

    • Dans l’espace privé il n’y a pour le moment pas de meilleure solution. L’espace privé n’est pas encore complètement construit en squelette, et de ce fait le filtrage au niveau des requêtes n’est pas possible à mettre en oeuvre dans un plugin.

      Du coup, le filtrage intervient au niveau de l’affichage uniquement, ce qui produit le résultat décrit.

      J’espère que les futures versions de SPIP permettront d’améliorer cela.

    • y’a t’il un moyen de palier à ceci même en hackant directement le code de spip en atendant une meilleure solution ?
      Si oui des pistes pour faire propre ?

      Merci d’avance

    Répondre à ce message

  • The Morning After Acces restreint 3 et SpipBB

    Bonjour,

    J’ai un souci avec Acces restreint 3.0 + SipBB Version : 0.5.3.1 [30205]. Lorsque je me déconnecte, tout disparaît (accès à la racine) mais les messages du Forum sont encore sur la page. Tout le reste a disparu sauf le bandeau bien entendu.

    De même pour les messages de forums des articles. Ils apparaissent aussi alors que je me suis déconnecté...

    Que faire ?

    Merci encore

    Robert Caron

    Répondre à ce message

  • 1

    J’ai le message suivant :

    * Impossible to activate the plugin acces_restreint_3_0
    o Version [1.0 ;] or newer of the plugin SPIP_BONUX is required.

    Comment y remedier
    Je suis sous SPIP 2
    merci
    red

    • Il faut installer le plugin Bonux...

      J’ai eu un autre problème mineur maintenant résolu.
      une ou plusieurs icones ne s’affichaient pas.
      J’avait un problème d’affichage de l’icone "configuration/Accès restreint.

      Versions SPIP 2.0.8
      et acces_restreint_3_0

      En remplaçant le fichier
      \spip\plugins\auto\acces_restreint_3_0\img_pack\wrapper.php
      par celui-ci
      \spip\prive\images\wrapper.php

      celà fonctionne.

      Le wrapper qui pose problème est écrit ainsi :

      <?php
      
      // * Acces restreint, plugin pour SPIP * //
      
      if (!defined("_ECRIRE_INC_VERSION")) return;
      
          // wrapper image pour scintillement MSIE, cf.
          // http://www.ultra-fluide.com/ressources/css/css-hacks.htm#scintillement
          if (!isset($_GET['file'])
          OR !preg_match(',^[^/\0]+\.(gif|jpg|png)$,i', $_GET['file'], $r)
          OR !@file_exists('./'.$_GET['file']))
              die('404 not found');
      
          $mime = array(
              'jpg' => 'image/jpeg',
              'gif' => 'image/gif',
              'png' => 'image/png'
          );
      
          header('Content-Type: '.$mime[strtolower($r[1])]);
          header('Content-Length: '.filesize('./'.$_GET['file']));
          header('Cache-Control: max-age=36000');
          header('Pragma: public');
          readfile('./'.$_GET['file']);
          exit;
      
      ?>

      Le wrapper qui fonctionne ainsi :

      <?php
      
          // wrapper image pour scintillement MSIE, cf.
          // http://www.ultra-fluide.com/ressources/css/css-hacks.htm#scintillement
          if (isset($_GET['file'])){
              $f = $_GET['file']; // pas de urldecode ici car on accepte de toute facon que les caracteres alphanumeriques
              if (preg_match(',^[a-z_0-9\-]+\.(gif|jpg|png)$,i', $f, $r)
                      AND @file_exists('./'.$f)){
          
                  $mime = array(
                      'jpg' => 'image/jpeg',
                      'gif' => 'image/gif',
                      'png' => 'image/png'
                  );
              
                  header('Content-Type: '.$mime[strtolower($r[1])]);
                  header('Content-Length: '.filesize('./'.$f));
                  header('Cache-Control: max-age=36000');
                  header('Pragma: public');
                  readfile('./'.$f);
                  exit;
              }
          }
          
          header("Status : 404 Not Found"); 
          die('404 not found');
      
      ?>

      Quelqu’un comprend pourquoi ?

    Répondre à ce message

  • Bonjour
    je viens a vous preciser qu’un admin restreint qui a l’autorite sur une zone ne peut pas donner l’autorite d’acceder a un redacteur puis je savoir pourquoi ???

    et merci d’avance

    Répondre à ce message

  • 1
    Franckgre

    Probleme dans un site multilingue SPIP 2 avec la localisation des formulaires login.html et login_public.html.

    En effet, le formulaire n’est pas traduit dans la langue du contexte, meme en utilisant l’integralite des squelettes de la distribution :

    si on prend le squelette prive/login.html (extrait)

    #MENU_LANG_ECRIRE
    
    [(#FORMULAIRE_LOGIN{#ENV{url}|sinon{#URL_ECRIRE{accueil}}})]
    
    	<p class="retour">
    		[&#91;<a href="#URL_PAGE{identifiants,focus=nom_inscription}&amp;mode=(#URL_SITE_SPIP|tester_config{1comite})" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=400'); return false;"><:login_sinscrire:></a>&#93;]
    		&#91;<a href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
    	</p>
    	<p class="retour">
    		<a href="http://www.spip.net/" title="<:site_realise_avec_spip:>"><img src="#CHEMIN{spip.png}" alt="SPIP" width="48" height="16" /></a>
    	</p>

    le formulaire MENU_LANG_ECRIRE est bien positionne dans la langue du contexte

    le formulaire FORMULAIRE_LOGIN ne l’est pas (certaines fois j’ai eu du francais, d’autres fois de l’anglais, mais sans rapport avec le contexte d’appel)

    a partir du paragraphe <p class="retour">, on est a nouveau dans la langue du contexte.

    Comment faire pour passer la langue de contexte a FORMULAIRE_LOGIN ?

    • Bonjour, le formulaire de login n’est pas modifié par le plugin, et son utilisation est inchangée. Il vaudrait mieux poser cette question sur la liste des utilisateurs.

    Répondre à ce message

  • 2

    Je suis confronté à un pb pour une configuration spécifique du plugin :
    Dans le cas où plusieurs zones sont définies, et qu’une rubrique est associée à plusieurs de ces zones, alors en associant une de ces zones à un auteur, ces mêmes rubriques ne sont pas autorisées sur l’interface publique.

    J’ai modifié légèrement le script inc/acces_restreint.php pour que cela fonctionne, mais ce n’est certainement pas l’endroit le plus approprié, je laisse le soin à l’auteur de faire les modifs si cela est jugé pertinent.

    ligne 161, ajout de :

    $rubriques_autorisees_auteur = accesrestreint_liste_contenu_zone_rub( sql_in('zr.id_zone',accesrestreint_liste_zones_autorisees('',$id_auteur),'') );
    foreach( $rubriques_autorisees_auteur as $rubrique ) {
    	$key = array_search  ( $rubrique  , $liste_rub_exclues[$id_auteur][$publique] );
    	if( is_int($key) ) array_splice( $liste_rub_exclues[$id_auteur][$publique], $key, 1 );
    }

    Tous les commentaires sont les bienvenus sur ce petit point,

    Valérian

    • Bonjour,
      le plugin ne fonctionne pas comme tu voudrais et c’est normal : pour avori accès à une rubrique, il faut avoir les droits d’accès à toutes les zones qui comprennent cette rubrique. Si tu mets 3 cadenas sur une porte, seuls ceux qui auront les 3 clés pourront y entrer. C’est pareil ici.

    • Bonjour Cédric,
      Effectivement c’est logique ! c’est moi qui utilise le plugin d’une manière différente : j’utilise plutôt les zones comme des groupes d’utilisateurs dont les accès sont définis. Cela m’évite de gérer plusieurs zones à chaque auteur. Merci pour ce merveilleux plugin en tout cas !
      Valérian

    Répondre à ce message

  • Marjorie

    Bonjour,
    Je débute avec spip depuis 2 mois et je créé un site pour une association.
    Je souhaite utiliser le plugin accès restreint.
    J’utilise le squelette recitfp. Dans le programme inc-colgauche.html j’ai ajouter la variable #LOGIN_PUBLIC.
    Quand on se log, tout est ok, j’ai bien accès au rubrique avec accès restreint.
    Mon soucis, c’est que je voudrais modifier le formulaire de connection, car il ne s’adapte pas à mon menu.
    Problème, comment faire ???
    J’ai trouvé un login.html sous /dist/formulaire mais rien ne se passe.
    Est ce que quelq’un pourrait m’aiguillé un peu.
    D’avance merci beaucoup...

    Répondre à ce message

  • Salut à tous.

    Je suis très intéressée par les fonctionnalités de ce plugin, mais avec quelle version SPIP peut-on l’utiliser ?
    Moi j’ai la version 2.0.7, et après avoir tester, le plugin n’apparait pas dans « configuration des plugins ».

    Si je ne peux pas l’utiliser avec cette version, quelqu’un peut-il m’orienter vers le même style de plugin ?

    Merci.

    Répondre à ce message

  • 1

    jusqu’a present le pluggin acces restreint marchait tres bien, mais apres une migration du site
    Erreur SQL

    id_zone FROM spip_zones_auteurs WHERE id_auteur=1 Table ’XXX.spip_zones_auteurs’ doesn’t exist

    2 Erreur SQL
    * FROM spip_zones LIMIT 1
    Table ’XXX.spip_zones’ doesn’t exist

    3 Erreur SQL
    * FROM spip_zones_auteurs LIMIT 1
    Table ’XXX.spip_zones_auteurs’ doesn’t exist

    4 Erreur SQL
    * FROM spip_zones_rubriques LIMIT 1
    Table ’XXX.spip_zones_rubriques’ doesn’t exist

    5 Erreur SQL
    id_rubrique FROM spip_zones_rubriques AS zr INNER JOIN spip_zones AS z ON zr.id_zone=z.id_zone WHERE privee=’oui’ AND 0=0
    Table ’XXX.spip_zones_rubriques’ doesn’t exist

    ils sont dans mon dump, mais pas dans la base mysql apres sa restauration !!!

    Aider moi svp

    merci

    • C’est simple : à la restauration du dump de SPIP, les tables du plugin accès restreint ont été ignorées car le plugin n’avait pas été activé avant la restauration.

      Donc, il suffit maintenant que le plugin est actif de relancer une restauration et ça sera bon.

    Répondre à ce message

  • 1

    Salut,
    Juste une précision : si j’ai bien compris on peut définir un article en accès restreint sans avoir à restreindre l’accès à la rubrique entière dont dépend cet article.
    isn’t it ?
    merci

    • Non, on ne peut que restreindre un auteur à accéder à telle ou telle rubrique et donc tous les articles qui s’y trouvent !!

    Répondre à ce message

  • alinux

    Bonjour,

    J’ai un ptit souci, en effet j ai plusieur zones restreintes DIR1, DIR2 etc... et dedans des articles.
    Les personnes restreintes à DIR1 voient tous les articles dans DIR1,
    Les personnes restreintes à DIR2 voient tous les articles dans DIR2, etc etc...

    Pour l exemple tous les articles sont dans DIR1 et rien dans DIR2

    Les tableaux sur la page d’accueil entre autres, proposent qd les articles sont nbreux, une sorte de pagination... 10 par dix, j’ai pour l’exemple restreint l affichage à 2 par 2 (j avais pas assez d’article)

    Dans la zone DIR2 ou il n y a pas d article, on voit tout de meme les petits numeros !!!

    En fait SPIP compte tous les articles dans la base fait sa pagination mais ne montre rien car les articles appartiennent a DIR1 !!!??

    Comment y remedier ?

    Merci d’avance

    CF. piece jointe

    Répondre à ce message

  • 1

    Bonjour,

    J’utilise depuis peu le plugin acces restreint, et je dois dire qu’il me satisfait entièrement, à l’exception d’un détail que j’aimerais tout de même régler : mon classement habituel (qui s’effectue par num_titre puis filtrage par supprimer_numero) ne fonctionne pas au sein des rubriques protégées, quelqu’un aurait-il une solution à me proposer pour que je puisse éventuellement ranger mes rubriques comme bon me semble ?

    PS : Actuellement les rubriques ne sont même pas rangées par ordre alphabétique, mais par numéro d’id, et pour un utilisateur extérieur, ça fait un peu désordre.

    Merci d’avance pour vos réponses

    • Effectivement, j’ai le même soucis, j’ai essayé d’aller modifier le seul fichier HTML que j’ai trouvé dans le plugin, mais ça n’opère aucun changement...

    Répondre à ce message

  • 3
    Nolwenn

    Bonjour,

    Je cherche à installer le plugin d’accès restreint sur une version 1.9.2.b de spip, le plugin est bien détecté dans la zone de Gestion des plugins.
    Quand je coche et valide pour l’installation j’ai un message « Acces restreint install », donc je suppose que c’est bon.

    Sauf qu’aucune table n’est créé dans la base, et que mon plugin n’est pas disponible.

    Quelqu’un a une idée sur l’origine de ce problème ? (sachant que j’ai fait la même manipulation sur un autre site sans que ça ne me pose de problème)

    Merci

    • jnb130

      En principe tu devrai avoir 3 nouvelles tables : spip_zones, spip_zones_auteurs et spip_zones_rubriques.

    • J’ai le même problème 3 tables inexistantes. Que faire ?

    • J’ai essayé de restaurer avec un dump. Lors de l’enregistrement du dump, les trois tables sont bien listées. Lors de la restauration par contre elle ne figure pas dans mysql.

    Répondre à ce message

  • Bonjour, j’utilisais le plugin « acces_groupes », et mon site ramait à mort, alors je tente d’utiliser le plugin « accés restreint ». Mon problème c’est que je n’arrive pas à filtrer les rubriques qui doivent ou non apparaitre selon la zone.
    Avant avec le plugin « acces_groupes », je faisais

    [(#TITRE|accesgroupes_visualise#ID_RUBRIQUE)]

    et lorsque je remplace par

    [(#TITRE|AccesRestreint_rubrique_restreinte#ID_RUBRIQUE) ]

    cela ne m’affiche aucuns titres ! Alors que pour mon test j’ai sélectionné des rubriques dans ma zone.

    Pareil pour (#TITRE, ou (#ID_RUBRIQUE.

    Quelqu’un peut-il m’aider à utiliser ce plugin ?

    Répondre à ce message

  • Tout semble fonctionner SAUF un souci : quand un visiteur se logue, il accède à son dossier MAIS le formulaire de deconnexion n’apparait pas.


    J’ai téléchargé l’archive Acces_restreint_noisettes4.zip et installé les fichiers dans le dossier /squelettes (sauf inc-rubriques.html)
    Dans le inc-rubriques.html de la dist, j’ai rajouté les lignes :
    [(#REM) noisette de deconnection]
    <INCLURE{fond=inc_identification_sedeconecter}{lang}>
    [(#REM) noisette de connection]
    <INCLURE{fond=inc_identification_visiteurs}{lang}>

    Ma config : SPIP 2.0.5 [13790] // SPIP BONUX Version : 1.6 [26869] // Acces Restreint 3.0 Version : 0.3.0.2 [26226]
    j’ai bien vidé vidé le cache de SPIP et le cache du navigateur

    Pour tester : http://arraki.net/testSPIP2
    login : visiteur
    mdp : visiteur

    Merci du coup de pouce, c assez urgent

    Répondre à ce message

  • 3

    En effet, un accès direct à http://serveur/IMG/pdf/200801-compte_rendu_conseil_administration.pdf semble possible ...

    Pas glop ? il suffit qu’une personne envoie le lien direct vers un document « protégé » ou qu’on trouve ça dans l’historique de navigation du brouteur web et paf le chien mon compte rendu d’administration réservé au bureau de l’association se trouve en accès public !

    Alors une solution ? faire un script php qui vérifie les droits d’accès et fait un passthru ?

    Ceci semble réglé, mais depuis que j’ai mis à jour le plugin, en accès autorisé j’ai un téléchargement direct du fichier joint au lieu de l’affichage, même téléchargement automatique dans les articles qui utilisent la balise emb.

    Comment remédier à cela (spip 1.9.2c)
    Merci beaucoup

    • Bonjour,

      « En effet, un accès direct à http://serveur/IMG/pdf/200801-compte_rendu_conseil_administration.pdf semble possible ...

      Pas glop ? il suffit qu’une personne envoie le lien direct vers un document "protégé" ou qu’on trouve ça dans l’historique de navigation du brouteur web et paf le chien mon compte rendu d’administration réservé au bureau de l’association se trouve en accès public !

      Alors une solution ? faire un script php qui vérifie les droits d’accès et fait un passthru ?

      Ceci semble réglé, mais depuis que j’ai mis à jour le plugin, en accès autorisé j’ai un téléchargement direct du fichier joint au lieu de l’affichage, même téléchargement automatique dans les articles qui utilisent la balise emb.

      Comment remédier à cela (spip 1.9.2c) Merci beaucoup »

      Je rencontre exactement le même problème. Les documents des rubriques restreintes sont accessibles en téléchargement.
      Est-ce que vous avez trouvé la solution ?
      Merci.
      Marie

    • Bonjour Marie,

      Pour éviter cela, j’ai mis une page (la 404 modifiée pour mon cas) avec le nom de index.html dans chaque directory à protéger.

      Cordialement

      tabaco95

    • Merci pour votre aide, ça marche !
      Marie

    Répondre à ce message

  • 1

    Bonjour !
    J’utilise la version 1.9.1 de spip (pour que mon squelette webetab fonctionne). J’ai tenté d’installer le plugin accès restreint 2.0 mais ça ne fonctionne pas. Dès que j’active le plugin, c’est page blanche. Plus rien. Plus d’accès à l’espace privé. Je vide le cache via mon ftp mais rien. Je suis débutante, il y a donc sûrement qq chose que je n’ai pas comprise ou que je fais mal... Si quelqu’un peut m’aider (autre solution que de passer en 1.9.2 ou 2.0). Merci d’avance !
    Sandrine

    • Bonjour,

      Je vide le cache via mon ftp mais rien.

      Euh, je vide le cache dans la partie privée de SPIP :

      en passant la souris sur « Configuration » un menu horizontal se déroule et on peut cliquer sur « vider le cache » puis dans la page qui s’ouvre on clique sur « vider le cache ». Là le cache est vide.

      Pour le reste ... je ne pense pas que de passer à SPIP 1.9.2. changera qq chose.

      URL ?

      Courage

      tabaco95

      http://afdet.online.fr

    Répondre à ce message

  • 2

    Pour éviter cela, j’ai mis une page (la 404 modifiée pour mon cas) avec le nom de index.html dans chaque directory à protéger.

    ou faire une rédirection vers la page d’accueil, mais cela ne protège que le dossier en question, si quelqu’un connaît le lien exact vers le document, il pourra le télécharger.

    Pour éviter cela, c’est bien plus compliqué - modifier les autorisations ou écrire un .htaccess qui n’autorise que les personnes autorisées à télécharger.

    Ma connaissance pour les .htaccess s’arrête à deny from all, qui ne serait pas une grande avancée ici, mais pour les conseils des experts je serais moi aussi preneur

    Répondre à ce message

  • Bonjour,

    J’ai aussi le problème pour les liens de connexion deconnexion
    j’ai essayer de mettre #login_public dans inc_rubriques et dans sommaire.html mais rien ne change sur ma page.
    J’ai aussi essayer de créer ma page login_public.html et de mettre un INCLURE dans ces deux même page mais toujours rien.
    Est ce que quelqu’un aurait la synthaxe exacte qu’il faut ajouter et dans quel fichier pour avoir ces liens de connexion déconnexion.

    Merci d’avance.

    Répondre à ce message

  • Bonjour,

    J’utilise SPIP 1.9.2e [12624], EVA comme squelette, hébergé chez AMEN.

    J’ai installé le plugin accès restreint mais à l’étape III, je n’ai pas la zone d’accès restreint qui apparait.

    j’ai désinstallé, reinstallé le plugin, dans configuration interactivité de spip, j’ai coché Enregistrement obligatoire pour le forum public, dans la table spip_meta j’ai non à créer_htaccess...

    Pouvez-vous m’aider ?

    D’avance merci.

    Philippe

    Répondre à ce message

  • Bonjour,

    Je n’arrive pas a afficher les petit lien de connexion/deconnexion
    j’ai pourtant mis le code :

    [(#REM) noisette de deconnection]

    [(#REM) noisette de connection]

    dans le inc-rubriques.html et même dans tous les autres fichier inc-****.html

    mais rien ne s’affiche.

    Pourriez vous m’aidez ?

    Répondre à ce message

  • 4

    Bonjour, aprés avoir lu les posts, et n’ayant pas trouvé mon info, j’aurai voulu savoir s’il existe une maniére pour interdire aux admins restreint l’accés aux plugins ?

    Du genre qu’il ne puisse modifier des tables ou formulaires, des abonnés aux lettres etc ....

    Qu’ils ne puissent se contenter que d’écrire des articles dans des rubriques bien à eux.

    Merci

    Cordialement

    • En fait si je comprends bien il faudrait restreindre l’accés a la gestion des plugins dans l’interface privé
      aux admins restreint...

    • Mon site a une partie articles, administration, etc et une partie blog.
      si des admins restreints vont sur la partie blog dans leurs repertoire respectif afin d’y ajouter leurs propre articles, j’aimerai assez qu’il ne puisse pas aller dans les differnets plugins qui ne leur sont pas destiné. j’ai beaucoup de formulaires et de tables avec des infos ne les regardant pas, et avec les droit admins restreint, ils peuvent les modifier.

      Merci

    • En réponse à kik

      Bonjour, aprés avoir lu les posts, et n’ayant pas trouvé mon info, j’aurai voulu savoir s’il existe une maniére pour interdire aux admins restreint l’accés aux plugins ? Du genre qu’il ne puisse modifier des tables ou formulaires, des abonnés aux lettres etc .... Qu’ils ne puissent se contenter que d’écrire des articles dans des rubriques bien à eux. Merci Cordialement

      C’est en effet une autre limitation de ce plugin (qui s’ajoute à celle que j’ai commentée précédemment concernant l’outil crayon). Une solution consiste donc à cumuler les deux restrictions d’accès : le plugin et la fonctionnalité restriction d’accès aux rubriques de spip. Mais dans ce cas, il n’est plus possible pour un admin restreint de créer de nouveaux auteurs pour leur rubrique. Ca serait bien que dans les évolutions futures ces petits problèmes là soient pris en compte, le plugin accès restreint offrant tout de même beaucoup plus de possibilités, avec notamment la restriction côté public, que l’option par défaut de spip. Pour ma part, j’ai du cacher cette défaillance à mes clients, qui tenaient à pouvoir créer de nouveaux auteurs pour leurs rubriques, afin d’éviter qu’ils aillent s’octroyer des droits d’accès comme bon leur semble (car c’est en effet possible dans l’état actuel des choses) - malheureusement, ils finiront bien par le découvrir tous seuls.

    • La version 3.0 utilise complètement l’api autoriser qui permet a chacun de personaliser les autorisations d’action dans son fichier mes_options :

      Par exemple :

      function autoriser_zone_modifier($faire,$quoi,$id,$qui,$opts){
      	if ($qui['statut']=='0minirezo' AND !$qui['restreint'])
      		return true;
      	return false;
      }

      interdira a quiconque n’est pas admin complet de modifier une zone (ce qui est le réglage par defaut)

    Répondre à ce message

  • 3

    Sous SPIP 2.0.0 rc1 [13283]
    j’essaye d’activer le plugin
    Version : 0.2 [23533] — stable
    Répertoire : acces_restreint_1_9

    réponse :

    Impossible d’activer le plugin acces_restreint_1_9
    Nécessite SPIP en version [ ;1.925) minimum.

    Une idée ?

    • Bonjour,

      Bonne nouvelle de voir que la nouvelle version de ce plugin avance.

      Une fois le plugin (Acces Restreint 3.0 v 0.3, donc) installé, en plus de spip-bonux, et activé, il semble impossible de le désactiver : si on le désactive, une tentative d’édition d’un article se solde par une erreur fatale :

      Fatal error : Call to undefined function accesrestreint_liste_rubriques_exclues() in /ecrire/public/composer.php(51) : eval()’d code on line 33

      On peut apparemment toujours créer de nouveaux articles, et l’interface publique ne semble pas affectée.

      Testé avec SPIP 2.0.0 rc1 [13455]

    • Je me réponds à moi-même : il ne s’agit pas d’un bug. Comme il est indiqué dans l’article lié à ce plugin, il faut vider le cache de SPIP lors de l’activation/désactivation pour que les droits d’accès soient modifiés.

    Répondre à ce message

  • François Daniel Giezendanner

    Pour alimenter la discussion, le plugin Autorité http://www.spip-contrib.net/Le-plugin-Autorite permet :

    Dans sa version 0.9, le plugin « Autorité » propose les possibilités suivantes :

    Rôle de webmestre

    Ce rôle est indispensable pour modifier la configuration du plugin. Le webmestre est, par défaut, l’administrateur id_auteur=1 du site.

    Les webmestres ainsi définis ont également le privilège de ne plus être obligés de passer par FTP pour valider les opérations sensibles du site, comme la mise à jour de la base de données ou la restauration d’un dump.

    On peut changer la liste des webmestres en allant éditer le fichier config/mes_options.php (à créer le cas échéant), pour y indiquer l’id_auteur des auteurs qui auront les autorisations de webmestre. Par exemple, si les webmestres sont les administrateurs 2, 4 et 11 :

    1.

    <?php
           2.
              define ('_ID_WEBMESTRES', '2:4:11');
           3.
              ?>

    à vous la main ...

    Cordialement

    FDG

    Répondre à ce message

  • François Daniel Giezendanner

    Bonjour,

    Nous utilisons la dernière version de ce plugin avec SPIP 1.9.2e.

    Nous constatons qu’avec ce plugin, l’administrateur id=1 a le droit de protéger les pièces jointes en lecture alors que les autres administrateurs généraux id > 1 n’ont pas ce droit.

    Nous en déduisons que l’administrateur id=1 est un super administrateur qui a plus de droits que les autres administrateurs généraux.

    Je l’ignorais, où cela est-il documenté ?

    Cordialement

    FDG

    Répondre à ce message

  • apparemment c’est un bug qui vient d’une mise à jour spip

    en fouillant, j’ai trouvé ceci
    J’ai exactement le même symptôme (cliquer sur la vignette - Petit traité), je suis donc bon pour une réinstallation propre :-(
    Un autre truc est peut-être une incompatibilité grandissante du plugin thickbox - plus de mise à jour en vue - quand il marche le portfolio charge le code de l’image ……
    Du coup je l’ai désactivé et essaie d’implanter le script de Lindley directement dans le squelette de l’article

    A bon entendeur

    Répondre à ce message

  • @nathbni
    > « Mais la rubrique que je souhaite rendre invisible aux non-autorisés reste... visible, comme pour beaucoup. »

    J’ai eu exactement le même problème, après avoir essayé beaucoup de choses, j’ai repris une idée d’un commentaire précédent : j’ai forcé l’usage de PHP5 sur mon hébergement, et maintenant ça marche :) (enfin, après le passage à PHP5, il faut encore une fois désactiver, réactiver le plugin et vider le cache, mais le passage à PHP5 est vraiment le point qui débloque le tout)

    Répondre à ce message

  • Je me suis lancée moi aussi, et tout a bien marché grâce à la clarté des explications. Mais la rubrique que je souhaite rendre invisible aux non-autorisés reste... visible, comme pour beaucoup.
    Sauf que moi, j’ai remarqué que c’est dans la création de la zone d’accès restreint que çà merdouille : en effet, je donne un titre, un descriptif, etc, et je sélectionne la rubrique concernée et là, elle ne reste pas cochée !!
    C’est normal, çà ?
    Merci pour votre aide... Je vais me coucher, là........

    Répondre à ce message

  • Etienne Coumont

    Le bug chez OVH est probablement le même que celui que j’ai rencontré chez Free, la correction a été incluse dans la dernière version de la RC1. Faites une mise à jour de Spip et tout devrait rentrer dans l’ordre.

    Je rencontre un autre problème, lié au plugin cette fois : ma page d’accueil affiche, dans la liste des derniers commentaires, un message posté sur un article censé être restreint ...

    J’ai regardé la requête SQL, on a :

    SELECT [...]
    FROM spip_forum AS <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+Zm9ydW08L2NvZGU+"></span>
    WHERE (forum.statut = 'publie') 
        AND (
    	  forum.id_rubrique NOT IN ('8','15','24') 
    	  OR forum.id_article NOT IN (SELECT zzza.id_article 
    				FROM spip_articles as zzza 
    				WHERE zzza.id_rubrique  IN ('8','15','24'))
    	)[...]

    Le ’OR’ me laisse perplexe : ne devrait-on pas avoir un ’AND’ à la place ? Sauf erreur de ma part, il y a forcément un des deux id_rubrique, ou id_article qui vaut 0 (un commentaire est lié soit à une rubrique, soit à un article), donc qui vérifie le NOT IN ...

    Remarque : un commentaire peut aussi être lié à une brève, mais j’ai zappé ce détail pour que mes explications (et le code) soient plus courtes ...

    Répondre à ce message

  • 1
    Etienne Coumont

    Bonjour,

    J’ai eu le même problème que 8-alien. Le plugin v3 ne fonctionne pas chez Free. Je l’ai résolu en modifiant le fichier de spip : /ecrire/public/compiler.php .
    A la ligne 900, on avait :

    	foreach($boucles as $id => $boucle) {
    		$boucle = pipeline('pre_boucle', $boucle);

    A modifier en :

    	foreach($boucles as $id => $boucle) {
    		$boucles[$id] = pipeline('pre_boucle', $boucles[$id]);

    Attention : modification à faire sur la version de Spip 2.0.0 RC1 et uniquement si vous êtes chez Free et que acces_restreint_v3 ne marche pas (à moins que d’autres hébergeurs aient le même problème ?)

    Disclaimer : je ne suis pas développeur Spip !! Je ne garantis donc pas que cette correction soit idéale. J’ai juste constaté qu’elle marchait chez moi ... ^_^ J’ai proposé la correction sur la liste spip-dev pour qu’elle soit acceptée. Et je conseille à tous ceux qui ne se sentent pas trop bidouilleurs d’attendre une prochaine version de Spip corrigeant le problème ...

    • bonjour,

      pour faire fonctionner le plugin chez OVH sur spip 2.0 svn, j’ai dû forcer l’utilisation de php5 (—>en php4 rien ne fonctionnait, j’ai passé une bonne demi-journée à essayer de débuguer sans résultat).

      $ cat .htaccess
      SetEnv REGISTER_GLOBALS 0
      SetEnv PHP_VER 5

    Répondre à ce message

  • Merci pour ce plugin !
    Installation réussie, zones définies et visiteurs créés avec les droits qui leur correspondent.

    Mais j’ai un problème avec les messages de forum dans les articles (répondre à cet article). Mon utilisateur « user » a uniquement accès à la rubrique « rubrique user » et à l’article « article user » qui est dans ladite rubrique. Il peut répondre à l’article « article user » sans problème. Mais sa réponse validée, elle n’apparait pas dans son interface. La boucle FORUM ne lui retourne rien (par contre l’utilisateur admin a bien accès à tous les messages du même article). Visiblement, les droits qui lui sont calculés ne lui donnent donc pas accès aux messages de cet article. Pourtant il a bien accès à l’article !

    Ai-je raté une étape dans la configuration des forums ou du plugin ? Faut-il modifier le fichier inc-forum par défaut de spip ?

    J’utilise la version 1.9.2e et j’ai une multitude de plugins : Acces Restreint 2.0, Autorité, cfg, le couteau suisse, crayons et redacteur public

    Répondre à ce message

  • 1
    Blascheck

    J’ai ce message d’erreur

    Fatal error : Call to undefined function : accesrestreint_rubriques_accessibles_where()

    Je ne peux plus accéder au site que puis je faire sans tout réinstaller ?

    Merci

    • Ce message apparaît après avoir désactivé le plugin.

      Il est fait exprès pour être sûr que une désactivation involontaire n’entrainera pas une révélation de contenu confidentiel.
      il faut suffit de vider le cache pour que tout fonctionne à nouveau.

    Répondre à ce message

  • Bonjour,
    il semblerait qu’un document joint à un article qui se trouve dans une rubrique dont l’accès est restreint ne soit pas protégé !?!?!

    En effet, un accès direct à http://serveur/IMG/pdf/200801-compte_rendu_conseil_administration.pdf semble possible ...

    Pas glop ? il suffit qu’une personne envoie le lien direct vers un document « protégé » ou qu’on trouve ça dans l’historique de navigation du brouteur web et paf le chien mon compte rendu d’administration réservé au bureau de l’association se trouve en accès public !

    Alors une solution ? faire un script php qui vérifie les droits d’accès et fait un passthru ?

    Éric

    Répondre à ce message

  • Pour MySQL, c’est la version 5.0.

    J’ai désinstallé et réinstallé mais sans succès.

    Il ne reste qu’à utiliser debug : mais comme je débute en Spip, je vais le faire à tête reposée.

    Merci encore pour tes réponses rapides.

    Répondre à ce message

  • 1

    Merci Cédric,

    je viens de refaire le vidage des caches (spip + firefox). La rubrique reste toujours visible après déconnexion.
    Comme dit précédemment, je n’ai pas ce problème en local : la rubrique apparaît ou disparaît bien en fonction des autorisations de l’utilisateur.
    Apparition si visiteur autorisé. Disparition si déconnexion.

    C’est pour cela que je suspectais le serveur free (?).

    A+

    • Les requêtes ont été ré-écrites pour une meilleure optimisation. En particulier, il est necessaire d’avoir mysql 4.1 minimum car le plugin utilise des sous requêtes.

      Essaye de desinstaller (en depliant le descriptif du plugin puis clic sur l’icone de paquet) puis reinstaller.
      Sinon essaye de faire ?var_mode=debug sur une boucle rubrique et de comparer avec ce que tu as en local.

    Répondre à ce message

  • 1

    Bonjour,

    j’ai récemment démarré sur Spip (et tant qu’à faire directement en Spip 2) avec la création d’un site d’échecs. J’ai essayé d’installer le nouveau plugin d’accès restreint :
    -  SPIP 2 [13084]
    -  Sarka Spip 3 [23867]
    -  Acces restreint [23741]
    -  Bonux [23745] qui, si j’ai bien compris, remplace spip2_reloaded et qui comme chacun sait, lave plus spip que spip ...

    L’accès restreint fonctionne parfaitement en local avec EasyPHP (avec IE ou Firefox).

    Mais sur le serveur de free, les rubriques faisant partie de l’accès restreint sont toujours visibles : elles ne disparaissent pas lorsqu’on se déconnecte. Ne fonctionne ni avec IE 7, ni avec Firefox 3.

    Ai-je loupé une étape ou bien est-ce free qui pose problème ?
    Merci de vos réponses.

    • il faut vider le cache après avoir activé le plugin. On oblige volontairement à cette vidage manuelle qui permet de proteger le site d’une desactivation involontaire du plugin : dans ce cas le site plantera plutôt que d’afficher du contenu non public

    Répondre à ce message

  • Bonjour, après avoir installé aujourd’hui Accès Restreint 3 sur spip2 et sélectionné une zone pour accès restreint, il me met ce message :

    Warning : in_array() [function.in-array] : Wrong datatype for second argument in /mnt/102/sdb/f/f/reperes.kt/plugins/auto/acces_restreint_3_0/acces_restreint_fonctions.php on line 73

    D’autre part, lorsque je clique sur [supprimer cette zone] il m’affiche un message « undefined » avec une icône de point d’interrogation puis lorsque je choisis OK :
    « Erreur...
    Fichier supprimer_zone.php introuvable »

    De plus, pourtant connecté avec autorisation administrateur, je n’ai plus d’accès à la zone restreinte dans l’espace public.

    Aurais-je manqué quelque chose dans la procédure de mise en place ?

    Répondre à ce message

  • Bonsoir à tous,
    J’ai un petit soucis avec ce plugin. Je souhaiterai avoir 3 types d’auteurs dans le site : Le redacteur en chef qui définit les 3 relecteurs par article, les relecteurs qui corrigent les articles des auteurs, et les auteurs. Et je voudrais que les auteurs saisissent leur article en ligne mais sans la publication en ligne. Une fois cette étape franchie, le rédactteur prend acte et sélection le comité de sélection (les 3 relecteurs de l’article). Ces derniers le corrigent avant publucation.

    Je sais que j’en demande beaucoup mais ca fait que quelques jours que j’ai connu spip et je ne me suis pas encore bien familiarisée avec.

    Donc merci de votre aide quelle qu’elle soit.

    Cordialement

    Répondre à ce message

  • -  Plugin acces restreint 3.0 Revision : 23040
    -  Plugin spip2 reloaded Revision : 22630
    -  SPIP 2.0.0 dev [12921]

    L’installation fonctionne.

    1) Lorsque je crée une zone restreinte, elle n’apparaît comme restreinte (même après vidage cahe spip et cache firefox).

    2) Lorsque je veux supprimer dans l’interface acces-restreint en cliquant sur [Supprimer cette zone] j’ai le message d’erreur « undefined » puis la page "

    « Erreur...
    Fichier supprimer_zone.php introuvable »

    Merci à vous

    Répondre à ce message

  • 1

    Bonjour,

    J’ai installé un module d’accès restreint sur mon site non sans difficultés mais ça fonctionne....

    Je souhaite désormais inclure une page de login mais impossible d’y arriver.

    Ce que je souhaite exactement c’est mettre un lien sur ma page d’accueil vers une autre page spécifique rien que pour le login. Et qu’un fois validé on retombe sur ma page sommaire

    Quelqu’un peut il me donner le code complet, j’ai beau regardé les explications je n’y comprend rien et je désespère.
    Toutes les explications sont tellement complétes que je me mélange dans tout ça, je suis débutant débutant débutant... :-).

    Je veux juste une page avec identifiant et mot de passe qui une fois validée renvoit sur sommaire.

    Milles merci d’avance.

    • Salut,

      Le lien sur ta page :
      <a href"#URL_PAGE{mapage}">pouet</a>

      et dans ta page

      [(#LOGIN_PUBLIC|spip.php?page
      =sommaire)]

      Spip c’est que du plaisir
       :)

    Répondre à ce message

  • 1

    Je viens d’installer le plugins et cela ne marche pas.
    Dès que je veux l’activer et que j’appuie sur le bouton valider, fatal error et je n’ai plus accès à ma page « Gestion des plugins » pour le désactiver. Il faut que j’efface le dossier du plugs directement sur le serveur pour avoir un retour à la normal.

    Par ailleurs, la petite icône m’indique que le plugins est en cours de développement. Le package à télécharger est marqué version 3 alors que le titre de cette rubrique est version 1. Y’aurait-il erreur de version ?

    Ah oui ! Ma version de SPIP est 1.9.2e et j’efface bien le cache avant de valider. J’efface aussi le cache de firefox.

    • Bonjour,
      pour Spip 1.9.2e il faut utiliser le paquet acces_restreint_1_9 linke en téléchargement ci-dessus ou sur la zone.

      La version 3 d’accès restreint est complètement recodée pour Spip 2.0 et pour optimiser les performances sur les gros sites. Elle fera l’objet d’une documentation prochaine : l’ergonomie de l’interface privée a été revue, mais il n’y a pas de changement dans les fonctionnalités.

    Répondre à ce message

  • Bonjour,

    Le plugin ne fonctionne pas chez moi. Je dispose de la version 19.2e avec le squelette Blog’nGlop. Le plugin s’installe correstement mais dans l’interface d’administration, je reste bloqué sur la page « gestion des plugins ». Impossible d’aller ailleurs.

    Est-ce un problème de squelette ? de version de spip ?

    Merci d’avance

    Grégory

    Répondre à ce message

  • Hello,

    Est-il possible de tester si on est dans une zone restrainte (pour un utilisatenur authentifié) ?

    Le but est de permettre de faire une distinction (eg. rajouter un cadenas) entre une page privée et une page publique, afin que le visiteur (authentifié) se rappelle que cette information n’est pas visible par tout le monde.

    Répondre à ce message

  • Bonjour,

    J’utilise ce plugin pour gérer les accès restreints d’un intranet. Il fonctionne bien à ceci près qu’il renvoie les utilisateurs sur la page d’accueil après l’identification au lieu de renvoyer sur la page désirée.

    Normalement, je suis sur une rubriqueX, je m’identifie, donc je vais sur une page formulaire, puis après identification je devrais retourner sur ma rubriqueX et non sur la page sommaire. Or, lors des premières identifications il me renvoie systématiquement sur la page de sommaire...

    Quelqu’un a-t-il une explication à ce comportement étrange ?

    Merci par avance pour aide,

    Répondre à ce message

  • Bonjour,

    Mon site a 2 rubriques : intranet et publications.
    Je voudrais limiter l’accès à la rubrique intranet aux auteurs.

    Actuellement, les auteurs sont identifiés/crées via ldap, et je dois les ajouter un par un à la zone « intranet ».

    Y a-t-il une solution pour éviter ce travail fastidieux et rendre cette zone automatiquement acessible aux nouveaux auteurs ?

    Mikael Kermorgant

    Répondre à ce message

  • 1

    Au risque de paraitre très con, je n’y comprends rien !
    que faut il faire pour afficher un formulaire de connexion pour les adhérents ? C’est quoi ce truc -> #LOGIN_PUBLIC ? comment l’utiliser. C’est une usine à gaz !!

    • Bonjour

      L’article est très détaillé (c’est peut-être pour cela que cela te semble compliqué) et offre plusieurs choix.

      #LOGIN_PUBLIC est à mettre, (c’est un exemple) dans la page sommaire.html.

      Ou alors comme dans un des exemple, tu créées une page login_public.html (voir plus haut). Cette page comprendra, entre autre #LOGIN_PUBLIC.

      Ensuite soit tu fais un INCLURE <INCLURE{fond=login_public}> dans ta page sommaire (toujours par exemple), soit tu obliges les visiteurs à passer par cette page login_public.html pour avoir ensuite accès à la partie privée du site.

      Fais des essais et tu t’aperçevra que c’est très simple.

      Bon courage

    Répondre à ce message

  • Bonjour,

    Je viens d’installer le plugin AccesRestreint qui répond pour le moment à mes besoins. Le site étant tout neuf, je ne dispose pas de suffisamment d’articles et de rubriques pour avoir des problèmes d’accès.

    Cependant, j’ai un souci de présentation sous Internet Explorer (versions 6 et 7). J’explique :

    Comme indiqué dans l’article, j’ai placé les noisettes de connexion et de déconnexion dans inc-rubriques.html., ce qui l’intègre dans le cadre de navigation. Tout va bien dans Firefox, le cadre de login apparaît au-dessus de la liste des rubriques, avec la même largeur.

    Mais sous IE, le champ de saisie du login dépasse largement du cadre ! En fonction de la version, le comportement est différent :

    -  Sous IE7, le champ de saisie est flottant, sort du cadre navigation et vient par dessus le corps de la page (le cadre « navigation » est à gauche de la page)

    -  sous IE6, le champ de saisie force le cadre « navigation » à sa largeur propre. Du coup, le cadre navigation ne tient plus à gauche du cadre contenu, et se déplace en fin de page !

    (c’est dommage que ce forum n’accepte pas les images, cela aurait été plus clair).

    A priori, la meilleure solution serait de forcer la largeur du champ de saisie du login (ce doit être un input de formulaire) avec une feuille de style « width=150px » ;. Le problème, c’est que je n’arrive pas à trouver où est généré ce formulaire de login (appelé par #login_public sans aucun doute).

    Si quelqu’un a déjà eu (et résolu) le problème, de préférence sans bidouiller le code de spip, ou sait où se trouve le code, merci à lui de l’indiquer...

    Répondre à ce message

  • Bonjour,

    Le lien du texte :

    "6/ Une autre noisette, qui joue sur le plugin Balise Session et Accès restreint, est disponnible ici."

    est en erreur car il indique :

    http://www.spip-contrib.net/%3Ca%20href=%22http://zone.spip.org/trac/spip-zone/browser/_squelettes_/%22%20class=%22spip_url%20spip_out%22%20rel='nofollow'%20%3Ehttp://zone.spip.org/trac/spip-zone...%3C/a%3Esoyezcreateurs_net/plugins_1.9.2/plugins/_soyezcreateurs/login-logout.html.

    Le bon lien est :

    http://zone.spip.org/trac/spip-zone/browser/_squelettes_/soyezcreateurs_net/plugins_1.9.2/plugins/_soyezcreateurs/login-logout.html

    Répondre à ce message

  • Gefonline

    Bonjour,
    J’ai des administrateurs en accès restreint seulement je me suis rendu compte que ces derniers pouvaient modifier la liste des zones auxquelles ils peuvent avoir accès. Comment éviter cette faille de sécurité ?

    Merci,

    Répondre à ce message

  • 6

    Bonjour,

    j’ai installé ce plugin depuis plusieurs mois, il fonctionne très bien sur une 1.8.
    En revanche, une question concerne les documents attachés :
    Tous les documents (pdf, rtf, jpg, etc...) sont mis dans le même répertoire, que l’article soit en restreint ou pas. Du coup des pièces jointes voulues en accès restreint se retrouve aussi référencées dans google ou autre, et accessible directement.
    Peut-on imaginer des répertoires ’bis’, protégés pour l’accès restreint ?

    • Madrilene

      Bonjour
      je suis dans uns situation identique ou les images ne doivent pas etre « consultables » par un internaute non identifié et loggué ?. Y -a-il une solution ?
      Merci

    • cy_altern

      ça serait bien que vous lisiez les post de ce forum avant de poser des questions auxquelles on a déja répondu...
      Voir http://www.spip-contrib.net/Le-plug...

    • jil quillevere

      bonjour, et excusez-moi si le pb ci-dessous a déjà été posé (je n’en trouve pas trace sur les posts) : j’utilise SPIP 1.9.2d et le plugin accès restreint 1.9.
      j’ai créé 21 zones d’accès restreint, vu apparaître un affichage de ces zones par 10 ( 1 /11 /21) Lorsque je veux voir les zones de 11 à 20, seules les 10 premières s’affichent, idem pour la 21 ème, idem par l’icône + . L’appel des pages se fait comme ci-dessous :
      (de 1 à 10) http://monsite.eu/ecrire/?exec=acces_restreint
      (de 10 à 20) http://monsite.eu/ecrire/?exec=acces_restreint&debut=10#a1
      ( de 20 à 30) http://monsite.eu/ecrire/?exec=acces_restreint&debut=20#a1
      ( la totalité par +) http://monsite.eu/ecrire/?exec=acces_restreint&debut=-1#a1

      mais seules les 10 premières s’affichent

      et donc plus d’accès en modification sur les zones au-delà de 10
      Merci de me donner une piste
      cordialement

    • jil quillevere

      je ne sais pas si ceci résoudra totalement votre problème mais j’avais aussi ce souci ( accessibilité du répertoire IMG , stockage des fichiers attachés ou liés par type de format et non par thématique comme je le souhaitais et d’autre part non accès depuis l’espace de publication (rédaction d’article) via le plugin FCKeditor à un autre répertoire de stockage que celui d’IMG) et je l’ai partiellement « résolu » (sans toutefois avoir exploré toutes les failles que cela pose sans doute) de la manière suivante :
      installation de DocManager (dmanager_3.0b d’AlternC : http://www.dmanager.org/ ) dans le répertoire IMG et « protection » de chaque répertoire de « Files » par un fichier de redirection vers l’URL de login . c’est un peu bourrin et j’ai bien conscience que cela ne règle pas complètement le problème posé mais c’est peut-être une piste à explorer : si cela ne règle pas la sécurité , cela apporte un confort pour le stockage organisé des ressources à lier aux articles..
      je suis preneur de tout test complémentaire là dessus
      cordialement

    • Bonjour

      avez vous trouvé la parade ? car je suis dans le meme cas

      MERCI

      mp

    • Hello
      comme le lien de Cy altern renvoyant à la réponse apportée à la question, ne semble pas marcher, je ne puis que coller un bout de phrase d’un post d’une internaute sur ce même forum un peu plus loin :
      « J’utilise le plugin accès restreint depuis 1 an, customisé pour la protection des documents de l’espace restreint par l’excellent plugin DW2 de Scoty, »
      apparemment donc DW2 de Scoty, protegerait les docs...

    Répondre à ce message

  • 1

    Bonjour !

    J’utilise le plugin accès restreint depuis 1 an, customisé pour la protection des documents de l’espace restreint par l’excellent plugin DW2 de Scoty, pour un site qui a absolument besoin de respect de l’anonymat :
    http://www.davidetjonathan.com

    Attention, ce qui suit explique comment est construit le squelette, le problème est exposé plus loin

    Pour éviter l’affichage d’une page blanche si la rubrique ou l’article sont protégés et que visiteur n’est pas loggé, j’ai placé un script à la fin du code qui affiche, à la place de l’endroit où est supposé se trouver le contenu de l’article ou la rubrique, le mot « vous ne pouvez accéder... » etc.

    le code, qui agit uniquement lorsque la rubrique est identifiée comme d’accès restreint (j’ai créé une table ad’hoc) est le suivant :

    <BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
    
    <?php
    $id=#ID_RUBRIQUE;
    $db = mysql_connect('xxxx');
    mysql_select_db('xxx);
    $sql_query = "SELECT * FROM indices_complet WHERE idrub='$id'";
    $result=mysql_query($sql_query);
    while ($result && $row=mysql_fetch_array($result))
    {
    $statut=$row['acces'];
    if ($statut=="restreint")
    {
    	if ($auteur_session)
          	{
    		echo '<hr><p class=texte12>  --------->  Vous êtes authentifié. <-----------</p>';
    		}
    		else
    		{ 
    		echo '<p>&nbsp;</p><p>&nbsp;</p><h3>Désolé-e !<br>Vous ne pouvez accéder à cette page<br>si vous n\'êtes pas identifié-e !!!!</h3></p>';
    		
          	}
    }
    }
    ?>
    </BOUCLE_accesrestreint>}

    Ainsi, si c’est une page d’accès public, ce script n’affiche rien du tout ce qui est bien mieux.

    Ceci marche parfaitement bien pour les rubriques, le script étant placé après la clôture de toutes les boucles (c’est très important).
    ( à noter que là le début du script c’est

    <BOUCLE_accesrestreint(RUBRIQUES){id_rubrique}{tout_voir}>) 

    Exemple : http://www.davidetjonathan.com/spip.php?rubrique70

    La gestion automatique des styles :

    Dans ce site j’ai aujourd’hui 5 ou 6 jeux de styles différents (potentiellement plus de 20), correspondant chacun à des parties du site ; les styles (c’est à dire feuilles de style, titre de la page, couleur des boutons et petites décorations) s’affichent automatiquement selon la partie à laquelle appartient la rubrique ; j’ai créé pour cela une table qui indique quelles rubriques sont rattachées à quelles parties.

    Ainsi dans le code de ma page, au moment d’appeler, par exemple, la feuille de style, j’indique (#ID_RUBRIQUE.css"> en faisant appel à la fonction bonnom que j’ai créé dans mes_fonctions.php :
    Par exemple si c’est la rubrique 25 le script appellera les styles dj_paris.
    Exemple : http://www.davidetjonathan.com/spip.php?rubrique25

    Où est-ce que je veux en venir, vous-dites vous ?

    eh bien mon problème est que lorsqu’il s’agit d’une page d’article, je suis obligée de créer une boucle globale qui permette de relever le numéro de rubrique pour aller chercher le style correspondant.

    {<html>
    <BOUCLE_1(ARTICLES){id_article}>  
    <head>
    title>[(#ID_RUBRIQUE|bontitre)]</title>
    ...
    ...
    </BOUCLE_1> 
    </html>}

    et là, c’est le drame : je ne sais plus ou mettre le script accès restreint !!!! ça affiche une page blanche.

    Si je ferme la boucle dite « de style » avant, le message d’avertissement apparait mais tout seul sur la page blanche :
    http://www.davidetjonathan.com/spip.php?article79

    J’ai donc essayé diverses combinaisons et aucune ne fonctionne correctement si on n’est pas loggé et qu’on veut accéder à un article d’accès restreint :

    {<html>
    <BOUCLE_1(ARTICLES){id_article}>  
    	<BOUCLE_article_principal(ARTICLES) {id_article}>
    	</BOUCLE_article_principal>
    		 <BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
    		</BOUCLE_accesrestreint> 
    	[autres morceaux de codes faisant appel à mes_fonctions.php]
    </BOUCLE_1> 
    </html>}

    ===> ça donne page blanche

    {<html>
    <BOUCLE_1(ARTICLES){id_article}>  
    	<BOUCLE_article_principal(ARTICLES) {id_article}>
    	</BOUCLE_article_principal>
    </BOUCLE_1> 
    		 <BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
    		</BOUCLE_accesrestreint>  
    		[autres morceaux de codes faisant appel à mes_fonctions.php]
    </html>}

    ===> ça donne blanc, puis le message, puis la suite du code sans le bon style

    {<html>
    <BOUCLE_1(ARTICLES){id_article}>  
    	<BOUCLE_article_principal(ARTICLES) {id_article}>
    	</BOUCLE_article_principal>
    </BOUCLE_1> 
    		 <BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
    		</BOUCLE_accesrestreint>  
    
    <BOUCLE_2(ARTICLES){id_article}>  
    	[autres morceaux de codes faisant appel à mes_fonctions.php]
    </BOUCLE_2>
    </html>}

    ===> ça donne blanc, puis le message, puis blanc. (version actuelle)

    Que puis-je donc faire ?
    je suis prête à repenser complètement l’architecture de ma page si nécessaire.

    Merci de m’avoir lue jusqu’au bout !

    Zab

    • Vraiment, un coup de main me ferait vraiment plaisir.

      Merci d’avance aux courageux(ses)...

    Répondre à ce message

  • 1

    Bonjour

    tout d abord merci pour ce plugin !!

    j ai un probleme pour la DECONNEXION :

    si c’est un administrateur qui s’est connecté : pas de pb lors de la demande de deconnexion qui est bien prise en compte

    quand c’est un visiteur ( que j ai créé dans la partie privée avec ses attributions pour les zones restreintes) la deconnexion par #URL_LOGOUT ne fonctionne pas !!!! il est tout le temps connecté ???

    Comment faire ?

    Merci

    ps : je suis en 1.92. d et j utilise le squelette alternatives

    les appels et tests se font dans deux fichiers séparés
    lesquels sont bien affichés

    MPaule

    • Bonjour

      j ai recréé une base « neuve » avec les memes programmes et plugins et squelettes, sans rien toucher , et ça a marché ???

      ps : IE posait le pb et pas les autres

      PAR CONTRE l acces aux fichiers des zones d’acces restreinte est possible ( et j ai testé sur IE et Mozilla !!!!) y a t il un moyen de bloquer ?( autre qu un .htaccess a creer dans /IMG/xls ? )

      merci
      mp

    Répondre à ce message

  • Bonjour, J’utilise depuis 9mois le plugin dans le cadre d’un site d’association (amisaca92.free.fr). Il y a une zone d’acces restreinte non visible pour les visiteurs simples. Mais etant le principal redacteur egalement, je voudrais faire savoir a mes membres qu’il y a des articles proteges a lire. Donc dans la page sommaire je voudrais savoir si il y a un moyen de faire la liste des articles (par ex. titre/date) avec la mention qu’il faut se logger pour pouvoir les lire ?
    Bien a vous.
    et merci pour ce plugin qui par ailleurs satisfait mes besoins.

    Répondre à ce message

  • 4

    Bonjour,

    pouvez-vous me confirmer que restreindre l’accès à seulement une sous-rubrique d’une rubrique est possible ?

    Ce que je voudrais c’est sur ma page de sommaire afficher le titre de la rubrique seul puis arpès clic afficher toutes les autres sous rubriques à accès restreint, j’ai surement oublier des bout de codes dans mon squelette.

    Pour le moment j’ai beau cocher ma sous-rubrique, celle-ci n’est pas accessible.

    • mickael

      J’ai résolu mon problème grâce à la boucle proposé plus tout_voir

      Par contre je souhaiterai récupérer l’idée de la zone à laquelle est rattachée le visiteur qui pourrait être par exemple #ID_ZONE, mais ce n’est pas le cas. J’en ai testé d’autres.
      En appelant la variable php $id_zone je n’ai pas non plus de résultat.

      Avez-vous une idée du nom de la variable ?

      Merci

    • denisb

      il te faut utiliser le plugin session pour récupérer simplement l’id_auteur en cours.
      (c’est faisable aussi sans le plugin, mais avec du php et du #SET #GET)

      <BOUCLE_zone_id(spip_zones_auteurs) {id_auteur = #SESSION{id_auteur}} {"<br />"}>
        <BOUCLE_zone_nom(spip_zones) {id_zone}>
          #ID_ZONE - #TITRE
        </BOUCLE_zone_nom>
      </BOUCLE_zone_id>
      </B_zone_id>
        pas identifié
      <//B_zone_id>
    • Ok merci pour le coup de pouce. J’ai utilisé ta méthode et tout fonctionne.
      Reste une petit chose à règler : récupérer le #TITRE de la rubrique parente à celle cochée.
      Mes tests se sont révélés non concluants, et mon objectif est de pouvoir afficher le nom de la rubrique parente dans lesquelles sont regroupées mes rubriques filles à accès restreint.
      Probleme : si je coche ma rubrique parente alors toutes les rubriques filles s’affichent

    • Merci pour l’info, ça m’a bien aidé...

      Pour ceux qui cherchent le plug-in : http://spip-zone.info/spip.php?page=session

    Répondre à ce message

  • Bonjour,
    j’essaye d’utiliser le plugin accès restreint : j’ai mis dans mon sommaire.html directement un (#LOGIN_PUBLIC avec un accès restreint à tout l’espace public pour les visiteurs autre que l’administrateur. Pourtant quand je me connecte en tant que redacteur, j’ai quand même accès à ma page tutoriel.html.
    Est-ce que ce plugin ne gèrerait pas les accès aux pages ?
    Y a-t-il quelque chose d’autre à faire pour que l’accès restreint fonctionne ainsi ?
    Merci pour votre aide.

    Répondre à ce message

  • 1

    Bonjour

    Je viens de faire mon premier site SPIP, avec une partie restreinte (pour des explications de tours de magie). Merci pour ce plugin et toutes les excellentes explications, j’ai réussi à franchir pratiquement toutes les étapes (installation, création des zones et des profils restreints) et tout semble bien marcher.

    Ce qu’il me reste à faire est le suivant : quand les visiteurs cliquent sur un lien qui pointe dans la zone restreinte, je voudrais qu’un formulaire d’identification s’affiche.

    Problème : mes liens ne sont pas définis dans le squelette (dans ce cas vous proposez une solution), mais directement dans la partie redacteur de SPIP, sous la forme :

    ]nom du lien->numéro article[

    (je mets des crochets à l’envers dans ce message sinon Spip les interprète)

    Comment fais-je dans ces conditions pour inclure le filtre ?

    Je vous remercie d’avance pour votre aide.

    F.

    • Je crois que j’ai résolu le problème. J’ai compris que la protection ne se fait pas au niveau du lien, mais au niveau de la page qui affiche l’article. Donc maintenant ça marche bien.

      J’ai pas encore saisi toute la logique de Spip, mais c’est vrai qu’avec des efforts et la super-doc en ligne on finit par comprendre.

      F.

    Répondre à ce message

  • Gefonline

    Bonjour,

    J’arrive tout droit du plugin crayon où je criais au loup avant de me rendre compte que ce n’était pas forcément ce plugin là le fautif mais celui-ci. Le problème vient d’une défaillance de sécurité ; un administrateur restreint à une rubrique de l’espace privé grâce au plugin accès restreint peut modifier toutes les autres rubriques si le plugin crayon est activé...ennuyeux. La seule réponse que j’ai eu lors de mon post précédent et qui sera utilise aux esprits éclairés (ce qui n’est pas mon cas malheureusement) est la suivante :

    « C’est peut-être une défaillance du plugin accès restreint, qui n’utilise pas la fonction autoriser(), présente dans l’API de SPIP »

    En effet si on utilise la fonction administrateur restreint de spip le problème ne se pose pas (les crayons ne sont actifs que dans les zones qu’on administre). L’inconvénient de cette option est que l’administrateur ainsi défini n’est pas autorisé à créer de nouveaux auteurs pour sa zone/rubrique, et je ne peux donc l’utiliser.

    Pour résumer, ne serait-il pas possible de modifier le plugin accès restreint pour qu’il soit compatible avec le plugin crayon ?

    J’ignore l’ampleur de la tache et veux bien laisser cette question à l’état de réflexion pour les projets à venir...

    Dans tous les cas, merci !

    Répondre à ce message

  • Bonjour,

    j’ai installé le plugin accès_restreint et article_pdf, ils fonctionnent très bien séparément.

    Par contre impossible de transformer un article en pdf lorsque cet article est situé dans une zone restreinte.

    J’ai simplement droit à une page blanche contenant l’url souhaitée sous forme d’image.
    du style :
    https://mon-site.fr/site/spip.php?page=article_pdf&id_article=46

    quelqu’un a déjà rencontré ce problème ?

    Répondre à ce message

  • Je voudrais créer un menu sur www.eolides.com

    L’une des rubriques est à accès restreint.
    Dans le menu (qui n’est pas encore en ligne), pour cette rubrique, j’ai fait un lien qui va vers la page login_public... au lieu de le faire directement vers la rubrique.

    Ai-je eu raison ?
    Parce que du coup, même une fois logués, à chaque fois qu’ils recliquent sur ce menu, les visiteurs tombent sur la page « se loguer » au lieu d’aller directement sur la rubrique à accès réservé.

    Que dois-je faire pour qu’une fois logués, ils puissent naviguer librement sur le site, sans avoir à se reloguer toutes les 2 mn ??

    Répondre à ce message

  • bonjour
    Voici mon problème
    Pour être plus clair : Il y a des rubriques dans le portail. Dès lors qu’on s’authentifie, on a accès à certains rubriques et pas à d’autres. Le problème est que malgré les bonnes declarations, les nouveaux users ne voient pas une rubrique. Donc à comparer leur profil avec ceux qui ont bien accès, je me suis rendu compte qu’il y a un champ ( attribut) ldap qui leur manquait. Si je leur ajoute cette dernière, ils ont accès à la rubrique.
    Mais le problème, c’est que mon responsable ne veut plus de ce champ car il ne doit plus exister. Donc je deduis donc qu’il y forcement un test sur ce champ. Moi je souhaiterais orienter le test sur un autre champ.
    Je crois que mon prédécesseur à supprimer le champ dans le formulaire de déclaration des users sans modifier son code.

    Sinon, j’ai lu les infos sur le plugin rubriques à accès restreint. Mais je n’avance toujours pas.

    Pour info : j’ai posté aussi un message sur le forum de spip http://forum.spip.org/fr_202956.html#forum203111

    Répondre à ce message

  • Félicitations et merci pour ce plugin bien pratique.
    Cependant est-il possible, comme commencé dans l’article pour 1.9.1 : http://www.spip-contrib.net/Plugin-Restriction-des-droits-des , de restreindre encore plus les admin. ou, en d’autres termes, de créer des super-rédacteurs ?

    Pour l’avoir essayé... je ne peux vraiment pas me permettre d’avoir des admin. restreints qui peuvent modifier les noms, les e-mails et les bio. des rédacteurs et des visiteurs, voir les stat. et l’origine des visites, et, sauvegarder la base de donnée du site (!).

    En revanche, j’ai absolument besoin de super-rédacteurs (ou d’admin. très très restreints) autorisés à gérer et modifier certaines rubriques, leurs sous rubriques, leurs articles, leurs brèves éventuellement et le choix des mots-clés à y associer, dans l’espace privé.

    Bref ! Tout ce qui concerne la rédaction mais surtout pas l’administration et encore moins la configuration.

    Y a-t-il une solution ?

    D’avance merci.

    Répondre à ce message

  • 2

    Bonjour,

    je viens de migrer un site de spip 1.9.2c a 1.9.2d. J’utilisais le plugin accès restreint sans problème dans la version précédente mais sous 1.9.2d je ne parviens pas à créer une zone. En effet, le message suivant m’est retourné lorsque j’enregistre une nouvelle zone :
    « Vous n’avez pas accès à cette page. »
    Avant que je continue à chercher où j’ai bien pu faire une fausse manip j’aimerais m’assurer que le plugin est bien compatible 2d.

    Merci de votre aide

    • En fait, j’ai l’impression que c’est plus un problème de compatibilité de plugin. J’utilise également le plugin openbublishing et si j’active mes zones d’accès restreint en premier (j’ai refait entièrement ma migration), alors ça marche mais cette fois c’est openpublishing qui refuse d’initialiser ses tables... Mais bon j’en suis pas sûr parce que si je désactive l’accès restreint, je ne parviens pas à faire marcher openpublishing pour autant. C’est juste que la première fois j’avais commencé par me soucier d’openpublishing en premier, cad avant d’essayer de créer des zones d’accès restreint, et celui-ci marchait sans pb.
      Je continue de creuser ( et de m’enliser ;)

    • Meriguan

      moi j’ai le même problème, j’ai la même version SPIP(1.9.2d) et j’ai seulement mis le pluging d’Accès Restreint, c’est l’unique que j’ai mis et le message c’es aussi :

      « Vous n’avez pas accès à cette page. »

      alors ???

    Répondre à ce message

  • 1

    Bonjour,

    Je viens de récupérer les plugins Agenda et Accès restreint. Après installation, je remarque que le plugin Accès restreint ne filtre pas les événements de l’agenda comme annoncé (boucle EVENEMENTS).

    J’ai utilisé la boucle suivante :

    <B_lesevts>
     <h2><:agenda:></h2>
     <BOUCLE_lesevts(EVENEMENTS){par date}{statut=publie}{0,5}>
       <div class="evt-item">
         [<div class="evt-date">(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
           Le [(#DATE_DEBUT|jour)][/(#DATE_DEBUT|mois)][/(#DATE_DEBUT|annee)] 
           [(#HORAIRE|=={oui}|?{
           [(#REM) memes heures ?]
           [(#DATE_DEBUT|=={#DATE_FIN}|?{ 
           [ (#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
           [(#REM) pas memes heures ?]
           [(#DATE_DEBUT|!={#DATE_FIN}|?{
           [ (#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] 
           [-(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
            ,''})]
            ,
            Du [(#DATE_DEBUT|jour)][/(#DATE_DEBUT|mois)][/(#DATE_DEBUT|annee)] 
            [(#HORAIRE|=={oui}|?{
            [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]  
            au [(#DATE_FIN|jour)][/(#DATE_FIN|mois)][/(#DATE_FIN|annee)]
            [(#HORAIRE|=={oui}|?{
            [(#DATE_FIN|heures)]h[(#DATE_FIN|minutes)],''})]  })</div>]
    
            [<div class="evt-lieu">Lieu : (#LIEU)</div>]
                    
            <a href="[(#URL_ARTICLE)]">[(#TITRE|supprimer_numero|couper{40})]</a>
                            
            [<div class="description">(#DESCRIPTIF|couper{100})</div>]
    
       </div>
      </BOUCLE_lesevts>
    </B_lesevts>

    La boucle remonte l’ensemble des événements, y compris ceux correspondants aux articles publiés dans une rubrique dont l’accès est restreint, et ceux pour tous les utilisateurs (anonymes ou autorisés).

    Je remarque également que l’agenda ne tient pas compte des restrictions.

    Quelqu’un a-t-il rencontré le même problème ? Y a-t-il une solution ?

    • Oups...
      Merci de ne pas tenir compte de mon message précédent.
      Je n’avais pas récupérer la dernière contribution... Le zip mis sur la présente page n’est pas le plus récent.
      En tout cas, je félicite le(s) concepteur(s) des deux plugins Agenda et Accès restreint.
      Cordialement

    Répondre à ce message

  • ouiskas

    Bonjour,

    Ça fait quelques temps que je me prends la tête sur ce plugin (qui me semble très bien au dire de la communauté !) mais là je bloque...

    voilà mon souci :
    je fais un site où se trouve des pages de membres prédéfinies : le nom du membre correspond à une rubrique et ses données à des articles. Jusque là tout va bien... Mon problème est le suivant comment permettre au membre de modifier leurs articles et de ne pas pouvoir en créer d’autres ?

    D’après mon raisonement, j’ai procédé comme suit : j’ai créée une zone restreinte dans l’espace privé et donné à un rédacteur cette zone restreinte. sauf que au moment ou ce dernier se connecte (via l’interface de l’espace privé) et ben il voit toute la structure du site et pas juste sa zone restreinte !!! je ne comprends pas pourquoi !!! alors j’ai tenté en le mettant en visiteur mais encore moins puisque plus de possibilité de connexion...

    en fait normalement je programme en php/mysql mais au vu des possibilité de spip et de rapidité d’execution ça me semble bien ! mais là je sèche... quelqu’un peut il m’aidé ?!? SVP ! peut être ce n’est pas la solution à prendre... mais alors peut on faire des formulaires qui permettent de modifier telle ou telle page sans passer par l’interface privée ?

    je craque ! merci pour votre aide précieuse !

    précision spip 1.9.2c

    Répondre à ce message

  • 2

    Bonjour,

    Bravo pour le plugin que j’utilise depuis plus d’un an.

    Je viens de remarquer qu’un document pdf attaché à un article en zone restreinte est accessible à tous si Google l’a indexé, mais pas l’article lui-même.

    A la création de mon site, j’ai transmis un fichier Google SiteMap pour référencer correctement mon site, sans exclure les rubriques en accès restreint . Est ce lié ?

    Merci de vos réponses

    • cy_altern

      ce comportement est tout à fait normal (et absolument pas lié à l’utilisation de google site map) : le plugin ne restreint que l’accès aux articles/rubriques puisqu’il filtre les éléments affichés à partir de la base de données, mais en aucun cas il ne limite l’accès aux documents.
      Dans ton cas, le document lié à l’article restreint est placé dans le même répertoire que tous les autres documents donc accessible comme ces derniers si tu appelle son URL (.../IMG/pdf/nom_du_fichier.pdf).

      Pour ce qui est de la protection de l’accès aux documents, ni ce plugin ni le plugin accès restreint par groupes n’offrent de solution intégrée.
      Tu trouvera une contrib traitant de ce problème dans cet article : http://www.spip-contrib.net/Protege... mais il te faudra un faire un minimum de code pour qu’elle soit compatible avec les autorisations/restrictions définies par le plugin accès restreint...
      La zone est ouverte à tous (svn ://zone.spip.org/spip-zone/_plugins_/_stable_/acces_restreint), on attend donc cette amélioration du plugin avec impatience !

    • Merci cy_altern pour ta réponse rapide.

      Je vais me pencher sur la question ...

    Répondre à ce message

  • laventin85

    bonjour à tous,

    Je souhaiterai faire un site web, et on m’a conseiller de le faire avec spip. De plus, je souhaiterai restreindre l’accès au public et avoir des rubriques non vues du public.j’utilise donc le plugin accès restreint, qui fonctionne parfaitement bien, car les rubriques privées n’apparaissent pas lorsque je suis pas loguer dans l’espace privée. Mais je n’arrive pas à faire apparaître les noisettes de connexion ou de déconnexion dans ma page d’accueil pour les visiteurs, même en suivant les instructions de ce tutoriel.
    Je dois sûrement mal m’y prendre, dans quel(s) fichier(s) dois-je ajouter les lignes de code. Et dois les ajouter en mode graphique ou dans le code HTML, et a quel emplacement.

    Configuration : spip 1.9.2d
    serveur web et SQL free
    Squelette d’origine

    Merci d’avance

    Répondre à ce message

  • Yannick

    Bonjour,

    Si j’active l’« accès restreint à une zone dans l’espace privé », il m’est impossible de créer un visiteur à partir du back-office. quelqu’un aurait-il une solution ?

    Merci d’avance
    Yannick

    Répondre à ce message

  • Bonsoir j’essai d’installer le plugins sous SPIP 192d, mais j’ai cette erreur dans l’interface des plugins ...

    « Fichier absent : ../plugins/acces_restreint_1_9/inc/acces_restreint.php »

    Bon il est vrai que je n’ai pas mal de plugins activé ..

    #cfg : moteur de configuration

    # le pluginCrayons

    # Formulaires&Tables (SPIP 1.9.1+)

    #r le pluginEscoitar Gis Plugin

    # pluginGoogleMap Api

    # le plugin Inscription2

    #r le pluginTableDATA

    Avez vous une info ?

    Merci

    Répondre à ce message

  • 1

    Bonjour,

    Je suis sous Spip 1.9.2d avec plugin Beespip.
    Après installation de Accès restreint V2 :

    J’ai l’erreur suivante :

    Fatal error : Call to undefined function AccesRestreint_evenements_accessibles_where() in /home/pierre/DEVELOP/htdocs/xampp/develop/ARIEDA_1.9.2d.bee.353/ecrire/public/composer.php(48) : eval()’d code on line 13

    Est-ce qu’il y a un correctif à appliquer ?

    Je n’ai toujours pas la solution pour le menu dont les rubriques restreintes ne s’affichent pas même pour ceux qui y sont autorisées (ma question précédente)

    • cette fonction est définie dans plugins/acces_restreint/inc/acces_restreint.php (ligne 334)

      ce fichier existe-t’il bien chez toi ?

    Répondre à ce message

  • Bonjour,

    Mon site est sous Beespip et j’ai installé acces_restreint 2.0

    Je n’arrive pas à afficher dans le menu une rubrique qui est en accès restreint.

    Mon architecture

    J’ai créé la Zone Educ avec restriction sur l’accès public qui contient 1 sous-rubrique Educ. (La sous-rubrique Educ appartient à la rubrique-secteur Salarié qui elle n’est pas en accès restreint.

    Il y a 3 utilisateurs autorisés pour la Zone Educ dont Educ1 en tant que rédactreur
    Educ1.
    1 article ART1 a été créé dans la ss-rubrique Educ et validé.

    Quand je suis connecté en tant que Educ1, je vois à partir de la partie privé l’article ART1 sans pouvoir le modifier.(je n’en suis pas l’auteur)

    Quand je vais sous la partie publique, la rubrique Salriés/Educ n’apparait pas au niveau du menu. Les rubriques sans accès-restreint apparaissent.

    Je joins ci-dessous le code du menu. Y a-t-il une modif à faire pour faire afficher la sous-rubrique ?

    Merci de votre aide

    <?php
    if (($auteur_session) || (#CONFIG{spipgen_intranet}=='non')) {
    ?>

    [(#CONFIGbeespip_pos_date|==’menug’| ?’ ’,’’)

    ]

    [(#REM) Formulaire de recherche ]
    [(#CONFIGbeespip_pos_recherche|==’haut’| ?’ ’,’’)

    (#FORMULAIRE_RECHERCHE)

    <!— /bamcontent -

    ]

    [(#CONFIGspipgen_menudeplie|==’oui’| ?’ ’,’’)

     

    ]

    <?php
    if(floor(phpversion()) < 4)    {
        // La version de PHP est inférieure à 4,
        // la fonction in_array n'existe donc pas
        function in_array($member, $array)
        {
            reset($array);
            while (list($k, $v) = each($array)) {
                if ($v == $member) return true;
            }
            return false;
        }
    }
    
    // récupération de la hiérarchie courante
    $hierarchie = array();
    <B_articleencours>
      <BOUCLE_articleencours(ARTICLES) {id_article}{lang}>
        <BOUCLE_hierarchie(HIERARCHIE){id_article}>
          $hierarchie[] = #ID_RUBRIQUE;
        </BOUCLE_hierarchie>
        $hierarchie[] = #ID_RUBRIQUE;
        $actuelle = #ID_RUBRIQUE;
      </BOUCLE_articleencours>
    </B_articleencours>
    
      <BOUCLE_principale2(RUBRIQUES){id_rubrique}{lang}>
        <BOUCLE_hierarchie2(HIERARCHIE){id_rubrique}>
          $hierarchie[] = #ID_RUBRIQUE;
        </BOUCLE_hierarchie2>
        $hierarchie[] = #ID_RUBRIQUE;
        $actuelle = #ID_RUBRIQUE;
      </BOUCLE_principale2>
    
    <//B_articleencours>
    
    <BOUCLE_rubblog(RUBRIQUES){titre_mot=menu_deplie}{lang}>
          $hierarchie[] = #ID_RUBRIQUE;
    </BOUCLE_rubblog>
    
    // inclusion du script de gestion des layers de SPIP
    $flag_ecrire = false;
    include '#CHEMIN{beespip_inc_layer.php}';
    ?>
    <script type="text/javascript" src="#CHEMIN{beespip_layer.js}"> </script>

    [(#REM) Exclusion des rubriques et articles ayant le mot clé « exclu » ]






    <?php $idrub = #ID_RUBRIQUE; ?>
    <?php ${'nb'.$idrub} = #TOTAL_BOUCLE; ?>
    <?php
            if (in_array(#ID_RUBRIQUE, $hierarchie)) {
              echo bouton_block_visible2('rub#ID_RUBRIQUE');
            } else {
              echo bouton_block_invisible2('rub#ID_RUBRIQUE');
            }
          ?>

    <?php
          if (in_array(#ID_RUBRIQUE, $hierarchie)) {
            echo debut_block_visible2('rub#ID_RUBRIQUE');
          } else {
            echo debut_block_invisible2('rub#ID_RUBRIQUE');
          }
        ?>





    [(#CONFIGarticle_menu|==’oui’| ?’ ’,’’)

    ]




    [(#CONFIGarticle_menu|==’oui’| ?’ ’,’’)

    ]


    /B_trirubrique>
    /B_rubriquesansarticle>

    <?php
            if (in_array(#ID_RUBRIQUE, $hierarchie)) {
              echo bouton_block_visible2('rub#ID_RUBRIQUE');
            } else {
              echo bouton_block_invisible2('rub#ID_RUBRIQUE');
            }
          ?>

    <?php
            if (in_array(#ID_RUBRIQUE, $hierarchie)) {
              echo debut_block_visible2('rub#ID_RUBRIQUE');
            } else {
              echo debut_block_invisible2('rub#ID_RUBRIQUE');
            }
          ?>





    [(#CONFIGarticle_menu|==’oui’| ?’ ’,’’)

    ]



    [(#CONFIGarticle_menu|==’oui’| ?’ ’,’’)

    ]

    /B_trirubrique2>
    /B_sous_rubriquesansarticle>

    <?php
            echo fin_block2('rub#ID_RUBRIQUE');
          ?>
    <?php
          echo fin_block2('rub#ID_RUBRIQUE');
        ?>



    <?
    }
    ?>

    Répondre à ce message

  • 2

    Bonjour à tous,

    Je viens d’installer la dernière version du plugin sur SPIP 1.9.2b [9381]. Il sembe que image_reduire ne fonctionne plus.

    Le code est le suivant :

    <BOUCLE_afficher_document(DOCUMENTS){id_document}{id_article}{mode=document}{extension IN png,jpg,gif}>
        <div class="spip_documents spip_documents_left" id="document_actif">
    	[(#EMBED_DOCUMENT|image_reduire{600,0}|inserer_attribut{style,border:1px solid black})]

    Le résultat affiche maintenant l’image dans sa dimension originale.
    Une idée pour empêcher la plugin de modifier le pointage vers la bonne image ? D’avance merci !

    • Pardon, je me suis mal exprimé.

      L’image est maintenant « downloadée » dans sa version originale (volume) et re-dimensionnées en HTML (dans le navigateur). Pas génial :-(

    • nicolas

      Vérifie si dans la config de spip (?exec=config_fonctions dans /ecrire/) tu as bien activé la génération de miniatures des images. Ca peut venir de là. Je n’ai pas essayé sur la dernière version de SPIP mais j’avais eu ce souci sur la 1.8

    Répondre à ce message

  • 2

    Bonjour,

    j’ai pour le einième fois installé le plugin mise à jour, j’utilise la version 1.9.2d de spip, j’ai une zone restreinte : zone enseignant qui contient 11 rubriques et 406 visiteurs autorisés.
    Mon problème vient suite à la mise à jour de spip de 1.9.1 vers la dernière, impossible de rétablir ma zone restreinte, en utilisant le nouveau filtre acces_restreint j’obtiens le message :
    Erreur : filtre « AccesRestreint_rubrique_restreint » non défini
    y a t-il quelque chose à rajouter dans mes_fonctions.php ?

    Merci d’avance

    • En fait je me suis mal exprimée, j’ai un menu « espace enseignant » qui donne accès à des corrigés (articles et/ou documents). Ces corrigés se trouve toujours dans un répertoire nommé « espace enseignant », j’ai restreint tous ces répertoires (6 au total) et j’ai 406 visiteurs autorisés à les voir.
      Si nous ne sommes pas logués, on ne voit pas ce menu « espace enseignant », lorsque l’on est logué, on a la liste des documents et articles : voici ma boucle dans la page :

      [

      ]
      [

      (#TEXTE)

      ]

      [(#TITRE)
      ]


      [(#LOGO_DOCUMENT|left)] #TITRE [ - (#DESCRIPTIF) - #TYPE_DOCUMENT ] - [(#TAILLE|taille_en_octets)
      ]>

      Jusqu’à la mise à jour de spip 1.9.2d tout marchait bien ... et maintenant c’est comme si le plugin était totalement inactif ... si quelqu’un a déjà eu ce soucis ... merci d’avance.

    • Bon, grâce à mon ami informaticien préféré, on a trouvé gros gros conflit avec le plugin squelettes par mot clés ... une idée pour le régler ????

    Répondre à ce message

  • 1

    bonjour,
    voila, je viens d’installer le plugin accesrestreint sur spip 1.9.1 (avec sarka)
    et à l’etape 3 du I (oui je n’ai pas ete bien loin...) je suis deja bloque...
    Je n’ai plus acces à l’espace prive (page blanche) donc impossible de vider le cache...

    Si j’efface les cookies à l’aide de mon navigateur, j’ai de nouveau acces a spip public mais des que je rentre le mot de passe, l’acces prive ne mene qu’à une page blanche...

    merci de m’aider, car j’ai vraiment du mal a trouver un post qui ressemble a mon probleme (y’a a bien un mais il propose une solution avec couteau et noisette ou lame, bref, rien compris...).

    Si je ne peux pas regler ce probleme, est-il possible de revenir en arriere facilement et de supprimer ce cookies ?

    merci

    • bon en fait, j’ai reussi a trouver sur le forum, le moyen de desactiver le plugin tout simplement en renommant le dossier plugin... par ftp.

      reste a comprendre pourquoi j’ai obtenu cette page blanche...

    Répondre à ce message

  • 1

    Bonjour,

    Très pratique ce plugin qui jusqu’à maintenant nous a permis de conserver notre site en accès restreint à l’ensemble de nos proches... Je viens de remettre à jour tous les paramètres de ce site que nous avions lancé en juillet dernier.
    Auparavant, nous avions une page d’accueil simple sans aucune info et pour pouvoir accéder à la moindre rubrique il fallait se loger... Les deux onglets Espace privé et Recalculer cette page n’apparaissaient en haut à droite que pour les auteurs... une fois logés.

    Malheureusement, maintenant que j’ai tout remis à jour, la page d’accueil apparait en ligne à qui vient sur notre page, et donc les extraits d’articles et brèves sont lisibles.
    J’ai pourtant créé une zone d’accès restreinte couvrant dès la racine du site... Et les onglets Espace privé et Recalculer cette page apparaissent sur cette page d’accueil également...

    Est-ce normal ? je préférais vraiment quand seuls les conviés pouvaient s’informer ! Merci beaucoup de votre aide et du développement de ce plugin vraiment pratique pour ceux qui souhaitent limiter les visites inconnues.

    Bien à vous

    • Bonjour,
      J’ai finalement réparé le défaut :
      En supprimant le plugin accès restreint et en le remettant, tout est rentré dans l’ordre...
      Peut être avais-je une version trop antérieure par rapport au nouveau squelette...

    Répondre à ce message

  • Bonjour,

    je pense que le plugin présente une petite coquille. Lors de l’édition d’un auteur, on devrait voir apparaitre la liste des zones auxquelles il est associé et le formulaire pour l’associer à une nouvelle zone mais cela ne s’affiche pas

    J’utilise SPIP 1.9.2c, j’ai gratter un peu dans le code du plugin et visiblement si on comment la ligne $out .= recuperer_fond('fond/liste_zone_auteurs', $contexte); dans le fichier acces_restreint_gestion.php du plugin le bloc « Zones d’accès restreint » s’affiche mais il n’est pas complet puisqu’on n’a pas la partie qui est gérée par le squelette « fond/liste_zone_auteurs.html ».

    Avez-vous une idée du problème ? Suis-je le seul chez qui cela ne fonctionne pas ?

    Répondre à ce message

  • 1
    stéphane L.

    Salut,
    J’ai installé le plugin qui fait des merveilles !

    Par contre, quand je souhaite ajouter un auteur à un article, aucun auteur n’apparait...

    J’ai 5 rubriques, 3 zones pour 3 rubriques. Tout les rédacteurs ont accés à toutes les zones.

    Ais-je oublié un clic...?

    J’ai chercé dans le forum, je n’ai rien trouvé...

    Merci de votre aide !!!

    Stéphane.

    • Bonjour à tous, j’ai le même problème.
      La restriction pour les rédacteurs ne fonctionne pas. Pour info j’utilise un SPIP 1.9.2c

    Répondre à ce message

  • 1

    J’utilisais spip en local (version SPIP 1.9.2.c) et j’ai installé le plugin Acces restreint. Cela a parfaitement fonctionné, puis j’ai fait une mise à jour vers la version SPIP 1.9.2.d (toujours sur mon site en local) : le plugin fonctionne toujours.
    Aujourd’hui j’ai transféré mon site en local sur mon hebergeur Free (après beaucoup d’essais, car c’était vraiment pas clair pour moi) cela a parfaitement fonctionné, je retrouve tout, mes modifs dans les squelettes, mon graphisme....tout SAUF l’utilisation du plugin accès restreint :
    1- le plugin existe bien, et il est coché
    2- mais il n’y a plus de Zone d’accès restreint
    3- quand je veux en créer une il ne m’apparait pas les rubriques à restreindre.

    Ou est ce que j’ai fait une erreur, ou oublié un fichier ?

    • C’est bon j’ai trouvé, il suffisait de supprimer le plugin et de le remettre et tout a fonctionné.

      Danièle

    Répondre à ce message

  • Bonjour,

    J’ai regardé dans les commentaires mais je n’ai pas trouvé de réponse à mon problème...

    J’ai installé le plugin version 2.0 sur un site spip 1.9.2c. Ce plugin m’intéresse dans un premier temps pour la partie privée. J’arrive à créer sans problème une zone, la modifier, la supprimer. J’arrive également à affecter un auteur à cette zone toujours sans problème. en revanche une fois l’auteur affecté à une zone, impossible de modifier ses accès : même en étant super admin je ne vois plus apparaître le bloc zonne d’accès restreint qui devrait me permettre de supprimer ou d’ajouter une zone... J’ai désactivé tous les autres plugins installé pour voir si il y avait conflit, et cela ne change rien.... Une idée ?

    Répondre à ce message

  • 6
    Tropicaloo

    Bonjour,

    Ce plugin peut-il être la cause de ce problème ?

    Lors de l’ajout d’un document à un article (image jpg ou son mp3)
    un fichier htaccess avec un « deny from all » est immédiatement créé dans
    le répertoire où Spip a placé le document c’est à dire dans les
    sous-répertoires IMG/jpg/ ou IMG/mp3/. Par contre, cela ne se produit
    pas lors de l’ajout du logo de l’article dont l’image a été placée par
    Spip dans IMG/.

    • La dernière mise à jour provoque ça.

      Il faut aller dans :
      ecrire/?exec=acces_restreint_config

      Et (re)cocher : autoriser la lecture

    • Tropicaloo

      Mille fois merci RealET !!!

      Ca fait plusieurs jours que je cherchais comme un fou d’où cela pouvait venir.
      Je vois que tu viens également de donner la réponse sur le forum des news.

      Merci encore.
      Eric.

    • Tropicaloo

      Désolé, me revoila.

      La page ecrire/ ?exec=acces_restreint_config ne s’affiche pas (page blanche) avec la version 1.92 autonome. Suis-je obligé d’installer la version couteau+noisette ?

    • Tropicaloo

      Heu !! J’ai confondu noisette et lame... la fatigue.
      Ceci dit je n’ai effectivement pas accès à cette page de configuration ecrire/ ?exec=acces_restreint_config

      La seule page que le plugin ajoute est :
      ecrire/ ?exec=acces_restreint accessible via une icone du sous-menu configuration

      et les pages de config de zone :
      ecrire/ ?exec=acces_restreint_edit&new=oui

    • Tropicaloo

      Retour d’info :

      Pour ceux pour qui le plugin fonctionne correctement :
      Faire ce qu’a dit RealEt
      > Aller dans ecrire/ ?exec=acces_restreint_config
      > Et (re)cocher : autoriser la lecture

      Pour ceux qui comme moi ne réussissent pas à obtenir la page de config (certainement suite à un conflit avec un autre plugin) :
      Faire ce qu’a dit Arnaud
      > Aller dans la table « spip_meta » de la base de données
      > Mettre la valeur de « creer_htaccess » à « non »
      > Effacer le fichier « meta_cache.txt » dans /tmp

    • ManuDevil, concepteur multimédia

      Génial ! C’est exactement ce que je voulais. Eh oui, avant cette modification, impossible d’ouvrir les images en Thickbox. Et maintenant, c’est enfin possible, et ça marche impeccablement. Dommage que la page de configuration n’apparaisse pas, mais s’il n’y a plus que ça à régler, ça n’est pas bien grave.

      Merci pour ce plugin, donc !

      -  ManuDevil.com
      -  Qualexpert

    Répondre à ce message

  • Aurélien

    J’ai tout installé mais lorsque je pointe sur ma rubrique restreinte, j’obtiens une page blanche si je ne suis pas logué. Impossible de faire apparaître un formulaire :(

    j’ai utilisé la syntaxe suivante :

    [(#ID_RUBRIQUE|AccesRestreint_rubrique_restreinte| ?’ ’,’’) #LOGIN_PUBLIC ]

    J’ai essayé noisette, même pb ! Aurais-je loupé une étape ?

    Répondre à ce message

  • Une piste pour utiliser ce plugin pour restreindre par groupe :

    J’ai besoin de séparer le contenu du site web de mon lycée en zones restreints parents/profs/eleves. Chacun à un compte et un mot de passe (dans ldap pour profs/eleves dans une base mysql pour les autres)

    1- J’ai créé des utilisateurs génériques parents/profs/eleves et leur ai attribué leurs zônes restreintes respectives. Ces utilsateurs génériques ne sont pas censés ce loguer.

    2- J’ai ajouté une variable $groupe dans $auteur_session et l’ai fixé à la valeur de $id_auteur de profs/eleves/parents selon l’utilsateur. (Je le fais à la main pour tester et cherche une solution pour récupérer le groupe depuis ldap et l’ajouter à $auteur_session pendant le login)

    3- Enfin dans la fonction AccesRestreint_liste_rubriques_exclues de inc/acces_restreint.php
    Je remplace $auteur_session[’id_auteur’] par $auteur_session[’groupe’] ainsi que dans acces_restreint_options.php

    Ça me semble coérent.

    Il faudrait pouvoir effectuer la 3e étape sans toucher au code du plugin (surcharge de la fonction ? ... je ne sais pas faire).

    Si quelqu’un trouve cette approche intéressante et veut bien me donner un coup de main je suis preneur.

    Répondre à ce message

  • Bonjour tout le monde,

    Bon, alors ce plug-in est un pur bijoux, que j’ai installer, sur un site, et qui remplit de joie mon client.

    c’est pas tout, car , mainteant, je voudrait faire des stat par rapport au personne connecter, via ce plug-in. et je passe beaucoup de temps du spip-contrib, mais pour l’instant je trouve rien. mais comme cela mes deja arriver, je prefee me le faire confirmée

    ça ne me derange pas de developper ceci, mais je deteste reinventer ce qui existe deja.

    si vous avez trouver, un add_on je suis peneur, sinon, je viendrai mettre cet addon moi meme.

    merci a tout pour vos infos

    Répondre à ce message

  • 1

    Salut,

    Merci pour ce plugin qui est vraiment bien fait et bien documenté.

    Malgré tout, j’ai un souci : je ne parviens pas à lister les articles restreints. J’ai bien essayé d’ajouter tout_voir dans les paramètres des boucles, mais ça ne change rien.

    J’aimerais que le « filtrage » des articles se fasse seulement à la lecture... C’est à dire que tous les articles et toutes les rubriques soient listés normalement, qu’ils soient dans une rubrique restreinte ou non, dans les pages intermédiaires.

    Merci pour votre aide. Je suis sur Spip 1.9.2 avec la dernière version du squelette @-Brest ( http://www.pierrefrance.com/spip )

    Répondre à ce message

  • Merci pour cette suuuuuuuuuuper contrib !!

    J’ai une question sur comment ajouter une zone à un auteur :
    Quand un auteur est déjà inscrit dans une zones d’accès restreint et je veux en ajouter une seulement « Ajouter toutes les zones » m’est proposé comme solution. Est-ce que cela n’est pas possible d’en ajouter juste une zone ? Cela façilitera la tâche pour les gens qui doivent administrer le site et ses auteurs par la suite..

    d’avance merci
    Joz

    Répondre à ce message

  • Hello
    On a un petit bug dans multi-saisons quant à la redirection des articles vers une page qui demande la connexion :

    Pour un article sécurisé, au lieu de nous retourner vers une page de login, on est redirigé vers notre page 404. Si ce bug existe sur l’article il n’en est rien sur la rubrique qui elle nous retourne bien vers la page d’authentification. Pourtant le code est presque identique :

    Voici le code bugué en bas de page de l’article et le code qui fonctionne sur la rubrique.

    Un lien vers la rubrique sécurisée nous retourne bien une demande de connexion,
    mais un lien vers l’article sécurisé nous retourne une 404.

    Si quelqu’un voit de quoi il peut en retourner... je sèche.

    Répondre à ce message

  • 7

    Bonjour,
    J’ai installé ce plugin sous SPIP 1.9.2a [8878] Squelette BeeSpip v.1.9.1 [282] je voudrai que les profs (c’est un site d’établissement hébergé sur un serveur académique) n’accédent dans la partie privée qu’aux rubriques et sous rubriqes « disciplines » seulement ça marche pas. Des restrictions pour la partie publique fonctionne mais pas les restrictions dans la partie privée. En fait les admin. restreint ont accès à toutes les rubriques du site (pas normal).
    Que faire
    Merci
    http://www.ac-grenoble.fr/lycee/corot.morestel/

    • un peu vague le descriptif...

      Des restrictions pour la partie publique fonctionne mais pas les restrictions dans la partie privée

      sur les mêmes rubriques et pour les mêmes auteurs ? rédacteurs ? administrateurs restreints (au sens spip) ?

      peut-être un problème de structure des zones privées (voir mon post du 6 décembre 2007 02:47 - n° 400904), ou d’affectation des auteurs aux zones privées,... bref plein de possibilités.

      il faudrait être un peu plus disert (pour le coup).

    • Rectification et compléments

      Le plugin ne fonctionne pas (pour la partie publique et privée) : j’explique : je voudrais que les profs puissent accéder dans la partie privé qu’à la rubrique « disciplines » .Avant la mise en place du plugin ils étaient administrateurs (au sens de spip) du site. Je lance le plugin ; je crée une « zone profs » je coche « Restreindre l’accès à cette zone dans l’espace privé » ; je coche « disciplines » ; je valide. Je vais dans « auteur » et pour chaque prof je les affecte à la « zone profs ». Je vide la cache. Je me logue sous le login d’un prof concerné et là.....rien. J’ai accés à toutes les rubriques ; je peux écrire les articles où je veux ; je peux tous mettre à la poubelle etc...

      Pourquoi cela ne marche pas (un conflit avec un autre plugin ? ; restriction particulier du serveur académique ?)

      Merci

    • ah ben non ! ça marche pas comme ça : les rubriques publiques restent publiques (dans le site public comme dans l’espace privé).

      -  si tu veux que tes profs n’aient accès, dans l’espace privé de spip, qu’à leur rubrique de discipline, il te faut créer une zone privée par discipline et affecter à chacune de ces zones l’auteur/professeur concerné :

        
      ! rubrique         ! zone      ! auteur   !
      -------------------+-----------+----------+
      ! 01. disciplines  !           !          !
      !   0101. lv1      ! profs_lv1 ! castor   !
      !   0102. lv2      ! profs_lv2 ! pollux   !
      !   0103. maths    ! profs_mat ! cassiope !
      !   0104. hist_geo ! profs_h_g ! vega     !
        

      la rubrique disciplines est publique (non restreinte) ; elle peut ne pas exister et ses sous-rubriques être remontées d’un niveau.

      -  si tu veux, en plus, que tes profs ne puissent publier que dans leur discipline (et pas dans d’autres rubriques publiques du site -ils ne devraient normalement pas pouvoir accèder aux autres rubriques restreintes), il te faut les définir comme administrateur restreint à leur rubrique au sens spip, (comme ils l’étaient avant si j’ai bien compris).

    • Merci pour les réponses rapides et précises mais j’ai un autre problème qui apparait
      (pas lié au plugin) mais j’ose abuser car tu m’en parle : quand je crée un administrateur restreint au sens de spip j’ai l’erreur « HTTP 302 Si votre navigateur n’est pas redirigé, cliquez ici pour continuer ». qui apparait (dans la partie privé) et l’administrateur restreint n’a pas accès à sa rubrique.
      Que faire ?

      Merci encore

    • aaaarrrrrrghh la redirection http:302 !!!

      enfer, damned et gaspaciòn

      ça ne relève plus du plugin ça.

      bon.

      comme les retours d’en-tête du serveur www.ac-grenoble.fr indiquent qu’il tourne sous apache (c’est déjà ça), peut-être (je dis bien peut-être) tu peux essayer la manip de jacques73 (voir trac-spip) ; à savoir dans ecrire/inc/headers.php, commenter les lignes comme suit :

      -  avant :

        ...
        if ($x = _request('transformer_xml'))
          $url = parametre_url($url, 'transformer_xml', $x, '&');
        // Il n'y a que sous Apache que setcookie puis redirection fonctionne
        
        if (!$equiv OR ereg("^Apache", $GLOBALS['SERVER_SOFTWARE'])) {
          @header("Location: " . $url);
        } else {
          @header("Refresh: 0; url=" . $url);
          $equiv = "<meta http-equiv='Refresh' content='0; url=$url'>";
        }
        include_spip('inc/lang');
        ...
        


      -  après :

        ...
        if ($x = _request('transformer_xml'))
          $url = parametre_url($url, 'transformer_xml', $x, '&');
        // Il n'y a que sous Apache que setcookie puis redirection fonctionne
        
      //-----  modifications car redirection http 302 malvenue
      //  if (!$equiv OR ereg("^Apache", $GLOBALS['SERVER_SOFTWARE'])) {
          @header("Location: " . $url);
      //  } else {
      //    @header("Refresh: 0; url=" . $url);
      //    $equiv = "<meta http-equiv='Refresh' content='0; url=$url'>";
      //  }
      //-----  fin modifications
        include_spip('inc/lang');
        ...
        

      reviens nous dire si ça s’arrange...

    • Et bien.... NON. Ca ne fonctionne pas mais j’ai quand même reussi à créer mes administrateurs restreints (au sens de spip). Le truc c’est dans le dossier /tmp/upload qui était en chmod 777 je l’ai supprimé puis recréé (en 777) et cela fonctionne (plus de redirection http 302) Logique non ?

      Merci encore pour toutes les indications et pour la disponibilité

    • Bonjour,

      Heu, je lis vite les choses et ce texte n’a peut-ètre rien à faire ici.
      Le répertoire /tmp sous linux/deb est un peu compliqué, il est t à la fin, le sticky bit :
      /$ ls -ld /tmp
      drwxrwxrwt blah blah blah blah ..... tmp

      À creuser, n’es-ce pas ?
      Peut-ètre parle-t-on de /usr/share/spip/tmp, alors je ne sais pas mais à vérifier tout de même.

      Cordialement.
      Sriliam.

    Répondre à ce message

  • Bonjour,

    Je cherche un plugin limitant l’accès aux rubriques d’un site, j’ai testé le plugin « Accès Restreint »
    Il est bien notamment pour la partie publique d’un site.
    Mais pour la partie privée, je souhaite autoriser les auteurs à accéder aux rubriques qui leurs sont destinées :

    -  Pour faire cela avec le plugin actuel
    je dois tout interdire (en créant une zone restreinte par rubrique) puis donner accès aux rubriques autorisées.
    Mais ça ne permet pas une gestion fine des rubriques car avec l’héritage je ne peux pas donner accès à une sous rubrique unique.

    -  Ou alors il faut que je fasse une zone d’accès restreint par rubrique enfant, ce qui devient vite ingérable....

    -  En gros je souhaite autoriser plutôt que restreindre, ce qui signifie que par défaut les auteurs n’ont accès à aucune rubrique, en créant les zones je leur donne accès à ces rubriques.

    Peut-être que j’utilise mal le plugin, y a t’il des astuces pour arriver à cela ?
    ou est-il possible de modifier qq portions du code pour arriver au résultat escompté ?

    Merci d’avance de vos réponses

    Répondre à ce message

  • 1

    Ca fait un moment que j’utilise le plugin accès restreint. Dernièrement, à l’occasion d’une mise à jour, je suis passé aux dernières versions :

    SPIP 1.9.2c [10268]

    Accès restreint
    Version : 0.2 | stable
    Répertoire : acces_restreint_2_0

    (fichier téléchargé ici-même, lien plus haut dans la page).

    Bon. Install du plugin, vidage du cache. Et là, tout bascule...

    * Dans l’espace public, les rubriques qui devraient être restreintes (qui l’étaient avant) ne le sont plus. Je peux y accéder, même si je ne suis pas logué.

    * Dans l’espace privé, configuration>Acces_Restreint(*), je ne peux pas cocher la case « Restreindre l’accès à cette zone dans la partie publique » (qui n’existait pas dans la version que j’utilisait avant, une 1.9 je crois, c’est peut-être un indice). Plus précisément : je peux cocher la case, mais quand je clique sur « enregistrer », la page est rechargée et s’affiche avec ... les deux cases décochées (ce qui correspond à ce qui se passe en espace public, c’est très logique tout ça). Bref, il n’arrive pas à « restreindre » l’accès...

    ( * à http://monsite.free.fr/ecrire/?exec=acces_restreint_edit&id_zone=1)

    Je soupçonne un problème de structures de tables ? Que faire ? Virer les tables acces_restreint et recommencer ?

    • PS- La solution donnée plus loin dans le forum (remplacer les « JOIN » par des « INNER JOIN » dans inc/acces_restreint.php) ne semble rien changer à ma situation...

    Répondre à ce message

  • 1

    Bonjour,

    Existe-t-il une possibilité pour restreindre l’accès d’une rubrique aux rédacteurs, sans avoir à affecter la zone à chacun d’entre eux via leur fiche auteur ?

    • je présume :
      -  que ta rubrique est déjà définie comme faisant partie d’une zone restreinte ;
      -  que tu connais l’ID de cette zone restreinte à laquelle tu veux affecter TOUS tes rédacteurs.

      dans la boucle ci-dessous je fais l’hypothèse que la zone est d’ID 5

      <BOUCLE_maj_zr(AUTEURS) {statut=1comite}>
      <?php
      spip_query("INSERT IGNORE INTO spip_zones_auteurs (id_zone,id_auteur) VALUES (5,#ID_AUTEUR)");
      ?>
      </BOUCLE_maj_zr>

      testé pas plus tard que là maintenant

    Répondre à ce message

  • 6
    débutant2048

    Bonjour,

    Je souhaite utiliser ce plugin pour restreindre certaines rubriques de mon site.
    L’authentification se ferait à partir d’un lien dans une page (du type "Cliquer ici pour accéder à la rubrique restreinte XXX)

    Donc, je créé une page login-public.html (qui est une copie de la page login).
    Ensuite, je rajoute le code ci-dessous :

    [(#LOGIN_PUBLIC|spip.php ?rubriqueXXX)]

    et la page en question fonctionne et me redirige vers ma rubriqueXXX

    Comme j’aurai plusieurs accès restreints, il me parait raisonnable de passer un paramètre dans cette page login-public plutot que de créer autant de page login_public qu’il y a d’accès restreint avec à chaque fois pour seule différence le numéro de ma rubrique.

    je change donc
    [(#LOGIN_PUBLIC|spip.php ?rubriqueXXX)]

    en

    [(#LOGIN_PUBLIC|spip.php ?#ENVpageprotegee)]

    et du coté de la page d’appel je passe ma variable d’environnement dans mon url ainsi :

    Accéder à la rubrique protégée par mot de passe.

    je rajoute une ligne (variable passée = #ENVpageprotegee) pour vérifier que ma variable passe bien et j’obtiens effectivemment

    variable = rubriqueXXX

    mais par contre, mon formulaire me renvoie - après authentification - désormais non plus dans ma rubrique mais sur la page d’accueil !

    Quelqu’un a-t-il une idée de mon erreur ?

    Merci beaucoup

    • que dit le code source de la première page (saisie identifiant) affichée par http://ton_site.com/spip.php?page=login_public et surtout pour ce qui nous intéresse les lignes :

      <form id="login" class="c_form" action="...

      et

      <input type="hidden" name="url" value="...

      de même, que dit le code source de la deuxième page affichée (saisie mot de passe) pour :

      <input type="hidden" name="url" value="...
    • Je ne comprends pas vraiment ce que tu demandes. En fait, j’utilise les pages de modèles. C’est-à-dire une copie de la page de login. Qui contient donc les infos suivantes :

      <div class="formulaire_spip formulaire_login">
      			[(#LOGIN_PUBLIC|spip.php?page=sommaire)]		
      
      			<p style="text-align: center;">
      			[&#91;<a href="#URL_PAGE{spip_inscription,focus=nom_inscription}&mode=(#URL_SITE_SPIP|tester_config{mode_inscription})" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=400'); return false;"><:login_sinscrire:></a>&#93;]
      			&#91;<a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;"><:login_motpasseoublie:></a>&#93;
      			&#91;<a href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
      			</p>

      sans que les champs formulaire du type input etc n’apparaissent

      et la seule chose que je souhaite faire, c’est de ne pas diriger forcément vers sommaire une fois que l’on s’est identifié, mais plutôt de diriger dynamiquement vers une page que l’on passerait via un paramètre d’environnement.
      comme je débute, je dois faire une erreur. Je parviens effectivement à passer un paramètre à la page, du style variable passée = #ENV{pageprotegee}. Dans ce cas, il me renvoie bien une info du type rubrique258. Quand j’inscris en dure [(#LOGIN_PUBLIC|spip.php?page=rubrique258)] cela fonctionne. Mais quand je l’inscris sous la forme [(#LOGIN_PUBLIC|spip.php?page=#ENV{pageprotegee})], cela ne marche pas ... Quelque chose m’échappe ...

      L’idéal serait de passer le paramètre de la page d’où l’on vient pour y renvoyer une fois que l’on s’est logué.

    • ce que je te demande c’est de regarder le source html des pages affichées :

      -  au premier affichage (demande login)
      -  au second affichage (demande mot de passe)

      dans le source html de ces pages affichées sur ton navigateur, il ya les champs <form action="... et <input ...

      que contiennent ces champs ?

      quelle valeur de ta variable d’environnement reprennent-ils ?

    • bon.

      grâce à Yoann NOGUES, astuce donnée le 17 oct 2007 à 16:53 sur la listinfo, ceci devrait fonctionner :

      -  dans la page qui appelle le formulaire de login, par exemple celle qui contient un lien du type :

      <a href="[(#URL_PAGE{login_public})]">Se connecter</a>

      il faut rajouter

      &url=#SELF

      au href pour avoir :

      <a href="[(#URL_PAGE{login_public})]&url=#SELF" >Se connecter</a>

      -  dans la page login_public.html, par contre ne rien mettre comme paramètre d’appel de la balise :

      [<div>
      <p>
      <:ecrire:entree_identifiants_connexion:><br />
      </p>
      (#LOGIN_PUBLIC)
      </div>]
        
        

      à la fin de la procédure de login (identifiant puis mot de passe) on est renvoyé loggué sur la page où l’on était lors de l’appel.

    • Merci beaucoup pour tes éclaircissements !

      Je suis allé sur la liste et me suis abonné pour l’occasion et j’ai lu la contribution sur LOGIN_PUBLIC

      J’ai rajouté dans mon url d’appel le paramètre &url=#SELF et ça marche. Enfin, pas complètement. Le problème s’est déplacé au niveau du cache.

      Mais il est vite résolu si je passe mon lien « s’identifier » ou « se déconnecter » dans un include avec un cache à zéro #CACHE0. Une dernière question : cela a-t-il un impact sur les performances ?

    • bof non : ton inclure ne contient pas de boucle, ne demande pas un gros travail de calcul d’affichage...

      peanuts.

      attention toutefois avec cette méthode : si le pass est mauvais (erreur de frappe), il me semble (faudrait tester) qu’on perd la référence url=...

    Répondre à ce message

  • 4

    Bonjour et merci pour ce plugin !

    J’ai un fichier dans un article dans une rubrique d’accès restreint.

    Lorsqu’on clique sur le lien en étant connecté, c’est bien normal, on télécharge le fichier.

    Mais lorsqu’on copie l’adresse du lien et que quelqu’un l’entre dans son navigateur, c’est moins normal, on télécharge encore le fichier.

    Lorsque c’est sur un navigateur qui n’a pas mis en cache le fichier, l’adresse se transforme en un /img/PDF/le fichier.

    Je bloque par .htaccess (et si tu as une idée du comment, je suis preneur) ou il y a un moyen d’empêcher ça avec ton plugin ?

    Merci beaucoup,

    Ed

    • Même probleme pour moi, le plugin gère comment les fichiers joint ?
      Un peu d’info m’interesserais beaucoup :)

      merci

    • Alors selon la liste spip rezo la dernierer version du plugin permettrais la gestion des documents en accès restreint, ja vais testé ca !

    • Bonjour,

      Est-ce que tes tests sont concluants ?

      je ne vois pas trop, à part l’utilisation de répertoires sur le serveur qui seraient liés aux autorisations des accès restreints, comment restreindre l’accès aux documents.
      merci
      dd

    • saintvinasse2

      En .htaccess, j’ai minimalement réussi à empêcher l’access depuis un site distant... mais le problème reste le même...

      Il faudrait jouer avec le hash, dans l’URL, et une adresse dynamique gérée par SPIP. ou quelque chose comme ça...

      Sinon, je vais faire des essaies sur la nouvelle version, bientôt.

    Répondre à ce message

  • François Daniel Giezendanner

    Le plugin "concurrent" « Accès Restreints par groupes » est génial mais nous avons malheureusement constaté que dans certaines circonstances il se révèle trop lent !

    Dans un premier temps nous avions privilégié le plugin « Accès Restreints par groupes » par rapport au plugin « Accès Restreints ». Malheureusement, dans un site où nous avons défini de nombreux rédacteurs, administrateurs et visiteurs ainsi que de nombreux espaces restreints, le site est devenu extrêmement lent, au point de devenir inutilisable. Après moult essais, nous avons identifié que le plugin « Accès Restreints par groupes » était la cause de cette lenteur.

    Nous avons alors été obligé de l’abandonner et d’adopter le plugin « Accès Restreints » avec lequel nous n’observons pas de ralentissement du site.

    C’est fort dommage car le plugin « Accès Restreints par groupes » nous plaisait beaucoup. Heureusement nous avons la chance de pouvoir disposer de l’excellent plugin « Accès Restreints » qui répond lui aussi à nos besoins, avec quelques aménagements, en l’occurence en définissant des utilisateurs génériques.

    Meilleurs messages

    FDG

    Répondre à ce message

  • 1

    Bonjour,

    Je debute la mise en place de cet outil, qui sera bien pratique pour le site collaboratif de notre association....

    Mais je constate déjà un « petit » souci dans l’affichage des images-icones....
    Celles-ci ne sont pas trouvées car un chemin donne //img_pack

    Après une petite analyse, il semble que la définition de la varaible globale _DIR_PLUGIN_ACCESRESTREINT et son usage en programmation ne respectent pas le meme principe :
            echo "<br>##"._DIR_PLUGIN_ACCESRESTREINT."## <br>";
    indique : plugins/acces_restreint_1_9/

    et donc l’utilisation dans les sources sous la forme :

    	echo "<br>## "._DIR_PLUGIN_ACCESRESTREINT."/img_pack

    buggue....sans gravité je vous rassure !

    Quel est le principe a retenir SVP ?
    Merci d’avance

    Répondre à ce message

  • Un début de synthèse sur le chantier de l’évolution de Accès Restreint a été proposé ici : http://www.spip-contrib.net/Chantie....

    N’hésitez pas à compléter ce document.

    Répondre à ce message

  • Ne fonctionne pas avec le squelette SpipClear.
    Après activation du plugin : page blanche coté privé comme public.

    Répondre à ce message

  • 16

    Profitant du passage sur un autre serveur, je viens d’installer la version 1.9.2c de Spip
    Tout c’est bien passé et mon site refonctionne parfaitement sous sa nouvelle identité.
    J’ai pu facilement récupérer la base de données, ...

    Malheureusement, en réinstallant le plugin accès restreint, lorsque je veux créer les zones à protéger, j’obtiens systématiquement le message :
    Vous n’avez pas accès à cette page.

    Que faire ?

    Car je m’étais vraiment bien habitué à la facilité apportée par ce plugin et là je ne saurais plus m’en passer !!!!

    • quand tu as réimporté ta base, je parie que les id ont changé (comme ils sont basés sur un auto_increment, ils repartent de zéro). manifestement, les correspondances id_auteur/id_zone ne sont donc plus valables.

      le plus simple, sous phpMyAdmin, vide les 2 tables d’accès restreint :
      -  spip_zones_auteurs à cause de cette histoire de correspondance ;
      -  spip_zones_rubriques) parce qu’il y a de grandes chances (?) que les id de rubriques aient aussi été changés et que donc tes zones ne regroupent plus les mêmes rubriques.

    • J’ai essayé, après vérification des id qui étaient restées les mêmes, rien à faire.
      J’ai supprimé le plugin, puis réinstallé en partant de zéro, et je ne parviens toujours pas à créer fut-ce une première zone protégée. Au moment où je clique sur « enregistrer » il m’affiche ce même msg.?!?!?!

      Seule différence peut-être, l’ancien site, donc celui transféré sur le nouveau serveur, avait été créé sous un autre login, que je n’utilise plus. Mais pour Spip cela ne semble poser aucun problème, les 2 logins étant « admistrateur » plein pouvoirs.

      Donc le prob vient logiquement d’ailleurs.

      Une autre petite suggestion ?

      A+

       

    • ah !

      tu es sous quelle version de spip et sous quelle version du plugin (numéro svn) ? est-ce le même couple de versions (spip/plugin) que sur l’ancien site ?

      apparement c’est la fonction autoriser() qui ne te reconnait pas les droits nécessaires... mais si tu as accès aux boutons de configuration, c’est qu’elle te les accorde...

      tu es bien dans la page (barre d’adresse)
      http://ton-site.com/ecrire/?exec=acces_restreint_edit&new=oui en tant, donc, qu’administrateur total du site ?

    • J’ai rencontré le même problème il y a quelques jours.

      Je ne sais pas si j’ai bien fait, mais j’ai mis des autorisations en 777 sur les propriétés des fichiers par FTP. Du coup ça fonctionne. Coup de chance ? Je ne sais pas...

      Qu’en pensez vous ?

    • Pour le nouveau site, c’est Spip 1.9.2.c et pour le plugin il me donne
      Version : 0.2 | stable
      Répertoire : acces_restreint_1_9

      Pour l’ancien, c’était Spip 1.9.2.a et c’est le même plugin
      Version : 0.2 | stable
      Répertoire : acces_restreint_1_9

      et c’est bien la page /ecrire/ ?exec=acces_restreint_edit&new=oui pour laquelle je suis administrateur total

      Pour plus de certitudes, dans l’enregistrement du compte administrateur, j’ai tenté de modifier en cochant la case du bas « Ajouter toutes les zones », mais rien n’y fait.

      C’est plus fort que du Roquefort ....

    • houla... j’ai du mal à te suivre...

      -  quand tu cliques sur le petit cadenas (le bouton à droite du bouton des plugins) dans le menu configuration, ça t’envoi sur la page ecrire/?exec=acces_restreint

      sur cette page as-tu un tableau listant toutes les Zones d’accès restreint ? ou bien n’arrive-tu même pas à afficher cette page ?

      -  quand tu cliques sur le bouton de menu auteur pour accèder à la page ecrire/?exec=auteurs puis que tu cliques sur ton nom pour accèder, donc à ecrire/?exec=auteur_infos&id_auteur=xx as-tu la liste des zones restreintes qui te sont (seraient) accessibles ?

      -  quand tu dis

      dans l’enregistrement du compte administrateur, j’ai tenté de modifier en cochant la case du bas « Ajouter toutes les zones »

      ça veut dire que tu as installé le plugin en tant qu’administrateur X et que tu y accèdes en tant qu’administrateur Y ?

    • Ok, on va essayer d’y voir plus clair...

      -  Tout d’abord, saches que puisque cela ne fonctionnait plus sur le nouveau site, j’ai retiré le répertoire des plugins (je n’employais plus les autres -style thickbox) et j’ai purement et simplement remis un nouveau répertoire plugin, dans lequel j’ai rechargé acces_restreint uniquement.

      -  Je l’ai donc bien retrouvé dans le le menu configuration où je l’ai consciensieusement coché, et le cadema est apparu correctement.

      -  Donc en cliquant sur ce dernier j’arrive sur la page « Zones d’acces restreint », mais vide de tout bien sûr (rien dans le cadre « toutes les zones »). De même, dans menu auteur il n’y a aucune zone restreinte.

      -  En cliquant sur « créer une nouvelle zone » j’ai la page en question qui s’ouvre. Mais c’est là que se pose le problème, quoi que je fasse il me refuse la création d’une zone, avec en retour le fameux msg en question.

      -  Il y a 3 administrateurs, sans restriction, pour le site. Mais actuellement je suis le seul à y travailler. (J’ai eu beau essayer avec les autres logins, ca ne marche pas mieux).

      [Une petite remarque qui peut donner du grain à moudre :
      -  le cookie de spip qui permet d’afficher en haut de l’écran les deux cases « espace privé » et « recalculer cette page » ont également un disfonctionnement. A savoir, « espace privé » n’est plus réactif et il me faut passer par le menu du bas de page où la « espace privé » fonctionne parfaitement. Je n’ai pas compris non plus la raison.]

      Veux tu que je t’envoie sur ton mail un login et un accès à l’espace privé du site ( et pourquoi pas un accès ftp au serveur - je suis hébergé sur free pour le moment mais précisement ceci était une répétition général de transfert du site avant de le mettre sur ma dedibox, une fois qu’il sera terminé, ce qui sera certainement un peu plus chaud) pour vérifier directement par toi-même, moi cela ne me dérange pas et une fois le problème résolu je le retire. En attendant je t’envoie l’adresse du site par mail puisque la protection ne fonctionne pas encore.

      A++

    • j’ai beau triturer mon spip et mon plugin dans tous les sens, je n’arrive pas à reproduire ce que j’ai vu sur ton site (mais je ne suis pas hébergé chez free).

      il n’y a que 2 appels pour l’affichage de ce message : directement lors du chargement de ecrire/?exec=acces_restreint ; là, manifestement, ça passe, et lors du traitement du formulaire de ecrire/?exec=acces_restreint_edit&new=oui ; c’est ici que ça coince apparement...

      on va mettre les mains dans la graisse :
      -  commence par vider tes trois tables spip_zones... sous phpmyadmin (comme tu désepères de les remplir, elles ne doivent pas contenir grand chose...) ;
      -  dans le script exec/acces_restreint_edit.php ajoute la ligne
      var_dump(autoriser('modifier','zone'));var_dump($row);var_dump($new); juste au-dessus de if (!autoriser('modifier','zone') OR (!$row && $new!='oui')) { pour avoir :

      var_dump(autoriser('modifier','zone'));var_dump($row);var_dump($new);
      if (!autoriser('modifier','zone') OR (!$row && $new!='oui')) {
        echo _T('avis_non_acces_page');
        fin_page();
        exit;
      }


      -  dans le script exec/acces_restreint.php ajoute la ligne
      var_dump(autoriser('modifier','zone')); juste au-dessous de debut_droite(); pour avoir :

      debut_droite();
      var_dump(autoriser('modifier','zone'));
      if (!autoriser('modifier','zone')) {
        echo _T('avis_non_acces_page');
        fin_page();
        exit;
      }


      -  télécharge ces deux fichiers modifiés en remplacement des deux qui sont sur ton site (attention : dans le répertoire exec/)

      -  maintenant tu vas dans la page ecrire/?exec=acces_restreint

      tu devrais avoir :

        bool(true)

      juste au-dessus du cadre du milieu « Toutes les zones d’accès ».
      -  clique à gauche sur « Créer une nouvelle zone » pour arriver à ecrire/?exec=acces_restreint_edit&new=oui

      tu devrais avoir :

        bool(true)
        bool(false)
        string(3) 'oui'

      juste au-dessus du cadre du milieu « Zones d’accès restreint ».
      -  clique sur le bouton « enregistrer » pour arriver à ecrire/?exec=acces_restreint_edit&new=zone_cree

      tu devrais avoir :

        bool(true)
        array(6) { ['id_zone']    =>  string(1)  '1'
                   ['titre']      =>  string(5)  'Titre'
                   ['descriptif'] =>  string(10) 'Descriptif'
                   ['publique']   =>  string(3)  'oui'
                   ['privee']     =>  string(3)  'non'
                   ["maj"]        =>  string(14) '20071211014517'
                 }
        string(9) 'zone_cree'

      juste au-dessus du cadre du milieu « Zones d’accès restreint ».

      mais manifestement l’une de ses trois étapes ne se passera pas comme prévu...

    • J’ai une différence à l’avant dernier paragraphe

      bool(true) NULL string(3) « oui »

      et bien sûr au dernier

      bool(true) NULL string(9) « zone_cree » Vous n’avez pas accès à cette page.

      Comme tu le prédisais, reste un kwak.

      Pour info, et je crois que c’est important :
      -  Dans la base, je n’ai aucune table spip_zone !

      Je te rappeles (si jamais ca pouvais t’éclairer quelque part...) que c’est la version Spip 1.9.2c, or il parait que par rapport à la version précédente ce genre de problème a déjà été rencontré par d’autres, dans d’autres plugins, lors de l’upgrading.

      Ne devrais pas essayer de copier les trois table spip_zone manuellement depuis l’ancien site, ce que spip risque de ne pas aimer...

      Car c’est peut-être un problème qui se situe au niveau de la nouvelle version de spip, et si c’est le cas, il va me jeter si j’essaye de toucher à la bdd

      a++

    • Dans la base, je n’ai aucune table spip_zone !

      arghhhh !!! c’est maintenant que tu le dis (mais bon, on t’avait rien demandé...).

      bon. pas problème, tout bien aller, réparé bientôt.

      allez zou : sous phpmyadmin tu lances la requête :

      CREATE TABLE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lczwvY29kZT4="></span> (
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> bigint(21) NOT NULL auto_increment,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+dGl0cmU8L2NvZGU+"></span> varchar(255) NOT NULL default '',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZGVzY3JpcHRpZjwvY29kZT4="></span> text NOT NULL,
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+cHVibGlxdWU8L2NvZGU+"></span> enum('non','oui') NOT NULL default 'oui',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+cHJpdmVlPC9jb2RlPg=="></span> enum('non','oui') NOT NULL default 'non',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+bWFqPC9jb2RlPg=="></span> timestamp(14) NOT NULL,
        PRIMARY KEY  (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>)
      ) TYPE=MyISAM;

      pas de soucis à attendre de la réaction de spip.

      après ça, recommence la phase de test avec les var_dump et reviens nous dire ce qu’il en est (mais bon, je pense que ça devrait le faire).

    • En un mot :

      Deuxpeccable

      Merci beaucoup, ca marche nickel.

      Il ne me reste plus qu’à enlever le var_dump(autoriser(’modifier’,’zone’)) ;var_dump($row) ;var_dump($new) ; et je serai un homme heureux

      Sympa de ta part du soin que t’as mis à m’aider.

      Bonne continuation

    • J’ai crié victoire trop vite !

      En effet il a bien créé la table Spip_zones, mais lorsque je veux sélectionner les rubriques à couvrir par une zone, il ne l’enregistre pas, et donc cette zone n’est pas reprise dans mon compte administrateur et il n’est pas possible de l’attribuer aux autres visiteurs ou auteurs !

      Mais je peux te dire de suite ce qui ne va pas !

      Je n’ai qu’une table spip_zones : spip_zones_auteurs et spip_zones_rubriques n’existant pas, cela ne peut pas marcher..., si je comprends bien

      Peux tu me passer le script des deux requêtes, mes connaissances personnelles sur le sujet étant vraiment trop vieilles (il y a plus de 6 ans que je n’avais plus touché à cela)

      Merci d’avance

    •   
      CREATE TABLE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lc19hdXRldXJzPC9jb2RlPg=="></span> (
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> bigint(21) NOT NULL default '0',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfYXV0ZXVyPC9jb2RlPg=="></span> bigint(21) NOT NULL default '0',
        PRIMARY KEY  (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>,<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfYXV0ZXVyPC9jb2RlPg=="></span>),
        KEY <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfYXV0ZXVyPC9jb2RlPg=="></span> (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfYXV0ZXVyPC9jb2RlPg=="></span>)
      ) TYPE=MyISAM;
        
        
      CREATE TABLE <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c3BpcF96b25lc19ydWJyaXF1ZXM8L2NvZGU+"></span> (
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span> bigint(21) NOT NULL default '0',
        <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfcnVicmlxdWU8L2NvZGU+"></span> bigint(21) NOT NULL default '0',
        PRIMARY KEY  (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfem9uZTwvY29kZT4="></span>,<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfcnVicmlxdWU8L2NvZGU+"></span>),
        KEY <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfcnVicmlxdWU8L2NvZGU+"></span> (<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+aWRfcnVicmlxdWU8L2NvZGU+"></span>)
      ) TYPE=MyISAM;
        

      et oualou. (s’kon rigole sur ce foroum...)

    • J’étais sur le point de dire cette fois ca y est troispeccable, les trois tables fonctionnent.

      Malheureusement ce ne sera que deuxpeccable et demi car, une fois que j’ai créé mes zones, lorsque dans la fiche des visiteurs/ auteurs je veux ouvrir le volet des zones attribuées, il ne me donnent que l’option ajouter toutes les zones.

      Si après je ne veux attribuer que certaines zones, le déroulant ne s’affiche plus et je ne peux donc choisir...

      C’est pas vraiment grave, car en attribuant toutes les zones je peux toujours en supprimer certaines ensuite, mais c’est un peu lourd ?!?

      Y a-t-il une solution simple pour remédier à ce problème d’affichage ???

    • bah une solution pas trop compliquée :

      aux alentours de la ligne 298 de inc/acces_restreint_gestion.php, faire en sorte que la création du tableau des zones soit possible en transformant

      $les_zones[] = $id_zone;

      en

      $les_zones[] = $row['id_zone'];
        

      -  avant la modif (ça marche pô) :

        
        if($flag_editable && ($connect_toutes_rubriques || (AccesRestreint_test_appartenance_zone_auteur($id_zone, $connect_id_auteur) && autoriser('modifier', 'auteur', $id_auteur ) && $id_connect_auteur!=$id_auteur))){
          $editable = true;
        }
        $les_zones[] = $id_zone;
      }
      include_spip('public/assembler');
        
        

      -  après la modif (ha que ça roule) :

        
        if($flag_editable && ($connect_toutes_rubriques || (AccesRestreint_test_appartenance_zone_auteur($id_zone, $connect_id_auteur) && autoriser('modifier', 'auteur', $id_auteur ) && $id_connect_auteur!=$id_auteur))){
          $editable = true;
        }
        $les_zones[] = $row['id_zone'];
      }
      include_spip('public/assembler');
        

      ... puis comme ça, ça miaulera moins dans les logs de tmp/mysql.log .

    • Cette fois je peux le dire en un mot, de 5 lettres

      Merci

      La dessus je vais pouvoir bosser super !

    Répondre à ce message

  • 3

    -  dans ecrire/inc/plugin.php spip définit la constante define('_DIR_PLUGIN_$prefix',_DIR_PLUGINS.'$plug/'), ce qui donne un truc du genre : ../plugins/acces_restreint_1_9/. noter l’antislash final.

    -  dans acces_restreint_pipelines.php le plugin définit (au cas où elle ne le soit déjà - spip < 1.9.2) la constante define('_DIR_PLUGIN_ACCESRESTREINT',(_DIR_PLUGINS.end($p))), ce qui donne aussi un truc du genre : ../plugins/acces_restreint_1_9/. noter ici aussi l’antislash final.

    -  mais dans tous les script du plugin, c’est _DIR_PLUGIN_ACCESRESTREINT . "/img_pack/..." qui est utilisé.

    d’où un double slash dans le code html : ../plugins/acces_restreint_1_9//img_pack/... , double slash mal venu et problématique pour certaines versions de IE.

    donc :

    dans tous les script du plugin, virer ce slash en trop (petit jeu : il y en a 11 à enlever...)

    • Accessoirement à ce qui précède, j’en ai profité pour faire les modifs « img_pack ».

      Malheureusement, si j’utilise IE, le résultat est pareil. Il n’y a plus qu’une slash, mais les icônes ne s’affichent toujours pas...

      Décidement je préfère Firefox...

    • sous IE tu as les liens de la forme

      <img src='../plugins/acces_restreint_1_9/img_pack/wrapper.php?file=zones-acces-24.gif'
      alt=""  />

      pour améliorer l’affichage sous IE (justement)

      mais que fait donc ce if (!defined("_ECRIRE_INC_VERSION")) return; en tête de img_pack/wrapper.php ???

      on a rien à cacher nouzôtres

      allez hop, on vire c’te ligne et... tout baigne !

    • En un mot :

      Impeccable

      merci

    Répondre à ce message

  • 13

    Bonjour,
    Je souhaite qu’un visiteur qui se logue est accès à une page avec les liens vers les rubriques qu’il a droit de voir.
    Comment lister les rubriques ou sous rubriques auxquels un visiteur logué à des droit d’accès ???

    • Je me suis inspiré d’un post ci-dessous mais cela ne fonctionne pas.
      Les liens vers les sous rubriques autorisées devraient normalement être visibles.
      ci dessous la noisette inc_identification_sedeconecter.html modifiée

      #CACHE{3600}
      [(#REM) Deconnection ]
      <?php if ($auteur_session) { ?>
      <h1><?php echo $auteur_session['nom']; ?></h1>		
      <p>
      Vous &ecirc;tes authentifi&eacute;,<br />
      [(#REM) Test ]
      <BOUCLE_espaceprive(RUBRIQUES) {id_secteur=5} {tout} >
      <a href="#URL_RUBRIQUE">#TITRE</a><br />
      </BOUCLE_espaceprive>
      <a href="#URL_LOGOUT{spip.php?page=sommaire}">Se d&eacute;connecter</a>
      </p>
      #LOGIN_PUBLIC
      <?php } else {} ?>

      A l’aide !!!!!!!!!

    • Petite rectif

      ça fonctionne (juste penser à vider le cache).
      sauf que j’ai toutes les rubriques listées alors que je ne veux que celles dont le visiteur a des droits dessus.

    • en utilisant la balise #SESSION présente dans spip 1.9.2c tu peux faire :

      <BOUCLE_auteur_prive(ZONES_AUTEURS) {id_auteur=#SESSION{id_auteur}}>
      <BOUCLE_rubriques_privees(ZONES_RUBRIQUES) {id_zone}>
      <ul>
      <BOUCLE_rubriques_meres(RUBRIQUES) {id_zone} {doublons} {tout_voir}>
      <li>#ID_RUBRIQUE / #TITRE
        <ul>
          <BOUCLE_rubriques_filles(RUBRIQUES) {branche} {doublons} {tout_voir}>
          <li>#ID_RUBRIQUE / #TITRE</li>
          </BOUCLE_rubriques_filles>
        </ul>
      </li>
      </BOUCLE_rubriques_meres>
      </ul>
      </BOUCLE_rubriques_privees>
      </BOUCLE_auteur_prive>

      qui t’affichera la liste des rubriques et sous-rubriques d’accès restreint auxquelles a accès l’utilisateur identifié.

      la balise #SESSION est bien utile pour pouvoir passer l’id_auteur en critère de boucle.
      avec spip 1.9.2 il te suffit de rajouter la fonction function balise_SESSION_dist() dans ton fichier mes_fonctions.php (ou ce qui te sert de)

      en poussant un poil plus loin, tu te fais un inclure (inc_liste_rub_priv.html) avec la boucle ci-dessus toute seule et tu l’appelles depuis ton squelette par :

      [(#SESSION{id_auteur}|?{' '}) #INCLURE{fond=inc_liste_rub_priv}]
    • Merci pour ta réponse éclairante.

      Sauf que maintenant j’ai un joli 500 Internal Error au niveau du serveur.
      Le serveur n’aime pas le :

      [(#SESSION{id_auteur}|?{' '}) #INCLURE{fond=inc-liste_rub_priv}]
    • Bon ça avance.
      Problème de serveur réglé

      Quand j’active la fonction session dans mon fichier mes_options.php
      J’ai une page blanche au niveau du site .

      Bon y’a plus qu’à relire la doc

    • Non ça marche pô

      J’ai bien mis pourtant :

      function balise_SESSION_dist()

      dans mes_fonctions.php

      Mais après j’ai une page blanche au niveau du site.

    • argh and glop !!!

      quand je disais de rajouter la fonction dans ton fichier mes_fonctions.php, il s’agissait de toute la fonction ! soit :

      //  =========================================================
      //  Balise #SESSION pour SPIP
      //  Auteur : james.at.rezo.net (c) 2006 - licence GNU/GPL
      //  <http://www.spip-contrib.net/balise-session>
      //  =========================================================
      function balise_SESSION_dist($p) {
        if (function_exists('balise_ENV')) {
          return balise_ENV($p, '$GLOBALS["auteur_session"]');
        }
        else {
          return balise_ENV_dist($p, '$GLOBALS["auteur_session"]');
        }
      }

      avec #SESSION{variable} tu auras accès désormais aux valeurs des variables suivantes :
      -  id_auteur
      -  nom
      -  login
      -  email
      -  statut
      -  lang
      -  ip_change
      -  hash_env

      ainsi #SESSION{statut} te retournera pour un utilisateur connecté soit 0minirezo, soit 1comite, soit 6forum, soit 5poubelle

      ainsi tu pourras tester si un utilisateur est connecté par :

      [(#SESSION{id_auteur}|?{utilisateur connecté , visiteur pas connecté})]

      voir :

      spip-contrib.net/balise-session

      et

      spip-zone.info/ ?page=session

    • Ah Ah !
      Bon entre temps j’ai essayé avec le plugin Session.
      ça fonctionne, sauf que la boucle que tu m’as donné ne me renvoi pas la bonne liste.

      En gros j’ai une zone restreinte (sous rubriques) par membre.
      J’ai en fait une rubrique Accès Membres, et à l’interieur des sous rubriques pour chaque membre.
      Dans le plugin Accès restreint, pour chaque membre je crée une zone avec la rubrique (Accès Membres) et sa sous rubrique.
      C’est pourquoi je souhaite avoir le lien vers la sous rubrique du membre après identification.
      Je ne sais pas si je suis clair ???

      Bon merci en tout cas, pour ton aide et tes lumières. je vais tester avec la fonction complète.
      Morale du jour :
      Faut-être patient quand on est une quiche en programmation !!!

    • bon alors si j’ai bien compris :

      Rubrique_Accès_Membres
      |
      |-----Sous_rubrique_Membre_A
      |     |
      |     |-----Sous_sous_rubrique_Membre_A_1
      |     |
      |     |-----Sous_sous_rubrique_Membre_A_2
      |
      |-----Sous_rubrique_Membre_B
      |
      |-----Sous_rubrique_Membre_C
            |
            |-----Sous_sous_rubrique_Membre_C_1

      ensuite tu as une zone accès_restreint_1 qui englobe Rubrique_Accès_Membres, Sous_rubrique_Membre_A, Sous_sous_rubrique_Membre_A_1 et Sous_sous_rubrique_Membre_A_2 ;

      puis une zone accès_restreint_2 qui englobe Rubrique_Accès_Membres, Sous_rubrique_Membre_B ;

      puis une zone accès_restreint_3 qui englobe Rubrique_Accès_Membres, Sous_rubrique_Membre_C et Sous_sous_rubrique_Membre_C_1.

      alors attention :

      ça ne peut pas fonctionner !


      une même rubrique ne peut pas appartenir à plus d’une zone (dans ton cas : Rubrique_Accès_Membres appartient à 3 zones distinctes).

      ça peut s’expliquer : un membre possède une clef unique pour ouvrir toutes les portes qui le mènent à ses rubriques. Si donc la même clef ouvre Rubrique_Accès_Membres et Sous_rubrique_Membre_A, alors cette clef (qui ouvre Rubrique_Accès_Membres) ouvrira aussi Sous_rubrique_Membre_B !

      dans ton organisation à toi que tu voudrais, il faudrait 2 clefs (donc 2 couples identifiant/mot_de_passe) par membre : une pour ouvrir Rubrique_Accès_Membres à tous tes connectés et une autre personnalisée pour chacune des sous-rubriques. et ça : c’est pas possible. on ne peut s’identifier en cascade.

      il te faut donc revoir ton schéma : par exemple, supprimer Rubrique_Accès_Membres et faire un accès direct individualisé à Rubrique_Membre_A (et ses sous-rubriques), Rubrique_Membre_B (et ses sous-rubriques)...

    • Arf ....

      Je savais bien que je devais me mettre quelque part le doigt dans l’oeil...

      Bon je vais faire un test en ne mettant pas la rubrique accès membres en restreint !!!
      (juste pour voir)

      Faire le site d’une Association ça prend du temps même pour son président.
       :-)

    • en fait, j’ai l’impression de m’être mal exprimé dans mon post précédent.

      imaginons la structure suivante :

      -  zone restreinte 1 : auteur accepté 8
      -  zone restreinte 2 : auteurs acceptés 2, 8
      -  zone restreinte 3 : auteurs acceptés 6, 8
      -  zone restreinte 4 : auteurs acceptés 6, 8, 10

      +----------------------------------------+--------------+---------------+
      !             num titre              id  !   id_zone    !   id_auteur   !
      +----------------------------------------+--------------+---------------+
      ! 01. Rubrique_1                      3  !  1           !        8*     !
      !   0101. Rubrique_1_a               17  !  1           !        8*     !
      !   0102. Rubrique_1_b               18  !  1           !        8*     !
      !   0103. Rubrique_1_c               19  !  1           !        8*     !
      !     010301. Rubrique_1_c_1         54  !  1  2        !  2     8      !
      !     010302. Rubrique_1_c_2         55  !  1  2        !  2     8      !
      !     010303. Rubrique_1_c_3         56  !  1  2        !  2     8      !
      !   0104. Rubrique_1_d               22  !  1     3     !     6  8      !
      !     010401. Rubrique_1_d_1         58  !  1     3     !     6  8      !
      !       01040101. Rubrique_1_d_1_a   76  !  1     3     !     6  8      !
      !       01040102. Rubrique_1_d_1_b   77  !  1     3  4  !     6  8  10  !
      +----------------------------------------+--------------+---------------+

      mauvaise configuration des zones restreintes !

      dans cette configuration, seul l’auteur 8, qui a accès à la rubrique mère 01. Rubrique_1 (id : 3), peut voir quelque chose, mais uniquement ce qui n’est pas en accès restreint dans une autre zone ! c’est à dire seulement les sous-rubriques d’id 17, 18 et 19.

      toutes les autres sous-rubriques sont inaccessibles à tous les auteurs (y compris le 8) car interdites par la restriction d’une autre zone. elles ne sont donc jamais visibles.


      maintenant cette structure :

      -  zone restreinte 1 : auteur accepté 5
      -  zone restreinte 2 : auteurs acceptés 5, 8

      +-----------------------------------+--------+------------+
      !          num titre            id  ! id_zone!  id_auteur !
      +-----------------------------------+--------+------------+
      ! 01. Rubrique_1                 3  !        !            !
      !   0101. Rubrique_1_a          17  !        !            !
      !   0102. Rubrique_1_b          18  !  1     !   5*       !
      !     010201. Rubrique_1_b_1    13  !  1     !   5*       !
      !     010202. Rubrique_1_b_2    14  !  1     !   5*       !
      !   0103. Rubrique_1_c          44  !     2  !   5*  8*   !
      !     010301. Rubrique_1_c_1    45  !     2  !   5*  8*   !
      +-----------------------------------+--------+------------+

      bonne configuration des zones restreintes !

      ici, il n’y a pas imbrication mais juxtaposition des zones.

      la rubrique 0103. Rubrique_1_c (comme ses sous-rubriques) est bien accessible aux deux auteurs et la rubrique 0101. Rubrique_1_b (comme ses sous-rubriques) est inaccessible à l’auteur 8 mais accessible à l’auteur 5.

      je pense que c’est un peu plus clair comme ça.

    • je me corrige : la boucle donnée plus haut ne relevait que les rubriques avec au moins un article publié (le par défaut de spip).

      pour afficher toutes les rubriques en accès restreint auxquelles on a accès (même les vides donc) :

      <BOUCLE_auteur_prive(ZONES_AUTEURS) {id_auteur=#SESSION{id_auteur}}>
      <BOUCLE_rubriques_privees(ZONES_RUBRIQUES) {id_zone}>
      <ul>
      <BOUCLE_rubriques_meres(RUBRIQUES) {id_zone} {tout} {doublons} {tout_voir}>
      <li>#ID_RUBRIQUE / #TITRE
       <ul>
         <BOUCLE_rubriques_filles(RUBRIQUES) {branche} {tout} {doublons} {tout_voir}>
         <li>#ID_RUBRIQUE / #TITRE</li>
         </BOUCLE_rubriques_filles>
       </ul>
      </li>
      </BOUCLE_rubriques_meres>
      </ul>
      </BOUCLE_rubriques_privees>
      </BOUCLE_auteur_prive>
    • J’ai suivi tes conseils et tout fonctionne comme voulu.
      J’espère que ma problématique aura répondu aux questions que pouvaient se poser d’autres personnes.

      Merci beaucoup denisb

    Répondre à ce message

  • 3

    Bonsoir,

    j’utilise spip 1.9.2c et « Accès Restreint » Version : 0.2

    Je n’arrive pas à limiter l’accès à des sous-rubriques ???

    En fait, dès l’instant où j’effectue ces choix, c’est la rubrique mère et toutes celles qui vont avec qui sont accessible...

    Exple :

    Rubrique1
    Contient rubrique 1.1
    Qui contient rubrique 1.1.1

    Je ne souhaite donner l’accès qu’à « rubrique 1.1.1 », lorsque je crée une zone protégée exclusive en ayant coché 1.1.1 et bien c’est impossible, c’est rubrique 1 qui est ouverte.

    Où fais-je une erreur ?

    D’avance merci pour votre aide.

    • hum... pas normal ça.

      -  tu ne te loggues pas en tant qu’administrateur du site (avec tous les droits) ?
      -  tes rubriques 1 et 1.1 ne sont pas en accès restreint (seulement la 1.1.1) ?
      -  dans  ?exec=acces_restreint_edit&id_zone=xx tu n’as qu’une seule ligne colorée ?

    • Tout d’abord merci pour la réponse...

      Ensuite :

      1. non je teste avec un compte rédacteur ou admin restreint
      2. les rubriques 1 et 1.1 ne sont pas en accès restreint
      3. dans ?exec=acces_restreint_edit&id_zone=xx je n’ai qu’une seule ligne colorée

      C’est grave docteur ?

    • C’est grave docteur ?

      p’tet ben qu’oui, p’tet ben qu’non, j’peupadir...

      récapitulons :

      seule la rubrique 1.1.1 est en accès restreint.

      tu dis que les rubriques grand-mère 1 et mère 1.1 sont ouvertes. qu’est-ce à dire ? comment ton squelette appelle-t-il l’affichage de la rubrique 1.1.1 ?

      si c’est dans une boucle normale, c’est ... euh... normal (!) puisque 1 et 1.1 sont publiques (ouvertes à tous).

      1. quand tu n’es pas identifié (visiteur lambda) vois-tu la rubrique 1.1.1 ?
      2. quand tu es identifié avec les droits d’accès sur la rubrique 1.1.1, la vois tu ?

      si non à 1 et oui à 2 alors tout fonctionne comme il se doit.

      mais peut-être voudrais-tu n’afficher que 1.1.1 pour l’utilisateur identifié (et pas 1 ni 1.1) auquel cas regarde dans le post en-dessous (ou au-dessus) pour une boucle qui n’affiche que les rubriques en accès restreint aux yeux de celui qui y a accès.

    Répondre à ce message

  • bonjour,

    il semblerait qu’utilisé conjointement avec thickbox2 cela pose un probleme lors des procédures d’identification lorsque plusieurs auteurs différents accèdent au site.

    pas de problème pour l’utilisateur numéro 1

    mais probleme pour essayer de se connecter ensuite avec un autre,

    message d’erreur et impossibilité de joindre l’espace privé ,

    le bug est il deja répertorié ?

    merci

    Répondre à ce message

  • 5

    Bonjour et merci pour ce plugin qui m’a servi à créer l’équivalent d’un accès « client » sur mon site.

    J’ai modifié légèrement le script inc_identification_sedeconnecter.html pour qu’il permette d’afficher la liste des articles auquel le visiteur à le droit d’accéder (tous regroupés dans la rubrique 13)

    Je souhaiterai que pour l’administrateur (qu a accès à tous les articles de toutes les zones) ne s’affiche pas la liste de articles (très longue) mais uniquement un lien vers la partie ecrire du site.

    J’ai tenté pleins de modifications en php, mais toutes sans succès (je débute).

    Voila là ou je me suis arrêté, désespéré :

    if ($auteur_session !=admin ) { ?>
    	<h1><:bienvenue:> <?php echo $auteur_session['nom']; ?>,</h1>
    	<:interface_privee:><br />
    	<BOUCLE_espaceprive(ARTICLES) {id_secteur=13} ><a href="#URL_ARTICLE">#TITRE</a></BOUCLE_espaceprive>
    	<div><a href='#URL_LOGOUT'><:deconnection:></a></div>
    <?php } 
    
    if ($auteur_session == admin) {?>
    	administrateur 
    <?php }
    
    else {} ?>

    Ce code affiche en permance le texte correspondant à la balise <:interface_privee :>, même avant de s’être logué.

    Sauriez-vous d’où viens le problème ?

    Merci beaucoup.

    • hhhmmm... il manque quelques quotes à ton php, à moins que admin soit une constante...

      ceci devrait répondre à tes attentes :

      [(#REM) ==============================
               si connecté
               ==============================]
      <?php
      if (isset($auteur_session)) {
      ?>
      [(#REM) ==============================
               'bienvenue Hubert Gonzague'
               ==============================]
      <h1><:bienvenue:> <?php echo $auteur_session['nom'];?>,</h1>
      <:interface_privee:><br />
      [(#REM) ==============================
               lien de déconnexion
               ==============================]
      <div>
      <a href="#URL_LOGOUT"><:deconnection:></a>
      </div>
      [(#REM) ==============================
               si administrateur
               ==============================]
      <?php
        if ($auteur_session['statut'] == '0minirezo') {
      ?>
      [(#REM) ==============================
               liste des liens-articles de la rubrique 13
               ==============================]
      <BOUCLE_espaceprive(ARTICLES) {id_secteur=13}>
      <a href="#URL_ARTICLE">#TITRE</a><br />
      </BOUCLE_espaceprive>
      <?php
        }  //  si admin
      }  //  si connecté
      ?>
      [(#REM) ==============================
               si pas connecté
               ==============================]
      <?php
      else {
      ?>
      [(#REM) ==============================
               lien de connexion
               ==============================]
      <h1>Intranet - zone prot&eacute;g&eacute;e</h1>
      #LOGIN_PUBLIC
      <p>
      <a href="#URL_PAGE{spip_pass}" onclick="window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330');return false;"><:login_motpasseoublie:></a>
      </p>
      <?php
      }  //  si pas connecté
      ?>
    • oups !

      tu voulais le contraire de ce que je te propose...


      remplacer :

      [(#REM) ==============================
              si administrateur
              ==============================]
      <?php
       if ($auteur_session['statut'] == '0minirezo') {
      ?>
      [(#REM) ==============================
              liste des liens-articles de la rubrique 13
              ==============================]
      <BOUCLE_espaceprive(ARTICLES) {id_secteur=13}>
      <a href="#URL_ARTICLE">#TITRE</a><br />
      </BOUCLE_espaceprive>
      <?php
       }  //  si admin
      }  //  si connecté
      ?>

      par :

      [(#REM) ==============================
              si pas administrateur
              ==============================]
      <?php
       if ($auteur_session['statut'] != '0minirezo') {
      ?>
      [(#REM) ==============================
              liste des liens-articles de la rubrique 13
              ==============================]
      <BOUCLE_espaceprive(ARTICLES) {id_secteur=13}>
      <a href="#URL_ARTICLE">#TITRE</a><br />
      </BOUCLE_espaceprive>
      <?php
       }  //  si pas admin
      }  //  si connecté
      ?>

      désolé...

    • Merci beaucoup, mais je crois qu’il doit y avoir une erreur (ou peut-être est-ce moi qui l’ai mal intégré). Le site affiche un message d’erreur.

      Je vais continuer à chercher pour vois d’ou ça peut venir...

      Merci encore.

    • Le site affiche un message d’erreur.

      allons bon ! et lequel donc ?

    • mais oui, bien sûr. tu as tout à fait raison.

      il faut rattacher le else au bloc du dessus !

      je mets une version testée, retestée, qui fonctionne :

       
      <?php
      if ($auteur_session) {
      ?>
      <h1><:bienvenue:> <?php echo $auteur_session['nom']; ?>,</h1>
      <p>
      <a href="./ecrire/"><:interface_privee:></a><br />
      <a href="#URL_LOGOUT{#URL_PAGE{sommaire}}"><:deconnection:></a>
      </p>
      <?php
      if ($auteur_session['statut'] != '0minirezo') {
      ?>
      <p>
      <BOUCLE_espaceprive(ARTICLES) {id_secteur=13}>
      <a href="#URL_ARTICLE">#TITRE</a><br />
      </BOUCLE_espaceprive>
      </p>
      <?php
      }
      }
      else {
      ?>
      <h1>Intranet - zone prot&eacute;g&eacute;e</h1>
      #LOGIN_PUBLIC
      <p>
      <a href="#URL_PAGE{spip_pass}" onclick="window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330');return false;"><:login_motpasseoublie:></a>
      </p>
      <?php
      }
      ?>

      une fois encore, désolé de t’avoir plus pris la tête qu’aidé.

    Répondre à ce message

  • 1

    Bonjour,

    J’ai mis en place le plugin et rien à dire ca marche impeccablement

    Par contre je ne vois pas comment protéger le serveur d’un appel direct dans les répertoires (par exemple img ou local) dans lesquels on peut trouver des infos importantes (un petit dessin valant mieux qu’une longue explication...)

    Comment peut-on échapper à ce problème ?

    Merci d’avance

    JP

    • tu ne peux guère qu’empêcher l’affichage du listing de répertoire si l’utilisateur tape : http://mon-site-sous-spip.com/IMG/ ou bien http://mon-site-sous-spip.com/local/ ou encore http://mon-site-sous-spip.com/plugins/ ...

      pour cela, édite le fichier .htaccess qui est à la racine de ton spip au même niveau que

      config/
      COPYING.txt
      dist/
      ecrire/
      IMG/
      index.php
      ...

      et ajoute la directive Options -Indexes (par exemple dans la section réglages personnalisés)

      ########### REGLAGES PERSONNALISES #################
      # Inscrivez ci-dessous vos reglages supplementaires
       
      # ne pas afficher les listings de repertoire
      Options -Indexes
       
      # Permettre a IE ...

      ainsi le visiteur curieux se retrouvera devant une page blanche (apache) pour tous les répertoires qui ne contiennent pas de fichier index.php, index.html,ou index.htm

      entendons nous bien : ça ne l’empêchera pas d’aller directement à http://mon-site-sous-spip.com/IMG/pdf/le_fichier_confidentiel.pdf

      mais...

      encore faut-il qu’il connaisse l’existence de ce fichier et son nom qu’il ne peut découvrir qu’en s’étant rendu dans le code source de la page en accès restreint, ce qui ne devrait pas être possible (normalement).

      de plus tu peux conseiller à tes rédacteurs de nommer leurs fichiers jpg, pdf, txt... qu’ils déposent dans les rubriques ou joignent aux articles avec des noms peu triviaux : éviter recette_du_thon_aux_fraises.pdf et préférer 01_taf_123.pdf

      attention ! le fichier sera toujours en accès libre ! plus difficile à trouver, peut-être, mais toujours accessible.

    Répondre à ce message

  • imaginons :

    je suis rédacteur ou administrateur (spip) et j’ai l’accès autorisé (plugin) à certaines rubriques.

    quand je suis identifié et que je navigue sur le site, rien ne m’indique si l’article que je consulte (ou certains dans une liste affichée) est en accès restreint ou public. bien sûr je peux regarder la rubrique, ou la sur-rubrique, mais encore faut-il que je me rappelle lesquelles sont en accès restreint... et ce n’est pas toujours possible (cas des listes).

    bref : c’est pas ça et je ne peux jouïr ainsi du pouvoir de celui qui, à l’inverse du vulgus pecus, a le droit de poser son regard d’aigle sur la prose confidentielle... (heum heum heum !).

    et hop ! vite fait un filtre à ranger dans mes_fonctions.php (ou tout autre fichier qui fait office de) :


    function zone_mere($id_article) {
     $zn_mere = '';
     //  =======================================================
     //  seulement si la page est demandée par un rédacteur ou
     //  un administrateur identifié
     //  =======================================================
     if (isset($GLOBALS['auteur_session']['statut']) &&
        ($GLOBALS['auteur_session']['statut'] == '0minirezo' ||
         $GLOBALS['auteur_session']['statut'] == '1comite')) {
      $query = "SELECT spip_zones_rubriques.id_zone
                  FROM spip_zones_rubriques
            INNER JOIN spip_rubriques
                    ON spip_zones_rubriques.id_rubrique
                       IN (spip_rubriques.id_rubrique,
                           spip_rubriques.id_secteur,
                           spip_rubriques.id_parent)
            INNER JOIN spip_articles
                    ON spip_rubriques.id_rubrique = spip_articles.id_rubrique
                 WHERE spip_articles.id_article = '$id_article'";
      $result = spip_query($query);
      if (spip_num_rows($result) > 0) {
       while ($row = spip_fetch_array($result)) {
        $zn_mere = $row['id_zone'];
       }
      }
     }  
     return $zn_mere;
    }

    l’utilisation dans le squelette peut se faire comme ça :

    <h1 class="titre-article">[(#ID_ARTICLE|zone_mere|?{<span style="color:red;">#TITRE</span>,#TITRE})]</h1>

    explication (simplissime) : selon que le filtre renvoie l’id de la zone restreinte dans laquelle se trouve la rubrique dans laquelle se trouve l’article (ouf) ou pas, j’applique une css particulière (et ce peut être sur tout autre chose que #TITRE bien sûr : une image de fond, une couleur de background...)

    on peut aussi récupérer l’id de la zone et personnaliser son style.

    Répondre à ce message

  • mherbelin

    Bonjour,

    Plugin très intéressant et je remercie la communauté Spip pour tous les modules proposées, on arrive vraiment à personnaliser l’outil presque à volonté.

    justement j’aurais voulu savoir dans quel fichier on peut modiifer l’intitulé de certains liens du type [s’inscrire] [mot de passe oublié ?] [retour au site public].

    et pourquoi pas en ajouter d’autres !

    Répondre à ce message

  • 2
    webzone

    Petit souci

    J’ai installé le plugin, testé sur une rubrique, OK

    Je désactive le plugin, supprime son répertoire dans plugins OK, supprime les tables (3) -> plus d’accès restreint

    Je remets le plugin, je l’active et là rien -> il ne crée pas les tables ad-hoc

    Une idée ?

    • J’ai eu la même chose. Je pense (noter bien le verbe employé) qu’il est nécessaire de supprimer aussi la ligne dans la table spip_meta qui porte le nom AccesRestreint_base_version. A ce moment-là la réactivation du plugin crée aussi les trois tables.

    • mherbelin

      Bonjour,

      Plugin très intéressant et je remercie la communauté Spip pour tous les modules proposées, on arrive vraiment à personnaliser l’outil presque à volonté.

      justement j’aurais voulu savoir dans quel fichier on peut modiifer l’intitulé de certains liens du type [s’inscrire] [mot de passe oublié ?] [retour au site public].

      et pourquoi pas en ajouter d’autres !

    Répondre à ce message

  • 5
    MisterT

    Bonjour

    j’ai installé le plugin Accès Restreint, tout marche bien mais il y a un problème d’affichage des noms des auteurs dans « Les auteurs ayant accès à cette zone »

    au lieu d’avoir les noms des auteurs comme ici :
    Exemple
    il y a :

    -  auton1
    -  auton43

    -  etc

    • Joseph LARMARANGE

      Merci de préciser la version de SPIP utilisée ainsi que la version du plugin.

      Cordialement

    • MisterT

      Bonjour

      Merci pour la réponse

      les cersions sont :
      -  spip 1.9.2b
      -  Accès Restreint 2.0

      Merci

    • MisterT

      Bonjour

      Merci pour la réponse

      les versions sont :
      -  spip 1.9.2b
      -  Accès Restreint 2.0

      Merci

    • Bonjour,

      J’ai également ce léger bug : les noms des auteurs qui possèdent un logo sont effectivement remplacés par le nom de leur fichier image : auton1, auton2, etc.

      Ma version SPIP est la 1.9.2c [10268],
      Accès Restreint 2.0.

      Rien de grave en tout cas, tout est fonctionnel.

    • j’y réponds plus haut :

      8 novembre 2007 15:52 - affichage nom du logo en place du nom d’auteur

    Répondre à ce message

  • dans la liste des auteurs acceptés dans une zone privée (liste affichée en bas de page de « exec=acces_restreint_edit&id_zone=xx ») le nom de l’auteur est remplacé par le nom de son logo s’il en a un : marcel martin -> auton1.

    c’est pas gênant, c’est rigolo, mais c’est moche.


    ça se passe dans « inc/acces_restreint_gestion.php » ligne 445.

    la variable $nom (qui contient le vrai nom de l’auteur) est écrasée par $nom (qui elle contient le nom du fichier-logo).

    il faut donc remplacer :

    445:   list($fid, $dir, $nom, $format) = $logo;

    par :

    445:   list($fid, $dir, $nom_logo, $format) = $logo;
      

    ... et c’est plus mieux bô

    Répondre à ce message

  • 1

    Bonjour,

    J’utilise SPIP 1.9.2c et le plugin accès restreint par groupes Revision : 16284.

    J’ai bien chargé le plugin qui fonctionne correctement, à une exception près :

    J’ai le statut d’administrateur. Je peux écrire des brèves dans une rubrique à accès restreint sans difficultés.

    Quand je veux revenir sur cette brève déjà enregistrée et publiée, pour la modifier, j’obtiens l’erreur suivante :

    Fatal error: Call to undefined function: accesgroupes_acces_rubrique() in /xxx/xxx/xxx/x/x/calcollect/plugins/acces_groupes/1.9.2/exec/breves_vo ir.php on line 43

    Je ne suis pas assez expert en php pour comprendre ce qui se passe. Pouvez-vous m’aider.

    Merci d’avance.

    PS : Pour info, j’ai posté hier ce même message sur la page suivante qui semble ne pas être suivie régulièrement.
    http://www.spip-contrib.net/Le-plugin-acces-restreint-par

    Répondre à ce message

  • 1

    hmmm...

    (svn 16555)

    dans ’acces_restreint_options.php’, ligne 129, remplacer :

    $evenements_exclus[$publique] = AccesRestreint_evenements_evenements_exclus($publique);

    par

    $evenements_exclus[$publique] = AccesRestreint_liste_evenements_exclus($publique);

    sinon... BOUM !

     :-)

    Répondre à ce message

  • 1

    postulat :

    1) spip n’autorise pas les rédacteurs à décider de la publication de leur article, pour bénéficier de cette facilité ils doivent être administrateurs.

    2) le plugin Accès_Restreint permet à un administrateur (même restreint par spip à la gestion d’une seule rubrique) d’intervenir sur l’affectation des zones privées pour tous les autres adminstrateurs (par le biais de l’accès à ’exec=auteur_infos&id_auteur=xx’) y compris pour lui-même : ainsi il peut se donner les droits d’accès sur l’ensemble des zones, ou en exclure qui il veut.

    3) pour les besoins de mon site, je devais permettre aux rédacteurs de publier directement leur article, donc je me devais de les passer en administrateurs restreints à leur(s) rubrique(s) (au sens spip du terme).

    4) mais je ne voulais pas leur laisser la main sur la gestion des zones privées (au sens plugin), réservant cette possibilité aux seuls administrateurs complets (au sens spip).

    5) j’ai donc modifié la fonction d’affichage de gestion des zones privées de l’interface ’auteur_infos’. ça se passe dans ’acces_restreint_pipelines.php’ à la ligne 32.


    il me fallait :

    1- récupérer l’id du rédacteur connecté ; dans la globale
    $GLOBALS['auteur_session']['id_auteur']

    2- récupérer la liste des administrateurs restreints (au sens spip) ; ils sont listés dans la table ’spip_auteurs_rubriques’ (leur id liée à l’id de la rubrique qu’ils gèrent)

    3- vérifier que l’id du connecté ne fait pas partie de la liste des administrateurs restreints (au sens spip), ce qui laisse l’affichage de la boite de gestion disponible aux administrateurs ’non restreints’

    4- enfin, ne pas afficher la boite de gestion des zones privées pour les administrateurs restreints consultant les informations des auteurs.


    fonction modifiée :

    function AccesRestreint_affiche_milieu($flux){
      $id_aut_connect = $GLOBALS['auteur_session']['id_auteur'];
      $liste_admin_rest = array();
      $query = "SELECT spip_auteurs.id_auteur
                  FROM spip_auteurs
            INNER JOIN spip_auteurs_rubriques
                    ON spip_auteurs.id_auteur = spip_auteurs_rubriques.id_auteur
                 WHERE spip_auteurs.statut = '0minirezo'
              GROUP BY spip_auteurs.id_auteur";
      $result = spip_query($query);
      if (spip_num_rows($result) > 0) {
        while ($row = spip_fetch_array($result)) {
          $liste_admin_rest[] = $row['id_auteur'];
        }
      }
      switch($flux['args']['exec']) {
        case 'auteurs_edit':
        case 'auteur_infos':
          include_spip('inc/acces_restreint_gestion');
          $id_auteur = $flux['args']['id_auteur'];
          if ( !in_array($id_aut_connect, $liste_admin_rest)) {
            $nouv_zone = _request('nouv_zone');
            $supp_zone = _request('supp_zone');
            // le formulaire qu'on ajoute
            global $connect_statut;
            $flux['data'] .= AccesRestreint_formulaire_zones('auteurs', $id_auteur,
                 $nouv_zone, $supp_zone, $connect_statut == '0minirezo',
                 generer_url_ecrire('auteurs_edit',"id_auteur=$id_auteur"));
          }
          break;
        default:
          break;
      }
      return $flux;
    }
    • ... je continue mes bidouilles

      suite à la manip’ ci-dessus, il reste encore la possibilité aux administrateurs restreints (spip + plugin) de modifier l’icone d’un autre auteur...

      tentons d’éviter ça. on laisse, bien sûr, la possibilité à l’auteur connecté de modifier sa propre icone.

      attention : la fonction ne fait que masquer l’affichage -display:none- elle ne supprime pas la possibilité d’upload : il suffit de lire le source, ou de charger une autre feuille de style,... bref, ce n’est que du masquage léger.


      fonction ajoutée dans ’acces_restreint_pipelines.php’ :

      function AccesRestreint_affiche_gauche($flux){
        $id_aut_connect = $GLOBALS['auteur_session']['id_auteur'];
        $liste_admin_rest = array();
        $query = "SELECT spip_auteurs.id_auteur
                    FROM spip_auteurs
              INNER JOIN spip_auteurs_rubriques
                      ON spip_auteurs.id_auteur = spip_auteurs_rubriques.id_auteur
                   WHERE spip_auteurs.statut = '0minirezo'
                GROUP BY spip_auteurs.id_auteur";
        $result = spip_query($query);
        if (spip_num_rows($result) > 0) {
          while ($row = spip_fetch_array($result)) {
            $liste_admin_rest[] = $row['id_auteur'];
          }
        }
        switch($flux['args']['exec']) {
          case 'auteur_infos':
            include_spip('inc/acces_restreint_gestion');
            $id_auteur = $flux['args']['id_auteur'];
            if (in_array($id_aut_connect, $liste_admin_rest) && $id_aut_connect != $id_auteur) {
              // le formulaire qu'on tente de masquer
              global $connect_statut;
              $flux['data'] .= '<style type="text/css">.form_upload_icon{display:none;}</style>';
            }
            break;
          default:
            break;
        }
        return $flux;
      }

      pipeline ajouté dans ’plugin.xml’ :

      <pipeline>
        <nom>affiche_gauche</nom>
        <inclure>acces_restreint_pipelines.php</inclure>
      </pipeline>

    Répondre à ce message

  • bonjour,
    c’est encore moi...

    [concerne la svn 16555]

    il ne manquerait pas une ’pipe : |’ dans ’inc/acces_restreint_gestion.php’ à la ligne 316 :

    ...
    315:  if ($flag_editable) {
    316:    if ($nouveaux_zones | $supp_zone)
    317:      $out .= debut_block_visible("leszones");
    ...

    à remplacer par :

    ...
    315:  if ($flag_editable) {
    316:    if ($nouveaux_zones || $supp_zone)
    317:      $out .= debut_block_visible("leszones");
    ...

    ps : pas de réponse à ma question du 14 octobre sur
    « include_spip(’inc/acces_restreint_base’) »

    Répondre à ce message

  • 5
    alain BOURDEAU

    Bonjour,
    j’utilise :
    Origine svn ://zone.spip.org/spip-zone/_plugins_/_stable_/acces_restreint le samedi 20 octobre 2007, 16:01:49 (UTC+0200)
    Revision : 16170
    Dernier commit 2007-10-20 15:09:13 +0200 (Sat, 20 Oct 2007)
    sous SPIP 1.9.2c [10268] .
    Le seul autre plugin est :Corrections typographiques (guillemets).
    Les forums des bréves attachées à une rubrique ’libre’ ne s’affichent que si ont est identifié !!
    Le problème existait avec les versions antérieures et sans le deuxième plugin.
    C’est génant !

    Merci pour le remède.

    • Merci pour le remède.

      remède simple = ne plus utiliser les breves, ça sert à rien et c’est que des problemes (une preuve de plus ici) ... utiliser des articles à la place avec si nécessaire un squelette particulier

      @+ NicolasR

    • Je ne reproduit pas le bug avec la version SVN 16551 sur une installation 1.9.2c avec les squelettes par défauts. Sans être connecté je peux répondre et voir les forums publics liés à des brèves qu’elles soient dans une rubrique non restreinte ou dans une rubrique restreinte uniquement dans l’espace privé.

      Accès restreint a subi plusieurs petites modifications cet après-midi. Le bug se répète-t-il de votre côté après récupération de la dernière version SVN ?

    • alain BOURDEAU

      Oui le problème est toujours la même avec la 16555.

      par exemple, La bréve : http://www.golias.fr/spip.php?breve504

      possède deux éléments en forum qui ne sont visible que si vous êtes identifiés.

      Je vous fais parvenir en direct un login et un mot de passe pour tester.

      Merci

    • alain BOURDEAU

      Pour tester en vrai grandeur :

      sur la brève : http://www.golias.fr/spip.php?breve504

      login : spipcontrib
      passw : 03112007

      merci

    • alain BOURDEAU

      Merci bien

      Effectivement avec la vrai version svn 16555 tout marche bien.

      -  conseil pour moi !! : bien mettre la bonne version dans le bon dossier plugin.

      A plus

      ps : Ce message annule mes deux autres.

    Répondre à ce message

  • Bonjour,

    J’ai un probleme avec le plugin dans la partie privée de spip :

    j’ai créé un accès restreint contenant deux sous rubriques (d’une rubrique mère qui en contient 4) j’y ai attaché un redacteur. Mais qud le rédacteur se connecte il ne voit aucune rubrique.

    Par contre si je coche la rubrique mère de mes deux sous rubriques, je donne accès à toutes les sous rubriques de la rubrique mère, ce que je ne souhaite pas forcement...


    SPIP 1.9.2a [8878]
    Accès restreint 2.0

    Merci d’avance de votre aide

    Répondre à ce message

  • 2

    Heu, j’ai presque honte de poster ce message, mais j’en ai marre de m’arracher les cheveux :
    J’ai placé le formulaire dans la colonne du sommaire et le champ texte dépasse méchamment et forcément c’est pas hyper beau... J’ai tenté d’ajouter l’attribut size aux balises <input>et ça ne modifie rien...(meme en vidant le cache ou en le désactivant)

    Si quelqu’un peut m’éclairer, je suis preneur

    • Et en modifiant les CSS ?

    • fred (qui est mort de honte)

      A priori, je suis une grosse buse. En fait, il suffisait de renommer le fichier en login. html (en plus c’est marqué il me semble). mais bon c’est ça aussi d’avoir la tête dans le guidon...

    Répondre à ce message

  • il y a un plugin compat_193 sur la zone qui sert à patcher ces problemes. A l’heure actuelle, plus (ou presque ?) aucun plugin 192 ne peut marcher sans.

    Cedric

    http://files.spip.org/spip-zone/compat193.zip

    Répondre à ce message

  • bonjour,
    j’ai installé le plugin qui me semble fonctionner.

    En regardant le code des divers scripts, je remarque qu’il y a trois fois un appel (include_spip) du fichier inc/acces_restreint_base :
    appelé depuis exec/acces_restreint_edit.php en ligne 7 ;
    appelé depuis exec/acces_restreint_config.php en ligne 7 ;
    appelé depuis exec/acces_restreint.php en ligne 7.

    Or je ne trouve nulle trace d’existence de ce fichier...
    Comme je n’ai pas de message d’erreur, je me dis qu’il y a un truc, mais lequel ?

    Répondre à ce message

  • 1

    Bonjour,
    je n’ai pas eu de réponse à ma question, faut-il que je voie avec Scoty ?
    Quand je suis admin restreint, une fois que j’ai téléchargé un doc, je ne vois pas apparaitre la boîte d’information (c’est vrai aussi pour les docs qui existaient déjà dans l’article), et donc je ne peux pas l’insérer dans mon article.

    merci de votre aide

    Zab

    • Salut les spipeurs !
      Y-t-il quequ’un pour me dire comment modifier ce code :

      <:espace_profs :>

      pour qu’il m’affiche la rubrique 5 à la place de la page « eprofs ».

      A vous.

    Répondre à ce message

  • Bonjour tout le monde,

    Merci pour ce plugins qui marche trés bien !
    Il me reste cependant un petit soucis à lever, je l’utilise avec les plugins spip-liste qui me permet d’envoyer régulièrement des newsletter aux visiteurs intéressés.
    Alors je me demandais comment éviter qu’apparaisse dans la newsletter les articles auxquels les utilisateurs n’ont pas accès !

    A la rigueur je préférerais que les articles protégés n’apparaissent pas du tout dans la newsletter, que là ou les utilisateurs voient un article mais tombe sur une 404 en cliquant sur le lien !!

    Merci d’avance pour votre aide !!!

    Répondre à ce message

  • 4

    J’ai téléchargé le plugin de ce jour (1/10/2007) ; comme je veux résoudre [mon problème], j’ai supprimé la zone créée, pour la recréer. Mais j’ai le message d’erreur :
    Fatal error : Call to undefined function : spip_abstract_insert() in
    xxx/plugins/acces_restreint_1_9/inc/acces_restreint_gestion.php on line 13.
    Une solution ?

    • Philippe Guérindon

      Bonjour Perline,
      J’au exactement le même problème et je n’ai pas trouvé la réponse dans le Forum.

      J’utilise SPIP 1.9.2c avec Sarka-Spip 2.
      J’utilise la même version du Plugin (1/10/2007).
      J’ai d’autres plugin activés :
      -  cfg : moteur de configuration
      -  le Couteau Suisse
      -  diaporama Innerfade

      -  cache vidé avant et après installation du plugin

      La fonction spip_abstract_insert() qui est appelée ligne 13 semble être une fonction de SPIP (fonction d’abstraction) mais si tel est le cas je ne vois pas pourquoi elle serait introuvable après un install propre de SPIP 1.9.2c.

      Une idée ?
      Merci
      Philippe

    • Réponse de Cédric :
      « ajouter include_spip(’base/abstract_sql’) ;en Ligne 6 de inc/acces_restreint_gestion.php »

    • Bonjour Perline,
      La réponse de Cédric génère une erreur chez-moi.
      Devant tous ces problèmes, j’ai décidé de gérer les exclusions en modifiant directement la table spip_zones_rubriques par phpmyadmin (ou autre). Le plugin est parfait pour moi avec cette option.
      C’est l’ajout d’une nouvelle rubrique à exclure qui me pose problème.

      Dans la table, il suffit d’indiquer le n° de la zone créée dans id_zone et le n° de la rubrique dans id_rubrique.

      Je gère le site d’un club de ski avec peu de rédacteurs donc c’est jouable.
      Philippe

    • J’ai toujours mon problème de non-accès par un visiteur. C’est à l’origine mon problème, et rien n’est réglé de ce côté là. Pour un admin, ça colle, pour un visiteur, clairement identifié, rien n’est possible....

    Répondre à ce message

  • Philippe Guérindon

    Bonjour,
    J’ai réussi à installer le plugin après avoir décommenté le contenu du fichier “../spip/ecrire/base/abstract_sql.php.

    Il me reste un bug mineur à éliminer : le chemin “../plugins/acces_restreint_1_9/img_pack” est mal interprêté en “../plugins/acces_restreint_1_9//img_pack”. Je n’arrive pas à éliminer ce double slash. Le résultat est le non affichage des icônes du img_pack.

    Ci-dessous le code source de la page html de configuration du plugin générée dans le navigateur.

    <td class='cellule36' style='width: 100px;'><a href="http://www.asc-annemasse.com/spip/ecrire/?exec=acces_restreint"><img src='../plugins/acces_restreint_1_9//img_pack/wrapper.php?file=zones-acces-24.gif'
    alt=""  /><span>Acc&egrave;s Restreint</span></a></td>
    </tr></table></div></div></div></td></tr></table></div>

    telecharger le fichier abstract_sql.php modifié (zipé).

    Je tourne en rond car je ne sais pas précisément quel fichier il faut modifier.

    Merci pour l’aide.

    Philippe

    Répondre à ce message

  • 2

    Oh !? Je l’ai mis sur une 1.9.3 svn « pour voir » et...

    Fatal error : Call to undefined function : spip_abstract_showtable() in /home/suske/rbdh/plugins/acces_restreint_1_9/inc/acces_restreint_install.php on line 18

    C’est grave docteur ? :-)

    Répondre à ce message

  • Philippe Guérindon

    Bonjour,
    J’ai bien trouvé trace de la fonction spip_abstract_insert() dans le fichier xxx/spip/ecrire/base/abstract.sql (fichier du 24/01/2007 taille : 6 460 octets) mais tout son contenu est en « commentaire » dans le pack de distribution spip 1.9.2c. Je vais essayer de lui rendre une forme opérationnelle.

    Philippe

    Répondre à ce message

  • Philippe Guérindon

    Bonjour,
    Je suis en SPIP 1.9.2c [10268] et je viens de télécharger le tout nouveau fichier xxx/base/acces_restreint.php compatible 1.9.2c (du 1er octobre 2007. Je vide le cache avant et eprès l’installation du plugin.
    J’ai toujours mon erreur suivante dès lors que je veux configurer le plugin en créant une nouvelle zone :

    Fatal error : Call to undefined function : spip_abstract_insert() in /data/members/paid/a/s/asc-annemasse.com/htdocs/www/spip/plugins/acces_restreint_1_9/inc/acces_restreint_gestion.php on line 13

    Je n’ai pas trouvé la fonction dans mes différents répertoires “inc” .

    Merci pour le support.
    Philippe

    Répondre à ce message

  • Bonjour, voila deja quelques temps que je cherche une solution à ce probleme mais rien a faire...

    J’ai installé le plugin, ajouté une zone restreinte, et tout configuré comme c’est expliqué.

    Problème : mon formulaire d’inscription au site n’apparait pas ! (je l’appelle dans mon squelette avec la balise #FORMULAIRE_INSCRIPTION).

    J’ai alors vérifié si l’option « inscription automatique de nouveaux visiteurs » était cochée (dans configuration/interactivité), et la je vois ce texte « Votre site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public. »

    J’en conclue que ca ne vient pas de la configuration de mes inscirptions...

    Pourtant ce formulaire ne veut vraiment pas s’afficher...

    Répondre à ce message

  • Evelyne Desandre

    Bonjour,

    J’ai installé le plugin « Accès restreint » (compatible 1.9.2) qui fonctionne correctement.
    J’ai deux rubriques en accès restreint, dont une est partiellement (boucle article) affichée sur ma page sommaire.

    Du coup ma page d’accueil n’est plus accessible aux visiteurs « anonymes ».

    J’ai essayé avec ce critère {tout_voir}, sur le modèle indiqué, mais avec le même résultat :

    J’ai en début de la page sommaire une boucle

    <BOUCLE_rubrique_principal(RUBRIQUES){id_zone=1} {tout_voir}>

    que je ferme en fin de page :

    </BOUCLE_rubrique_principal>

    Dans la page j’ai un INCLURE

    <INCLURE{fond=inc-revue-presse}>

    dont la boucle est la suivante :

    [(#REM) Articles de la rubrique ]
                    <B_articlespresse>              
                            <BOUCLE_articlespresse(ARTICLES) {id_rubrique=6}{tout_voir} {0,4}{par date}{inverse}>
                            <li>
                              <a href="#URL_ARTICLE">#TITRE</a>                       
                            [<small>(#INTRODUCTION|couper{160})]</small></li>
                            </BOUCLE_articlespresse>                                    
                    </B_articlespresse>

    J’ai aussi essayé avec

    <BOUCLE_articlespresse(ARTICLES) {tout_voir} {id_rubrique=6}{0,4}{par date}{inverse}>

    mais même résultat.

    Idem si je mets le code directement dans la page sommaire.

    Où est mon erreur et donc subsidiairement : comment lister des articles restreints sur ma page d’accueil, sans imposer une identification à ce niveau ?

    Pas trouvé de réponse ni sur l’article de spip-contrib ni sur la liste.

    D’avance merci pour votre aide

    Répondre à ce message

  • 3

    J’ai tout installé comme il est dit, mais les rubriques restreintes n’apparaissent pas, ni avec une connexion admin complet, ni avec visiteur.
    Qu’ai-je pu oublier ?
    Merci.

    • Le cache a-t-il été correctement vidé après installation ?
      Les zones ont-elles été correctement définies ? (notion publique et privée)

      Euh juste une précision, si une rubrique restreint n’apparaît pas c’est normal. C’est l’objectif visé.

      S’il s’agit d’une rubrique restreinte et qu’elle n’apparaît pas après authentification, est-ce que la zone concernée a été correctement associée à l’auteur qui se connecte ?

      Enfin, merci de précision comme toujours votre version de SPIP et les autres plugins installés.

    • Oui le cache a été vidé.
      -  Pour la zone est coché « Restreindre l’accès à cette zone dans la partie publique ».
      -  La rubrique restreinte n’apparaît pas après authentification du visiteur. Elle est correctement associée (je peux faire des copies d’écran).
      -  Spip 192c, plugins : accès restreint dernier modèle, agenda, alternatives, session, boutons supplémentaires, onglets, spip listes, widget calendar.
      -  A noter qu’en tant qu’admin complet, tout va très bien, je vois les rubriques restreintes, et j’y accède normalement.
      Merci

    • Est-ce que le problème persiste si tous les plugins sauf acces_restreint sont désactivés ?

      Si sans les autre splugins, acces_restreint fonctionne bien, il faut réactiver les plugins un par un pour voir avec quel plugin il y a incompatibilité.

      Si juste avec spip 1.9.2c acces_restreit ne fonctionne pas, c’est qu’il y a peut être besoin d’effectuer une petite mise à jour de acces_restreint.

      Je vous conseille de tester cela puis de détailler vos résultats sur la liste spip-zone.

      Cordialement

      (je suis désolé de pouvoir tester moi meme cela mais je suis actuellement submergé de travail)

    Répondre à ce message

  • 7

    Bonjour

    je n’ai pas encore testé le truc en tant que simple visiteur et tout.. mais pour l’instant ça a l’air de marcher.

    J’ai une remarque et une question :

    1/ entre les noisettes, et le formulaire_login.html, et le fichier login_public.html, je ne m’y retrouve pas. On dirait que l’explication mélange plusieurs solutions

    2/ J’ai donc utilisé les noisettes, cela semble fonctionner, mais j’ai un problème de mise en forme :
    je voudrais enlever le cadre, le « Identifiants personnels » et mettre le login, l’identifiant et la case « rester connecté... » ainsi que "mot de passe oublié, sur la même ligne, en haut de mes pages.
    Je n’ai pas trouvé sur quel fichier intervenir. (j’ai pu le faire pour la noisette de déconnexion uniquement).

    Merci par avance de votre aide ! J’y suis presque.

    • Y’a personne ?

      Bon, je précise ma pensée : l’instruction LOGIN_PUBLIC appelle un fichier, apparement c’est formulaire_login, mais j’ai beau l’avoir modifié et mis dans squelettes/formulaires, rien ne change.
      Pourquoi ?

      Zab

    • Alexandra Guiderdoni

      depuis la 1.9.2 c’est plus formulaire_login mais login.html à mettre dans squelettes/formulaires.

    • Oui, j’avais fini par trouver, et j’ai obtenu ce que je voulais. merci !!!

      Zab

    • Bonjour à tous,

      Est-ce que vous pouvez me dire où je peux trouver le fichier login.html ou est-ce suffisant
      de juste renommer le fichier formulaire_login.html en login.html ?

      Merci de me répondre.

    • Alexandra

      oui en 1.9.1 c’était formulaire_login.hml. Depuis la 1.9.2 c’est login.html. Il faut donc renommer la noisette.

    • Merci beaucoup pour cette réponse Alexandra !!!

    • Zab maintenant que tu as fini peux-tu m’aider un peu car je n’avance pas du tout. Je t’ai déjà posé pas mal de questions sans réponses. Je n’arrive pas toujours à faire afficher la page d’identification des visiteurs.

    Répondre à ce message

  • 6

    Bonjour,

    Tout d’abord bravo pour ce magnifique plugin. Petite question : la rubrique protégée n’apparaît pas dans le menu une fois protégée. Y a-t-il un moyen de faire à ce qu’elle reste apparente, même si l’on n’est pas connecté, et que lorsqu’on clique dessus, un message invitant à s’inscrire ou s’identifier apparaisse ? Cela donnerait les possibilités qu’il y a sur le site même au visiteur, sinon il faut vraiment deviner qu’il peut y avoir des rubriques cachées.

    Cordialement.

    • Pour faire apparaître les rubriques protégées dans un menu, il faut ajouter le critère {tout_voir} à la boucle du menu.

    • Merci Joseph,
      Cela affiche bien la rubrique protégée. Question supplémentaire : quand on clique dessus, cela amène une erreur 404, normal. Mais que mettre et où pour avoir un texte du style « L’accès à cette rubrique est réservé ... » ?

      Spip est vraiment une chouette communauté :-)
      Cordialement.

    • Bonjour

      moi, sur les conseils de Joseph j’ai mis le code suivant dans mes squelettes, et j’ai ajouté une table créée ad’hoc pour indiquer si mes rubriques et les articles dedans sont restreints ou non ; en effet, je peux juste mettre le bout de code « if ($auteur_session)... » mais dans ce cas, le texte « vous ne pouvez accéder... » apparaît aussi pour les rubriques non restreintes :

      <BOUCLE_accesrestreint(ARTICLES){id_article}{tout_voir}>
      
      <?php
      $id=#ID_RUBRIQUE;
      $db = mysql_connect(XXXXX);
      mysql_select_db('XXXXX',$db);
      $sql_query = "SELECT * FROM indices_complet WHERE idrub='$id'";
      $result=mysql_query($sql_query);
      while ($result && $row=mysql_fetch_array($result))
      {
      $statut=$row['acces'];
      if ($statut=="restreint")
      {
      	if ($auteur_session)
            	{
      		echo '<hr><p class=texte12>  --------->  Vous êtes authentifié. <-----------</p>';
      		}
      		else
      		{ 
      		echo '<p>&nbsp;</p><p>&nbsp;</p><h3>Désolé-e !<br>Vous ne pouvez accéder à cette page<br>si vous n\'êtes pas identifié-e !!!!</h3></p>';
            	}
      }
      }
      ?>
      </BOUCLE_accesrestreint>

      ça marche impec.
      Pour les rubriques, je remplace évidemment ARTICLES par RUBRIQUES

      zab

    • Elle est où la boucle de menu ? suis débutant et essai de vous suivre. Un peu de mal sur les explications

    • Pour faire apparaître les rubriques protégées dans un menu, il faut ajouter le critère tout_voir à la boucle du menu. Mais où se trouve cette boucle de menu ?

      Comment mettre un code dans un squelette ?
      J’aimerais avancé un peu.

    • Peux-tu nous donner le nom des squelettes dans lesquels tu as mis le code ? est-ce dans les noisettes ou dans tous les squelettes de ton site ? à savoir les fichiers .html ?
      Je te remercie

    Répondre à ce message

  • Bonjour

    Une erreur de lien dans la zone de description du plugin apres l’avoir installe : le lien URL : pointe vers http://www.spip-contrib.net/Le-plugin-Acces-Restreint,1420 qui n’existe pas

    Répondre à ce message

  • Vous êtes plusieurs à avoir exposé ici différents problèmes rencontrés avec accès restreint ou souhaits quant à ses évolutions.

    Le développement de accès restreint a été quelque peu en hibernation ces derniers temps en raison d’emplois du temps surchargés des uns et des autres.

    Un début de discussion avait été entamée au printemps sur la suite de accès restreint, ici sur spip-contrib mais aussi sur la mailing liste spip-zone.

    Le développement de la suite de accès restreint devrait reprendre cet hiver, un atelier-cantier de travail est d’ailleurs prévu à ce sujet lors de la SPIP User et Coding Party des 10-11 novembre 2007 à Clermont-Ferrand (voir le programme).

    Si tout va bien, la suite devrait être disponible en 2008. Cordialement à vous tous...

    Répondre à ce message

  • 1

    Bonjour à tous

    je suis l’heureuse utilisatrice de cet indispensable plugin, customisé par le plugin DW2 de Scoty (gèrant les téléchargements), qui a retravaillé dessus pour sécuriser complètement les docs et images attachés aux articles restreints.

    J’ai maintenant une petite trentaine d’administrateurs différents qui gèrent chacun une partie du site.

    Problème : l’un d’entre eux a voulu ajouter un doc à un de ses articles qui en avait déjà (dans une partie restreinte, sur laquelle il avait bien les droits), or, quand il modifie l’article, les docs n’apparaissent pas à gauche. Quand il en ajoute un il est bien téléchargé mais la petite fenêtre de gestion du doc n’apparait pas.

    Pourtant ça marche avec un autre administrateur et sa rubrique à lui, configurée exactement de la même manière.

    Que se passe t-il ?
    Sachant que par contre il n’y a pas de problèmes pour les images.

    merci de votre aide.

    (sinon, je suis obligée de faire les téléchargements à sa place, en tant qu’admin général)

    Répondre à ce message

  • 1

    Bonjour,

    souhaitant installer le squelette Multi-saisons muni de toutes ses fonctionnalités, je dois préalablement activer un nombre certain de greffons, dont Accès Restreint 2.0.

    J’ai 1 remarque et 1 souci à vous soumettre :
    - [rem] nommer acces_restreint_1_9 la version 2.0 (certes, pour SPIP 1.9.X) n’est pas très heureux. J’ai vérifié 18 fois si spip-zone était bien à jour :/

    - [pb] j’ai déjà lu un post similaire dans cette page, mais n’ai pas trouvé de solution : l’activation du plugin me renvoie une page blanche. La suppression du répertoire du plugin est la seule manière de retrouver l’interface d’administration de mon site.

    Je suis hébergé chez Free, qui ne semble pas accepter la proposition SPIP de .htaccess à la racine du site (donc je ne l’ai pas renommé). D’autre part, la dizaine d’autres greffons recommandés pour Multi-saisons a été activée avec succès.

    Si ce petit ennui vous parle, merci de bien vouloir m’apporter un soutien technique plus que bienvenu.

    amicalement,
    Guillaume.

    • Auto-réponse...

      mea culpa.
      J’ai persévéré, pour finir par me rendre compte que ma *prétendue* nouvelle installation de SPIP 1.9.2c était imbriquée dans une vieille installation SPIP 1.9.1 :/

      La page blanche provient probablement de l’incompatibilité annoncée avec SPIP < 1.9.2. J’ai donc recommencé de zéro (ça m’a pris 4 minutes 27 secondes exactement), et tout baigne.

      Navré pour ce post intempestif et merci pour ce plugin tellement indispensable.

      Guillaume.

      P.S. : ma remarque au sujet du versioning reste valable ;)

    Répondre à ce message

  • 2

    Y’a t-il finallement une solution pour les ne pas rendre accessible les documents joints d’un article situé dans une rubrique restreinte ? Ce sujet est posé plusierus fois dans ce forum mais pas de réponse concrête (sauf une qui suggère de mettre un htaccess dans chaque sous-dossiers de IMG avec dedans : IndexIgnore *. Mais bon ça marche pas pour moi.
    En fait si je tape www.monsite/com/img j’obtients une erreur. C’est déjà ça :) si je pousse un peu plus loin en mettant /pdf j’ai de nouveau une erreur :) mais si je note intégrealement mon fichier par exemple www.monsite.com/img/pdf/plaquette.pdf là problème Firefox me propose de l’ouvrir, donc c’est foutu :(

    Quelqu’un à résolu le problème ?
    Et si on pouvait restreindre au niveau des articles ce seraoit pas mal non ? Je sais moi ça me prend 2 seconde pour taper la suggestion et vous 2 mois pour y répondre :)

    En tout cas bravo pour votre travaille !

    Rene

    • Je me permet de reposter un message concernant la sécurisation des documents joints.
      Personne à une petite idée ou une piste ?
      Merci pour vos réponses

      RENE

    • Bonjour

      ayant le même problème, Joseph m’a aiguillée vers le plugin DW2 de Scoty. Scoty a créé une nouvelle version qui sécurise les docs des rubriques restreintes. Cette version est en bêta, il vaut mieux le contacter directement.

      zab

    Répondre à ce message

  • 1

    Bonjour,

    Je souhaiterai savoir si il est possible que le plugin accès restreint prenne automatiquement en compte qu’un rédacteur puisse être admis dans la zone restreinte ou faut-il à chaque fois le faire manuellement pour chacun des auteurs ?

    J2B

    • Re,

      Bon et bien je peux répondre moi même à la question, il faut prendre le plugin acces restreint groupe", j’utilise la version 1.9.2 de spip vous y trouverez le plugin dans la zone de téléchargement (et non sur la page d’explication).

      Bon courage à tous,

      J2B

    Répondre à ce message

  • 1

    Bonjour,

    Bravo pour ce plug-in, il couvre des fonctionnalités vraiment intéressantes et très utiles pour moi qui crée en ce moment un site intranet. Je rencontre cependant un problème que je voudrais vous soumettre...

    Sur mon site, j’utilise un squelette créé par mes soins. Il se trouve dans un dossier « monsite » dans l’arbo spip. Il contient entre autre article.html, rubrique.html et login_public.html, pris sur l’exemple donné dans l’article.

    J’ai un .htaccess qui précise :
    RewriteBase /spip/
    RedirectPermanent /index.html http://mondomaine.fr/spip/spip.php?page=login_public

    Donc en arrivant, on a la page de login_public. Dans celle-ci j’ai mis :
    (#LOGIN_PUBLIC
    Pour qu’une fois logger on arrive sur la page d’actualités de mon site.

    Ca marche... sauf que je ne vois aucune de mes boucles sur la page même quand je suis loggé.
    En revanche, si je vais sur le sommaire de la dist - j’ai pas de sommaire.html dans mon squelette - (en tapant http://mondomaine.fr/spip/) là je vois bien le contenu mes rubriques à la sauce dist. Si je vire mes cookies, la dist n’affiche plus les rubriques protégées.

    Ma question est donc : pourquoi ca marche avec la dist et pas avec mon squelette ? Faut-il que j’ajoute qquechose ?

    Compléments d’infos :
    -  j’ai bien un fichier mes_options.php dans spip/config qui précise :

    <?php
        $GLOBALS['dossier_squelettes'] = 'trimane';
        $type_urls = "propres2";
    ?>

    -  je suis en 1.9.2b 9381

    J’espère que qqu’un pourra m’aider !
    @pluche

    • dans mon post précédent, il faut remplacer dans mes_options.php : trimane par monsite. C’est un autre site trimane...

    Répondre à ce message

  • 1
    spipeur qui a mal à la tête

    Bonjour ,

    j’ai un erreur sur mes navigateurs Firefox et IE :

    Line : 349

    car:1

    erreur :’document.getElementByld(...)’ a la valeur Null ou n’est pas un objet.

    code:0

    URL:http://monsite/spip.php?rubriquen

    Est-ce que quelqun sait d’où vient cette erreur ?
    j’ai inclu les deux noisettes inc_identification_visiteur et inc_identification_sedeconnecter.html dans mon squelette
    rubrique et sommaire, quand je me logue en tant que visiteur,
    il m’affiche en dessous du texte « vous ête authentifié »
    le formulaire pour se loger alors que quand je me logue en admin je n’ai pas ce formulaire, est-ce normal ?

    Merci d’avance.

    • « Est-ce que quelqun sait d’où vient cette erreur ? j’ai inclu les deux noisettes inc_identification_visiteur et inc_identification_sedeconnecter.html dans mon squelette rubrique et sommaire, quand je me logue en tant que visiteur, il m’affiche en dessous du texte « vous ête authentifié » le formulaire pour se loger alors que quand je me logue en admin je n’ai pas ce formulaire, est-ce normal (...) »

      Bonjour,
      J’ai moi aussi cette erreur. Pas de piste ? Merci.

      Bruno

    Répondre à ce message

  • Madrilene

    Bonjour
    je n’ai pas encore installé ce chouette plugin. Je me demandais s’il était efficace sur le filtrage d’accés opéré sur des tables crées en plus de celles de spip ou s’il ne pouvait s’appliquer qu’a des rubriques et par conséquent aux tables natives...?
    Merci

    Répondre à ce message

  • 2

    Bonjour,

    Nouveau spipeur depuis peu, je suis assez intérressé par ce plugin accès restreint.
    J’ai bien réussi à placer les différents éléments dans mes pages... mais comment
    rediriger les visiteurs vers un bulletin d’inscription avec un lien [s’inscrire] comme
    pour les forums ?

    Merci

    • Ok, désolé, mais j’ai trouvé la solution voici le lien à écrire dans le fichier ’inc.identification.visiteurs.html’ :

      &#91;<a href="#URL_PAGE{spip_inscription,focus=nom_inscription}&mode=(#URL_SITE_SPIP|tester_config{mode_inscription})" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=500'); return false;"><:login_sinscrire:></a>&#93;

      Bonne journée

    • Suspiria

      J’ai bien ajouté ce morceau de code, mais ca ne semble pas fonctionner : la fenetre qui s’ouvre est vide et il y a juste « Rien à faire ici. » écrit en haut...

      Malgré mes recherches je n’ai pas reussi a trouver comment résoudre ce probleme... est-ce que quelqu’un saurait comment faire ??

    Répondre à ce message

  • 10

    Bonjour,

    J’ utilise votre plugin avec le squelette multi saisons et voici ce qui s’ affiche partout sur mon site :

    # Erreur(s) dans le squelette

    * Erreur sur le site, boucle critère inconnu tout_voir
    * Erreur sur le site, boucle critère inconnu tout_voir
    * Erreur sur le site, boucle critère inconnu tout_voir
    * Erreur sur le site, boucle critère inconnu tout_voir
    * (rubriques)
    Erreur MySQL
    rubriques.id_rubrique, rubriques.date, rubriques.titre, rubriques.descriptif, rubriques.lang FROM spip_mots_rubriques AS L1, spip_mots AS L2, spip_rubriques AS rubriques WHERE (L2.titre = ’menu_rub’) AND (tout_voir = ’’) AND (rubriques.statut = « publie ») AND L1.id_mot=L2.id_mot AND rubriques.id_rubrique=L1.id_rubrique GROUP BY rubriques.id_rubrique ORDER BY rubriques.titre
    Unknown column ’tout_voir’ in ’where clause’

    Je ne comprends pas, le critere ’tout_voir’ devrait être reconnu puisque j’ ai installé le plugin ?
    Peut être n’ ai je pas bien lu l’ explication de l’ installation ou alors j’ ai zappé un truc ?

    AHHHHHHHHHHHHHHHHHHHH !!!!!!!!!!!!!!!!!!
    de l’ aide s’ il vous plaît

    • Joseph Larmarange

      Le plugin est-il correctement activé ?
      Y a-t-il d’autres plugins installés ?

    • laëta

      Merci de repondre si rapidement,

      J’ ai bien dans CONFIGURATION l’ acces restreint.

      voici la liste des plugins installés :

      le pluginAcces Restreint 2.0 modifié par JL

      le pluginBalise Session

      le pluginCorbeille

      le plugin Crayons

      le pluginMini Calendrier

      le pluginRecherche Etendue

      le pluginPlugin SPIP-Listes

      le plugin Splickrbox

      le pluginSquelette par mot clef

      le plugin Thickbox v2

    • Joseph LARMARANGE

      Je vois que vous utilisez la version modifiée que j’avais proposé il y a quelque temps. Cependant, il ne s’agit pas d’une version maintenue mais c’était une proposition sur des évolutions possibles de ce plugin.

      Je vous invite donc à récupérer la dernière version de ce plugin sur SPIP-Zone : http://files.spip.org/spip-zone/.

      Dîtes-nous si votre problème perdure avec cette dernière version.

      Cordialement

    • laëta

      En fait le souci vient d’ ailleurs, en effet, en installant spip sur un autre hebergeur tout fonctionne (j’ ai installé le derniere version de plugin).

      Le fait d’ installer, de dé-installer le plugin et en plus de tester plusieures versions, doit etre pour quelque chose.

      Qu’ en pensez vous ?Que me conseillez vous ?

      Merci beaucoup pour votre patience.

      Cordialement.

    • Joseph Larmarange

      Difficile de répondre. EN tout cas, si vous modifiez certains fichiers, il est parfois recommendé de désinstaller/réinstaller un plugin, puis de vider le cache.

      Souvent ca suffit pour que tout rendre dans l’ordre.

    • J’ utilise moi aussi votre plugin avec le squelette multi-saisons... et j’ai cette même erreur. J’ai la dernière version du plugin. Je suis hébergée chez free. Je désespère. Pouvez vous m’aider ?

    • je suis exactement dans le meme cas.
      j’ai installé spip 1.9.2, le squelettes multisaisons et les plugins qui vont bien .
      j’ai rajouté une zone privé avec « acces restreint »
      et j’ai toujours cette erreur :

      Unknown column ’tout_voir’ in ’where clause


      j’ai raté quelque choses

    • J’ai aussi ce problème, nous avons installé le squelette la semaine dernière.
      Je n’ai pas eu de réponse ici : http://artlogic.ovh.org/spip192/spip.php?article21&debut_Forums_fil=10#pagination_Forums_fil

      En fait, lorque on décoche le plugin « squelette », il n’y a plus les erreur, mais les rubriques sont absentes.
      A noter que j’ai installé, mis à jour, configuré les plugins, rien n’y fait.

      Merci si quelqu’un trouve, ce squelette est vraiement très « propre ».

    • Bonsoir,
      je suis egalement chez free, la seule solution que j’ ai trouvé pour résoudre ce fameux probleme :

      Unknown column ’tout_voir’ in ’where clause

      est des plus radicales puisque j’ ai tout désinstallé

    • Stephane

      J’ai moi aussi le même problème. J’ai tenté réinstallation, effacer tout, vider cache SPIP et navigateur, rien n’y fait.

      tout_voir est toujours inconnu.

      Je suis sous Spip 1.9.2, hébergé chez Village.org

      Je ne sais plus quoi tenter.

    Répondre à ce message

  • Bonsoir,
    je souhaite utiliser ce plugin afin de mettre en place un espace adhérent sur le site publique. Cet espace adhérent comprendra un forum mais je ne veux pas que mes adhérents doivent se logger 2 fois, il faut donc que je puisse récupérer les logins et password et session. Dans quelle table sont-ils stockés ?
    merci beaucoup.

    Répondre à ce message

  • 1
    Michel

    Attention :
    Les pièces jointes des articles qui sont dans les zones interdites sont téléchargeables par un visiteur non autorisé, si vous le visiteur est abonné aux fils RSS du site, alors que l’article lui n’est pas accessible.
    Merci pour tout.
    Michel

    • Bonjour,

      Merci pour ce contrib, j’ai une question, si on met des liens pour télécharger des documents dans une rubrique, un visiteur non autorisé pourait-il y acceder s’il est
      abonné aux fils RSS du site ?

      Merci.

    Répondre à ce message

  • Bonjour,
    Le plugin est posé sur le site et validé dans « gestion des plugin ».
    Mais il n’appara’it jamais dans Configuration !
    Je suis en Alternatives 1.91. et j’ai fait attention de prendre le plugin 1_9 dont vous donnez le lien ici. J’ai aussi activé dans config/interactivité le droit d’inscription des rédacteurs et des visteurs, vidé le cache, etc, rien n’y fait.
    Merci de votre aide
    (autre plugins en fonction : albums Walma, barre typo écolo, listes)

    Répondre à ce message

  • Bonjour

    J’utilise ce plugin qui me permet de facilement gérer des profils utilisateurs mais je me suis aperçu d’un petit dysfonctionnement au niveau du login sur la page inc_identification_visiteur.

    Si on rentre un login et mot de passe corrects tout est OK.
    Si je rentre un login incorrect, pas de problème j’ai l’erreur « login inconnu ».
    En revanche, s’il y a une erreur sur le mot de passe, aucun message d’erreur n’est affiché, on entre dans le site qui est alors « vide » (puisque tout le contenu est soumis à un accès contrôlé)...

    Je ne sais pas trop comment faire.
    Quelqu’un aurait-il une piste svp ?

    Répondre à ce message

  • 2
    marjorie

    Bonjour,

    lorsque je désactive le plugin, je ne peux plus accéder à la partie publique...
    voilà le message qui apparaît :

    Fatal error : Call to undefined function : accesrestreint_articles_accessibles_where() in /mnt/119/sdc/7/e/cdvb77/ecrire/public/composer.php(48) : eval()’d code on line 324

    Quelqu’un a-t-il une solution ?
    merci d’avance

    • Avez-vous pensez à vider le cache ? En effet, après toutes installation ou désintsllation d’un plugin, il est nécessaire de vider le cache.

      Cordialement

    • Suite à ton message, j’ai vidé mon cache, mais rien n’y fait... le message réapparaît...
      Vais-je être obligée de tout réinstaller ?

      Merci de votre aide.

      Marjo

    Répondre à ce message

  • Hello,

    J’utilise ce plugin, il est vraiment bien.

    Je voulez juste vous remonter un petit bug il me semble.

    Dans l’espace privé, j’ai défini plusieurs zones composées d’admins restreints et de rédacteurs. J’ai également restreint l’accès à ces zones pour l’espace privé uniquement. Jusque là tout va bien.

    Quand il y a un article ou une brève proposé à la publication dans ma Zone 1, par exemple, et que l’admin de la zone 2 arrive dans l’espace privé, il y a au dessus du pavé indiquant les demandes de publication le message suivant :

    Warning : Variable passed to each() is not an array or object in \inc\presentation.php on line 345.

    Et la liste des articles ou des brèves est vide. Le pavé ne devrait pas être là en toute logique (enfin s’il n’y a pas d’article en attente de publication dans cette zone bien sur)

    Ce que j’en conclu c’est que Spip voit bien qu’il y a des articles proposés à la publication mais comme ils ne font pas partie de la zone restreinte de l’admin restreint il y a un souci avec une variable qui devrait être définie mais qui est vide ou un truc dans genre.

    J’utilise Spip 1.9.2b [9381] et la Revision : 12246 du plugin.

    Encore bravo pour ce plugin, bonne continuation.

    Répondre à ce message

  • Bonjour,

    Je me permet de reprendre ici ce qui semble être une incompatibilité entre les plugins Accès Restreint et Agenda signalée dans les posts du plugin Agenda et pour laquelle aucune vraie réponse n’existe actuellement.

    Je suis en effet utilisateur de ces deux plugins et j’ai également constaté que lorsque des évènements sont inscrits à l’agenda (dans des rubriques publiques), la connexion d’un rédacteur à l’espace protégé par ’Accès Restreint’ provoque leur disparition du mini calendrier associé dans les pages publiques. Seule une opération de recalcul de la page les fait réapparaître. Ce phénomène a lieu aussi bien en local que chez mon hébergeur (free) et je n’ai pour l’instant pas trouvé d’autre solution que de mettre le cache à 0 sur la page qui contient le mini-calendrier.

    Pour les auteurs des posts du plugin ’Agenda’, il pourrait s’agir d’un problème en relation avec la gestion de cache. Quid ? C’est embêtant car pour le reste, ces deux plugins fonctionnenent bien (en tout cas chez moi).

    Merci d’avance pour toute réponse.

    Répondre à ce message

  • 4

    Bonjour,
    j’obtiens une erreur de redirection avec la pagination.
    Ce problème survient uniquement lorsque l’utilisateur est identifié.

    Je sèche un peu, quelqu’un a peut-être une idée ?

    Merci

    • J’ai un problème similaire avec Spip 192a + plug-in accès restreint

      lorsque je clique sur le lien pagination (#PAGINATION), la page n’est pas rafraichie et je vois toujours les mêmes 10 premiers articles.

      Je dois faire « recalculer cette page » pour voir apparaître les articles suivants demandés.

      Pas de message d’erreur

      Merci

    • LARMARANGE Joseph

      Question ?

      la boucle contenant le critère de pagination est elle directement présente dans votre squelette ou bien est-elle présente dans une noisette inclue dans le squelette principal.

      Si la boucle se situe dans une inclusion, il importe que soit passer en parametre la variable debut_nom_boucle qui sert à calculer la pagination. Sinon, la noisette renverra toujours uniquement la première page.

    • Bonjour Joseph,

      pas d’utilisation de noisettes.
      Pas d’inclusion dans ma boucle.
      Il y en a cependant dans la page, avant et après ma boucle (entete, pied), mais sans prob apparemment.

      Ma boucle est :

      <BOUCLE_rubrique_principal(RUBRIQUES){id_rubrique}>	
      
      <BOUCLE_Rub_Particuliere(RUBRIQUES){id_rubrique}{titre_mot=ordre_manuel_des_articles}>
                  <B_articles_rubriques1>
                  	#ANCRE_PAGINATION
                  	<ul> 
      		<BOUCLE_articles_rubriques1(ARTICLES){id_rubrique}{pagination 5}{doublons}>
      			<li>
                          	<a href="#URL_ARTICLE">
                              	<strong>[(#TITRE|supprimer_numero)]</strong><br />
      	                        [(#INTRODUCTION|couper{175})]
              	        </a>
                      	</li>
                      </BOUCLE_articles_rubriques1>
                  	</ul>
      		[<p class="pagination">(#PAGINATION)</p>]
                  	</B_articles_rubriques1>	
      </BOUCLE_Rub_Particuliere>
      </B_Rub_Particuliere>
      
      autres boucles
      </BOUCLE_rubrique_principal>
    • euhhh là j’atteins mon seuil d’incompétence. J’en suis désolé. Mais g aucune idée d’ou cela peut venir.

    Répondre à ce message

  • 2

    Bonjour,

    Si j’ai un compte administrateur, que nous appellerons « admin », et un compte visiteur, « visiteur », j’aimerais pouvoir autoriser l’accès d’une rubrique à ces deux comptes, tout en n’autorisant l’accès à une sous-rubrique qu’à l’admin.

    J’ai donc créé une première zone « restreinte » qui comprend ma rubrique, et une zone « super-restreinte » avec ma sous-rubrique. J’ai inscrit le compte admin aux deux zones, et le compte visiteur à la première.

    Le problème, c’est que le compte visiteur a bien accès à la deuxième zone. Par contre, il perd cet accès si je supprime la zone « restreinte ».

    J’utilise SPIP 1.9.2b [9381] et Acces Restreint 2.0.

    Merci d’avance.

    • En fait, j’ai l’impression que le plugin marche plus par autorisation que par restriction : si je crée un autre compte visiteur « quidam » et que je lui donne accès à la zone « super-restreinte », il y a accès, et ce même s’il n’a pas accès à la zone « restreinte », qui contient pourtant sa rubrique mère.

      Est-ce un comportement voulu, ou un bug ?

    • Pour le moment, accès restreint ne gère que des zones correspondant à des branches. Dons pas possible pour le moment de faire une zone administration au sein d’un espace membre. Par ailleurs, il y a effet un souci de vérification des droits : normalement pour avoir accès à une rubrique, il faudrait vérifier si on a également accès aux rubriques parentes.

      La question que tu soulèves ici est la problématique de l’héritage des droits, déjà évoqué plus bas. Une réflexion sur la future version V2 de Accès Restreint a été lancée sur Contrib : Accès restreint V2 - Les objectifs.

      Je t’invite à venir participer à la discussion pour faire évoluer le plugin.

      Cordialement

    Répondre à ce message

  • 1
    Léa Bozec

    bonjour,
    super ce plugin... Merci !!
    je l’ai installé avec le squelette Alternatives. ça fonctionne parfaitement quand je tape dans l’adresse du site http://nomsite.org/spip.php?page=login_public. Par contre, je ne sais pas comment faire s’afficher un bouton de connection à la zone restreinte, genre « Accès membre » ou « Adhérents » comme on le voit dans le site cfdt-scerao.fr/ dont il est fait référence dans l’article.
    merci de votre aide !
    Léa

    Répondre à ce message

  • 1

    Bonjour,
    J’ai une erreur que je ne parviens pas à résoudre, si vous pouviez m’aider ce serait formidable (après rech. Google, aucune solution trouvée, je précise) ; l’affichage de mon site, dès l’accueil, se solde par une erreur mysql :

    Unknown column ’tout_voir’ in ’where clause

    Si je désactive le plugin, l’erreur disparaît.
    Je rame complètement. Voici l’adresse de mon site : http://cett.as.free.fr/spip/
    Merci de votre attention que j’espère bienveillante ^__^

    Marion.

    PS : j’ai posé cette question dans une discussion en cours, mais elle ne semble pas consulter alors je la repose (avec qques précisions) en racine de forum.

    • Bonjour,
      j’ai rencontré le même problème sur une inclusion.
      L’erreur s’est résolue lorsque j’ai supprimé le critère racine de ma boucle.

      En espérant que cela puisse t’aider.

    Répondre à ce message

  • pasquet

    bonjour
    je voudrais faire fonctionner le plugin « accès restreint » avec le squelette « Alternatives »comment faire ? dans quel fichier de ce squelette doit-on insérer les commandes pour les 2 noisettes. ça paraît pas très simple
    peut-être quelqu’un a déjà fait l’expérience
    merci d’avance de l’aide.

    Répondre à ce message

  • Tout d’abord merci beaucoup pour cette contrib !

    Je voudrais juste signaler non pas un bug mais plutôt un défaut de comportement ?

    J’ai restreint plusieurs rubriques Ra/Rb/Rc avec une zone Z1.
    J’ai un administrateur restreint sur une rubrique Rx ET auquel je n’ai pas affecté la zone Z1.

    Conséquence, il ne doit pas avoir accès à la zone Z1, ce qui est bien le cas.
    Cependant, en allant sur son profil, en tant qu’administrateur restreint, il peut s’affecter la zone Z1 ou prire affecter la zone Z1 à un visiteur. Ce que évidemment, je ne souhaite pas !

    Pour conclure, l’affectation de la zone s’effectue par tout type d’administrateur (restreint ou non), alors que je pense qu’il faudrait que seul l’administrateur du site puisse affecter la zone.

    Idéalement, l’administrateur restreint devrait pouvoir créer et affecter des zones portant sur les rubriques où il est lui-même administrateur.
    Ouh ! Cela devient complexe ! :)

    Je tourne sous :
    Spip 1.9.2a
    Accès Restreint 2.0

    Répondre à ce message

  • 1
    Thierry91

    Bonjour,

    Et tout d’abord bravo pour le super boulot réalisé ...

    Une question cependant , existe il une version pour une restriction au niveau article ?

    En effet j’aimerais pouvoir appliquer une restriction sur un squelette type Sarka sur la galerie ..mais la galerie ne gère de multiples albums que par articles sous la rubrique racine Album par exemple ...

    Voilà, merci d’avance de votre avis éclairés sur ce sujet ...

    A bientôt ...

    • Joseph Larmarange

      La restriction par article n’est pas encore possible. Seule solution avec ce plugin, créer des sous-rubriques dans la rubrique Album ou bien développer un nouveau plugin.

      Cordialement

    Répondre à ce message

  • 4

    Bonjour
    j’ai bien placé le dossier acces_restreint_1_9 dans le dossiers plugins.
    Puis je suis allée dans config/gestion des plugins, j’ai coché le plugin, j’ai validé et... page blanche !! Et je n’ai plus accès à rien, même pas à l’administration de mon site.
    Cela revient quand je supprime le plugin dans le dossiers plugins.
    Où c’est que j’ai pas bon ?

    Zab

    • Guillaume

      Même problèmle pour moi... si ça peut stimuler une réponse !

    • Joseph Larmarange

      Quelle version de SPIP utilisez-vous ?

    • Guillaume

      J’utilise la version 1.9.1.
      Je cherche à installer ce plugin en complément du blog SpipClear qui, quant à lui, utilise le plugin MiniCal (est-ce là que ça coince ??).
      L’idée est d’avoir un site public auquel peuvent accèder le plus grand nombre, associé à un blog donc l’accès est restreint aux rédacteurs et administrateur.
      Merci par avance de l’aide.

    • Joseph LARMARANGE

      Pour une vserion SPIP 1.9.1 je vous suggère d’utiliser le zip disponible sur cette page.

      Le zip disponible sur Spip-Zone sera par contre plus approprié pour SPIP 1.9.2

      Cordialement

    Répondre à ce message

  • 2

    Bonjour

    c’est encore moi

    je crée mes auteurs, et l’option « visiteur » n’apparait pas. C’est bien ennuyeux, c’est ce qui m’intéressait dans ce plugin !!! Que se passe t -il ?
    J’ai spip 192 et la dernière version du plugin.

    ça commence à urger. Mon site doit être présenté en AG samedi prochain....

    à l’aide !!!

    zab

    • Joseph LARMARANGE

      Avez-vous activé l’inscription de visiteurs publics du site dans le paramétrage de SPIP ?
      (Page configuration du site, onglet Interactivité)

    • MERCI DE TOUT COEUR JOSEPH

      J’ai tellement le nez dedans que je ne vois plus les trucs de base !!!

      cordialement

      zab

    Répondre à ce message

  • 1

    Bonjour,

    Je souhaiterais savoir comment faire pour supprimer toutes les interactions de ce plugin possible avec celle du plugin agenda. Cela pour seule et unique raison que ces deux plugins ne peuvent pas fonctionner ensemble !

    Merci à tous !

    • Joseph LARMARANGE

      Supprimer la fonction autoriser_evenement_voir du fichier acces_restreint_options.php et la fonction boucle_EVENEMENTS du fichier acces_restreint.php.

      Pourriez-vous décrire le problème précis que vous rencontrez ainsi que les autres plugins activés sur votre site ?

    Répondre à ce message

  • Bonjour, j’ai installé la version 1.9.1 de ce plug-in et je cherche une solution pour pouvoir afficher spécifiquement dans un squelette une liste des visiteurs n’ayant pas encore été autorisés à pénétrer dans une zone restreinte.

    Je peux trier mes visiteurs via leur statut (6forum) mais je ne peux pas discriminer ceux autorisé de ceux non autorisés.

    Le but de la démarche étant de mettre en avant les visiteurs en attente de validation de leur demande d’accès à une zone restreinte.

    Merci d’avance
    SEB.

    Répondre à ce message

  • 1
    waters

    Bonjour,

    Je souhaiterais savoir si on peut autoriser l’accès à ce plugin aux admins restreints ?
    et si oui comment faire ?

    merci d’avance

    • Joseph LARMARANGE

      Je viens de modifier accès restreint en conséquence. Pour modifier l’accès à ce plugin aux admins restreints, il te suffit de créer une fonction autoriser_zone_modifier personnalisée dans ton fichier mes options.

    Répondre à ce message

  • 6

    Plugin impeccable et simple d’utilisation.

    Question : quand je désactive le plugin dois-je faire « autre chose en plus » pour retrouver le site « comme avant » ?

    merci

    Jean

    • Rien à faire de particulier sinon de désactiver le plugin, et éventuellement enlever les tables sql ajoutées via phpmyadmin, encore que ce ne soit absolument pas nécessaire. Pour le désactiver, le décocher, ou l’enlever du répertoire des plugins.

    • Merci de cette réponse rapide

      impeccable

      vive les plugins !
      Spip : rien à envier à personne ! même pas à ceux qui se disent plus grands, plus forts !

      Jean

    • Bonjour,

      Je me permet de réagir à ce message.

      En effet, en voulant installer le plugin « accès restreint par groupe », j’ai voulu désactiver le plugin « accès restreint » car ces derniers ne sont malheureusement pas compatibles. J’utilise spip 1.9.1.

      Et c’est là que les problèmes commencent :

      -  lorsque je décoches accès restreint, et que je valide, j’ai toujours accès aux fonctionnalités du plugin, même en supprimant les fichiers de cache de mon répertoire « CACHE » et même en supprimant mes fichiers temporaires/cookies de mon navigateur.

      -  Pire, lorsque je supprime le plugin physiquement du répertoire « plugin », je reste coincé sur la page « gestion des plugins » de l’espace privé... Si je cliques ailleurs dans l’espace privé, rien à faire, je réattéris sur cette page de gestion des plugins....

      -  Concernant, les tables à vider / supprimer de la bdd, je ne sait ni sur lesquelles agir et si l’on peut les supprimer complètement ou simplement les vider.

      Merci de m’éclairer en particulier sur le dernier point, si ça peut résoudre le reste...

    • Joseph LARMARANGE

      à partir de spip 1.9.2, lorsqu’un plugin installe des tables supplémentaires via les fonctions de spip, une fois le plugin activé, il apparait une petite icône à droite du nom du plugin en forme de carton avec un petit écureuil rouge dessus. (cet icône n’est visible que lorsque le plugin est activé).
      Si tu cliques sur cet icône, tu verras apparaître à gauche de l’icône un lien Effacer tout. Si tu cliques sur ce lien il se passe deux choses : suppression des nouvelles tables installées par le plugin en question (donc nettoyage de la base SQL) et désactivation du plugin.
      Il n’est donc pas nécessaire de passer par PHPmyadmin pour nettoyer la base de données SQL.

    • Le problème, c’est que je suis en version 1.9.1 et que tous mes autres plugin fonctionne avec cette version, je ne peux donc pas encore faire la maj... Et je reste bloqué là-dessus.
      PS : à la main, en allant dans les bases, j’ai pas réussi non plus à l’enlever proprement.

    • Joseph LARMARANGE

      Vous devez supprimer les tables spip_zones et spip_zones_rubriques

      Cordialement

    Répondre à ce message

  • 1

    Bonjour,

    Comme section IV.1 de l’article nous le dit :

    Ces tables sont sauvegardées automatiquement lors d’un dump dans l’onglet Configuration/Maintenance /Sauvegarde du site.

    En effet cela se fait.

    Mais lorsqu’on restaure ce dump SPIP (version 1.9.2a) les 3 tables appartenant à l’accès restreint ne sont pas restaurées (en tout cas, pas chez moi).

    Comme le dump SPIP peut seulement être utilisé avec le procédé de restauration SPIP, cela ne sert pas à grande chose de les sauvegarder de cette façon alors !

    Ai-je raté quelque chose ?

    • RealET m’a éclairé :

      ... la restauration ne pouvait marcher que sur des tables et champs déjà existants.

      Après essai, cela marche bien si les tables sont déjà en place. (C’est à dire pour la première restauration, il s’agit d’installer le plugin et créer une zone bidon pour forcer la
      création de tables.)

    Répondre à ce message

  • nddinechin

    Bonjour. J’ai deux petits soucis :

    1. J’ai adapté pour un intranet le squelette multilingue « Lebanon 1.9 » en y ajoutant le plug-in « Accès Restreint ». Sur mon serveur de test (SME6), tout fonctionne parfaitement. Par contre, sur mon serveur dédié OVH, impossible de changer la langue en autre chose que la langue par défaut. À toute requête du genre « www.monsite.org/?lang=en » par exemple, le serveur renvoie une succession d’erreurs de redirection 302 (constatées avec le logiciel Wireshark), et Firefox donne son message : « le serveur redirige la requete d’une façon qui ne peut aboutir ». Le problème disparait dès que je désactive le plug-in « Accès Restreint ». Bug ? Conflit ? Problème de mon serveur ? Problème dans la rédaction de certaines de mes boucles ? N’étant qu’un simple petit bidouilleur sans formation, j’avoue que je donne ma langue au chat.

    2. A tout hasard, comme la version de « Accès Restreint » que j’utilise est assez ancienne (v9564 - 10 février 2007 - dont j’ai modifié les JOIN en INNER JOIN), j’ai voulu mettre à jour : remplacement du dossier « Accès restreint » dans le dossier « plugins » par le dernier en date. Bilan : le filtrage devient maximal (alors que j’ai normalement accès à l’intégralité du site en zone publique et privée avec mon login), et les zones ne sont plus éditables (page blanche au moment d’enregistrer la configuration, et aucune modification n’est prise en compte). Même comportement sur mes deux serveurs. Mais tout revient dans l’ordre en revenant à l’ancienne version du plug-in. Là aussi, je sèche.

    Ah, je précise : je suis sous SPIP 1.9.2a (v8878 sur mon serveur dédié, v8782 sur mon serveur privé, mais je pense que ça n’a pas beaucoup d’importance...)

    Merci beaucoup d’avance pour vos lumières. Et encore bravo pour ce plug-in bien précieux !

    Répondre à ce message

  • Bonjour,

    Je souhaiterais savoir où se trouve le fichier « login-logout.html », ainsi que le fichier permettant de trouver la configuration des plugins ? Ceci afin d’utiliser la dernière partie de ce tutoriel concernant l’affichage de boutons conditionnels.

    Merci bien !!

    Répondre à ce message

  • 1
    Olivier

    Bonjour,

    Je voulais savoir si il était possible de rediriger la page vers la zone restreinte (rubrique) juste après connexion (login et mot de passe) d’un visiteur.

    Je m’explique, un visiteur x est rattaché à la zone y (une rubrique), est-il possible de se connecter directement à cette zone après avoir entré le login et le pass ?

    Merci de vos réponses,

    • Je voulais savoir si il était possible de rediriger la page vers la zone restreinte (rubrique) juste après connexion (login et mot de passe) d’un visiteur.

      Bonjour,

      Je n’ai pas eu ce problème. Avec .htaccess je redirige localhost/intranet vers la rubrique qui est à la tête de la zone restreinte. Lorsque j’y vais si je ne suis pas connecté le squelette qui contient les fichiers indiqués de la zip « noisettes » me demande de me connecter. Ceci fait je suis connecté directement à la rubrique en cours.

      Je ne suis pas sûr d’avoir compris où se trouve la difficulté, mais une réponse serait qu’il faut retourner la question, non pas : « être redirigé vers la zone restreinte après connexion » mais plutôt : quand on essaie de connecter à la zone restreinte, faire que le login intervient (si nécessaire) en cours de route.

    Répondre à ce message

  • 1

    bonjour à tous ..
    Je ne pense pas être aussi enthousiaste que d’autres utilisateurs. J’ai commencé l’install de ce plug-in, simplement parce que SPIP n’a pas de fonctionalité de protection de pages. la partie automatisée d’installation ne concerne qu’un « masque » de rubrique , c’est déjà très très bien, mais en gros cela fait disparaitre les rubriques aux utilisateurs non identifiés.. . Mais ensuite, il manque l’essentiel : ou est ce diable de formulaire d’inscription pour ce logger ? l’explication devient alors nébuleuse et réservée aux spipeurs experts : que sont les noisettes ? mystère , sans doute des patch, des rustines ? bref des bouts de codes.. On ne sait plus si apres « un petit effort » on lit bien « premier effort » sans trouver le deuxieme.. et voir un troisieme un quatrieme etc etc . On ne sait plus si l’on est encore dans le tutorial ou dans une explication de fonctionnement... rien est clair pour le néophyte que je suis et surtout pour mettre en place rapidement cet ensemble.. ou trouver le formulaire de login ? dans la dist de SPIP.. ok .. et c’est quoi une dist ? Un simple #LOGIN_PUBLIC suffit , lis-je encore .. c’est bien , mais alors je suis pas au niveau et ça me fait sentir bête, car pour moi ceci est un debut de fonction php ou quoi d’autre ? et comment le mettre en oeuvre ? bref .. tout ça semble un peu réservé à une communauté tres spécialisée , SVP n’utilisez pas de jargon, sinon, on s’y perd

    Faites le plus possible des etapes claires, avec des procédures linéaires et chiffrées..
    merci

    • ou est ce diable de formulaire d’inscription pour ce logger

      Bonjour, As-tu utilisé les fichiers inc_identification_sedeconecter.html et inc_identification_visiteurs.html qui sont dans le zip : Acces_restreint_noisettes4.zip et suivi les instructions qui sont dans ces fichiers (how_to.txt) ?

    Répondre à ce message

  • Jacques

    Bonjour,

    Je voulais savoir si avec ce plugin on pouvait restreindre directement l’accès à une sous-rubrique en la créant, c’est à dire sans passer par les zones.

    Par exemple, en créant un bouton « restreindre cette rubrique », lorsque l’on crée la rubrique.

    Biensur, il faut changer le code source, mais cela est-il possible avec ce plugin ?

    Merci de votre réponse,

    Répondre à ce message

  • 3

    Bravo pour ce plugin. Cependant, j’ai un bug dans un site multilingue. Quand un administrateur/rédacteur/visiteur düment identifié appele l’adresse (par exemple) “http://monsite/?lang=fr” en présence des noisettes login&déconnexion sur la page en question , le serveur redirige la demande d’une manière qui n’aboutit pas. Aucune page n’apparait. Il y a une redirection de page incorrecte.

    En résumé, un administrateur/rédacteur/visiteur identifié ne peut pas ouvrir l’adresse “http://monsite/?lang=fr” si sur la page publique “http://monsite/” se trouvent des noisettes de connection/déconnection.

    Explications ? Trop de redirections peuvent survenir en tentant d’ouvrir par exemple“http://monsite/?lang=fr”. Je pense que cela se produit lorsqu"on ouvre une page qui est redirigée vers une autre page laquelle se redirige à son tour vers la page originale.

    Je suis incompétent pour résoudre ce problème. Mais ma question est simple : comment peut-on sans soucis utiliser ce plug-in sur un site multilingue avec des pages pleines de noisettes ?

    • J’ai trouvé le bug.
      La noistte inc_identification_sedeconecter.html doit être réécrite de tel manière

      #CACHE3600
      [(#REM) Deconnection ]

      <?php if ($auteur_session) { ?>

      <?php echo $auteur_session['nom']; ?>

      Vous êtes authentifié,
      Se déconnecter

      <?php } else {} ?>

      #LOGIN_PUBLIC

      <?php } ?>

      Et là, ca marche sur un site multilingue.
      Merci. De rien !
      Alexis

    • PAr contre cette méthode pose des problèmes de double affichage de la noisette de connection. Tout le problème est d’avoir séparé les noisettes de connection et déconnection ! En les réunissant, plus de problème sur site multilingue.
      Un exemple de noistte qui fonctionne :

      #CACHE3600

      [(#REM) Deconnection ]

      <?php if ($auteur_session) { ?>
      <?php echo $auteur_session['nom']; ?>

      #LOGIN_PUBLIC

      <?php } else { ?>

      [(#REM) Connection]

      #LOGIN_PUBLIC

      mot de passe oublié ?

      <?php } ?>
    • David Forgeron

      Tout d’abord merci beaucoup pour cette astuce qui m’a bien dépanné.

      Ensuite, juste une remarque concernant ta « méthode » pour éviter le double affichage ; le premier #LOGIN_PUBLIC n’est pas nécessaire, il affiche un champ login alors que l’on est déjà identifié et pose problème (impossible de changer de langue) lorsqu’on est connnecté en tant qu’administrateur.

      Du coup, voici ce que donne ma noisette :

      #CACHE3600
      [(#REM) Deconnection ]

      <?php if ($auteur_session) { ?>

      <?php echo $auteur_session['nom']; ?>

      logout

      <?php } else { ?>

      [(#REM) Identification ]

      Extranet

      #LOGIN_PUBLIC

      mot de passe oublié ?

      <?php } ?>

      Merci encore à la communauté spipienne d’aporter des réponses avant qu’on ne se pose les question ;-)

      David

    Répondre à ce message

  • cyrille

    est-il possible de programmer un login pour la page d’acceuil (sommaire) pour un visiteur venant de l’extérieur à travers www.monsite.org par exemple ?

    je voudrais créer un intranet

    merci

    Répondre à ce message

  • Bonsoir,

    Merci à tous qui ont travaillé sur ce plugin. En essayant de l’utiliser aujourd’hui, j’ai noté trois choses.

    1) La seule vraie difficulté : Quand un visiteur authorisé est connecté, inc_identification_sedeconnecter.html affiche le #LOGIN_PUBLIC en permanence. Le problème ne se présente pas dans les cas des rédacteurs et admins. Je n’ai pas compris pourquoi.

    Pour l’instant j’ai résolu ce problème en enlevant la balise #LOGIN_PUBLIC de ce fichier, où elle n’est pas, je pense, nécessaire (ou bien ?).

    2) Dans l’article ci-dessus, section V, l’url
    http://www.domaine.net/?exec=auteurs&visiteurs=oui devrait être, je pense,
    http://www.domaine.net/ecrire/?exec=auteurs&visiteurs=oui

    3) Vraiment très mineur : dans inc_identification_visiteurs.html un slash à la fin de la balise <img... /> permettrait celle-ci d’être conforme XHTML.

    Répondre à ce message

  • 1
    Philippe G.

    Bonjour,
    J’ai un problème avec ce plugin : il a marché, mais depuis peu je ne peux plus cocher la case « Restreindre l’accès à cette zone dans la partie publique » ni d’ailleurs « Restreindre l’accès à cette zone dans l’espace privé » : les modifications même du titre de la zone ne sont plus pris en compte. J’ai essayé de réinstaller le plugin sans succès. Je ne vois pas trop où chercher !

    • Le problème persiste-t-il avec la dernière version du plugin disponible sur la zone ?

    Répondre à ce message

  • 1
    dominique

    Bonjour et merci pour le plugin
    Je l’ai installé une première fois et il a bien marché
    Mais après une re-installation de spip et du plugin les articles cochés en accès réservés restent visibles
    mon site :
    http://www.nuage-pluie.com/
    J’utilise le squelette RECIT-FP
    une idée
    merci

    • As-tu correctement vidé le cache après ta réinstallation ?

      Quelles sont les rubriques qui ne sont pas censées être visibles par un visteur non authentifié ?

      Voici les secteurs qui me sont accessibles en me connectant à ton site :
      -  Aïkido
      -  Taï chi chuan
      -  Liens
      -  Mediagraphie
      -  Nuage-Pluie
      -  Qi Gong

    Répondre à ce message

  • 7

    Salut !

    Peut-être devriez-vous changer l’introduction à cet article (« ... permet de définir et de gérer des zones de l’espace public ... ») : je cherchais le filtrage de l’espace privé, et après avoir lu l’intro j’ai failli ne pas lire plus loin.

    Avec un SPIP 1.9.2a (mis à jour ce soir depuis la branche 192 SVN) j’ai installé le plugin et créé une rubrique et sous-rubrique protégées pour l’espace privé et publique. Et les rubriques sont bien invisibles pour ceux qui ne sont pas attribués à la zone créée. Mais malheureusement je vois que loggué comme admin restreint, n’étant pas membre de la zone, je peux, en allant à la page de l’auteur, m’attribuer la zone, et l’attribuer aux autres ! Tout devient visible. Ai-je raté quelque chose, ou est-ce un bug ?

    • Merci pour l’intro Paolo. C’est corrigé et dû au fait que l’acces privé restreint ne s’est fait que récémment. Pour tes remarques regardes du côté du post de Joseph LARMARANGE plus bas et http://joseph.larmarange.net/Plugin....
      Sinon il faudrait voir avec Cédric dans quelle mesure il pense pouvoir tenir compte des propositions de Joseph. Alexandra

    • LARMARANGE Joseph

      Suite à l’accord de cédric, je vais commiter sous peu les propositions de modifications annoncées plus bas.

    • Les droits des administrateurs restreints ont été modifiés sur SVN. Voir la documentation ci-dessus qui a été mise à jour en conséquence.

    • Bonsoir !

      Hmm... Cela ne marche toujours pas pour moi. J’ai supprimé les 3 tables de l’ancienne version, et la ligne dans spip-meta. Ensuite installé la nouvelle version depuis ici.

      Comme administrateur général j’ai créé une zone restreinte à la fois publique et privée. Ensuite je me suis déloggué. Puis reloggué comme admin restreint. La zone n’est pas visible - bien ! Mais je peux toujours aller à ma propre page d’auteur (d’admin restreint donc) et m’attribuer la zone restreinte, qui devient alors visible !

      Est-ce que j’ai pris le mauvais fichier, ou mal installé, ou est-ce que cette faille est toujours présente ?

    • Joseph LARMARANGE

      La modification a été effectuée sur le serveur SVN le 17 avril à 21h30 (révision 11379 - Voir la liste des modifications sur SVN.

      Au moment où j’écris, le fichier présent ici a été généré le 17 avril à 18h01 et celui présent ici à 18h30. Ils n’intègrent donc pas encore les modifs.

      Deux possibilités : récupérer la dernière version via SVN ou bien attendre la mise à jour des fichiers zip.

      Cordialement,

    • Aha ! Merci. Mais alors les infos données sur cette page, « Un site miroir contient les zip complets et détaillés (version en l’état chaque jour aux alentours de 5h) », ne sont pas justes ou bien il y a une malfonction quelque part. Car nous sommes maintenant le 19 et la date du fichier zip est toujours le 17.

    • Je viens d’installer en utilisant SVN. La nouvelle version marche très bien. Merci beaucoup !

    Répondre à ce message

  • 3
    Joseph LARMARANGE

    Afin de répondre à certains besoins personnels, j’ai apporté quelques modifications au plugin Accès Restreint de Cédric Morin.

    Les Modifications effectuées :

    Les modifications apportées sont les suivantes :
    -  Modification des droits des administrateurs restreints : dans le plugin original, un administrateur restreint peut ajouter ou retirer un auteur de n’importe quelle zone, y compris lui-même. Dans le plugin modifié, un administrateur restreint ne peut ajouter ou retirer une zone à un rédacteur seulement s’il appartient lui-même à la zone concernée.
    -  Gestion des accès publiques/privées rubrique par rubrique : dans le plugin original, une zone restreint l’accès soit à l’espace publique soit à l’espace privé. Or, il se peut que pour une rubrique donnée, on souhaite qu’elle soit accessible sur le site publique mais pas dans l’espace privée pour un groupe donné de rédacteurs. Dans le publique, les zones accessibles d’une zone sont définies séparément pour le site publique et l’espace privé, permettant ainsi une gestion plus fine des droits pour une zone donnée.
    -  Modification de l’héritage des droits : dans le plugin original, lorsqu’une rubrique est cochée pour une zone, toutes ses sous-rubriques deviennent accessibles quelque soit les restrictions posées aux autres zones. Dans le plugin modifié, une sous-rubrique non cochée dans une zone hérite de droits des rubriques parentes uniquement si elle n’est pas défini explicitement. (Voir http://joseph.larmarange.net/Plugin... pour un exemple.

    Les modifications ont été effectuées sur la version du 27 février 2007 du plugin Accès Restreint disponible sur sur Spip-Zone. Dans le code, toutes les modifications sont précédées du commentaire //JL ou //MODIF JL.

    Les modifications sont disponibles sous la forme d’un plugin. Celui-ci n’a été testé qu’avec SPIP 1.9.2. Pour plus de détails et télécharger la version modifiée : http://joseph.larmarange.net/Plugin....

    Encore merci à Cédruc pour ce très bon plugin.

    • Joseph LARMARANGE

      J’oubliai, cette version modifiée inclue également une extension de la restriction à la boucle EVENEMENTS du plugin Agenda si ce dernier est activé. La restriction porte sur le site publique uniquement. Concernant l’espace privé, l’ensemble des évènements restent visibles à tous via l’agenda interne. (Je n’ai pas encore trouvé une façon simple de filtrer les évènements sur la page calendrier).

      Au passage encore merci à Cédric Morin qui s’avère être également l’auteur du plugin Agenda.

    • Joseph LARMARANGE

      Certaines personnes me disent que je devrais commiter ces modifications sur spip-zone. Avant d’intervenir, je pose donc ici la question de savoir si je devrais commiter toutes les modifications proposées ou seulement certaines d’entre elles.

      En fonction des réponses, j’irai ensuite commiter ces propositions sur la zone.

    • wattazoum

      Je trouve triste que personne ne reponde. Je pense (mais je ne suis au’humble utilisateur ) que s’il est possible de desactiver tes fonctionnalites tu devrais les comitter, c’est toujours un + .

    Répondre à ce message

  • 3
    Rodolphe

    bonjour,
    comme d’autres sur ce forum, je constate que des fois le plugin marche et des fois non.

    pour moi :
    -  sur une site hébergé sur OVH le plugin marche parfaitement,
    -  mais sur un autre site sur Nfrance, une fois le plugin installé impossible de définir une zone restreinte, la rubrique ne reste pas cochée dans « Rubriques de la zone ».
    (dans les 2 cas c’est avec : SPIP 1.9.2a et Acces Restreint 2.0)

    si quelqu’un à trouvé la solution , ça m’aiderai bien, je n’ai pas trouvé de réponse dans le forum ci-dessous ou ailleurs sur le net.

    merci d’avance

    • J’ai exactement le même problème sur Skynet.
      Pourtant, cela marchait impec avec la 1.9.1, chez le même hébergeur.

      FDM

    • Mon hébergeur est arsys. Malgré un clic sur le bouton enregistrement et la version SPIP 1.9.2a [8878]. J’ai le même problème. En local avec une installation xampp, je ne rencontre pas ce problème.

    • Merci pour la solution, ca fonctionne parfaitement :

      « ... il faut modifier le script acces_restreint_1_9/inc/acces_restreint.php en remplacant tous les JOIN par des INNER JOIN (3 occurences). ... »

    Répondre à ce message

  • 1
    J-L Lienhard

    Cette contribution est très prometteuse et correspond exactement à ce que je cherche. J’ai encore un problème lorsque les visiteurs tentent de se connecter. Ils reçoivent le message :

    Problème d’accès à l’espace privé

    Vous avez tenté de d’accéder à l’espace privé avec un login qui ne le permet pas.

    Alors que j’aimerais justement pas que ce visiteur se connecte à l’espace privé, mais simplement accède à la partie restreinte du site.

    Il me semble avoir bien créé mon visiteur en lui donnant le droit d’accéder à la zone restreinte. J’ai imposé l’inscription obligatoire pour la participation au forum et interdit l’inscription automatique des rédacteurs, créé également un article avec un forum sur abonnement.

    Qu’ai-je oublié de faire ? Un grand merci à toute personne qui pourra me mettre sur la piste d’une solution

    SPIP 1.9.2a [8878]

    • J-L Lienhard

      Après quelques heures d’essais-erreurs, j’ai résolu mon problème. Il provenait d’une part d’une modification du nom du fichier login_public.html en formulaire_login.html d’une version à l’autre de Spip et d’autre part d’une confusion de ma part entre les balises #LOGIN_PUBLIC et #LOGIN_PRIVE

    Répondre à ce message

  • 4
    Jean-Louis

    Situation sensiblement identique à celle décrite par Jacques le 17 mars dernier : un grand bravo pour ce plugin fort utile... mais qui ne fonctionne pas tout le temps.

    Le pluggin acces restreint 2.0 et SPIP 1.9.1 rev7502 ou 1.9.2 fonctionne très bien en local sous Easyphp (version 1.8, php 4.3.10) et chez Free mais pas sur d’autres serveurs (php 4.2.2).

    Le problème : les rubriques affectées à une zone sont bien inscrites dans la base de données mais elles n’apparaissent pas colorées dans le plugin et ne sont pas masquées à l’affichage public.

    Ci dessous un extrait du fichier /tmp/spip.log correspondant à l’erreur en retour de l’inscription de rubriques sur la zone restreinte numéro 2.

    Mar 21 15:15:39 194.214.72.3 (pid 11083) Mar 21 15:15:39 194.214.72.3 (pid 11083
    ) 1064 You have an error in your SQL syntax near ’ON zr.id_zone=z.id_zone WHERE
    zr.id_zone=2’ at line 1

    Mar 21 15:15:39 194.214.72.3 (pid 11083) Mar 21 15:15:39 194.214.72.3 (pid 11083
    ) POST / www/spip/docenligne/ecrire/ ?exec=acces_restreint_edit&id_zone=2

    Mar 21 15:15:39 194.214.72.3 (pid 11083) Mar 21 15:15:39 194.214.72.3 (pid 11083
    ) - SELECT zr.id_rubrique FROM cr_docenligne.spip_zones_rubriques AS zr JOIN
    cr_docenligne.spip_zones AS z ON zr.id_zone=z.id_zone WHERE zr.id_zone=2

    Mar 21 15:15:39 194.214.72.3 (pid 11083) Mar 21 15:15:39 194.214.72.3 (pid 11083
    ) 1064 You have an error in your SQL syntax near ’ON zr.id_zone=z.id_zone WHERE
    zr.id_zone=2’ at line 1

    Merci pour la suite possible à ce témoignage.

    • Jacques

      Effectivement après plusieurs tests sur un SPIP 192a vierge + access restreint 0.2 :
      OK en local (easyphp)
      OK sur free
      Problème décrit ci dessus sur OVH dédié (readhat 7.2)

      • PHP Version 4.4.2
      • mySQL 3.23.58
        A suivre ...
    • Rodolphe

      J’ai le meme probleme que tu décris le 17 mars avec l’hébergeur Nfrance. (avec : 192a vierge + access restreint)

      j’ai fait un essai sur OVH et ça marche (type d’hébergement : start1g)

      Sur Nfrance c’est un sous-domaine, es-ce une explication possible ?

    • kagemusha

      Même problème pour moi.

      La solution qui a marché chez moi :
      Remplacer les « JOIN » par « INNER JOIN » dans inc/acces_restreint.php (3 lignes en tout).

      Certaines versions de mysql n’acceptent pas la commande « JOIN » en l’occurence la 3.23 pour mon cas.

    • Rodolphe

      Merci pour l’info, ça marche !

    Répondre à ce message

  • 1

    Bonjour,

    Tout fonctionne parfaitement en local (en 1.9.2a), mais par contre impossible de définir une zone restreinte en ligne : j’ai beau cocher une rubrique, elle n’est pas prise en compte.
    Si je retourne vers « Rubriques de la zone » rien n’est coché.

    C’est surement lié à l’hébergeur (serveur académique), mais je n’ai aucune piste à leur fournir...

    Si vous avez une idée...

    • Le problème a été identifié par les responsables du serveur.
      Voici leur réponse :
      « Le problème vient de la version du mysql que nous utilisons : il faut modifier le script acces_restreint_1_9/inc/acces_restreint.php en remplacant tous les JOIN par des INNER JOIN (3 occurences). Tout fonctionne alors beaucoup mieux. »

      Effectivement tout fonctionne correctement.

    Répondre à ce message

  • webzone

    Bonjour,

    Je teste le plugin « Accès restreint » et aussi « Accès restreint par groupes » sur deux sites de test différents, vu incompatibilité d’humeur.
    J’avais posté dans « Accès restreint par groupes » pour demander s’il y avait une possibilité de faire des accès par plage d’adresses IP (intéressant pour des Intranet d’entreprises qui ont différentes succursales).
    Voici un bout de code réunissant deux contributions trouvées sur le web, si cela peut-être utile. Par contre je ne vois pas comment les incorporer dans un plugin SPIP.

    <?php
    // code permetaant la vérifcation que l'IP est bien dans la plage
    function verifPlageIP($IP,$PlageIP) {
    	$result=TRUE;
    	$tabIP=explode(".",$IP);
    	/*echo "

    tabIP:

    ";
    	print_r($tabIP);
    	echo "

    " ;*/
    if(is_array($PlageIP))
    /*echo « 

    PlageIP :

    ";
    		print_r($PlageIP);
    		echo "

     » ;*/
    foreach($PlageIP as $valeur)
    $tabPlageIP[]=explode(« . »,$valeur) ;

    for($i=0 ;$i<4 ;$i++)
    if(($tabIP[$i]<$tabPlageIP[0][$i]) || ($tabIP[$i]>$tabPlageIP[1][$i]))
    $result=FALSE ;



    else
    $tabPlageIP=explode(« . »,$PlageIP) ;
    /*echo « 

    tabPlageIP :

    ";
    		print_r($tabPlageIP);
    		echo "

     » ;*/
    for($i=0 ;$i<4 ;$i++)
    if(($tabIP[$i] !=$tabPlageIP[$i]))
    $result=FALSE ;



    return ($result) ;

    // fonction pour trouver l’IP même derrière un proxy
    function get_ip_proxy()
    if (isset($_SERVER[’HTTP_XFORWARDED_FOR’]) && $_SERVER[’HTTP_X_FORWARDED_FOR’] !="")
    if(strchr($_SERVER[’HTTP_X_FORWARDED_FOR’],’,’))
    $tab=explode(’,’,$_SERVER[’HTTP_X_FORWARDED_FOR’]) ;
    $proxy=$tab[count($tab)-1] ;
    $realip=$tab[0] ;

    else
    $proxy=$_SERVER[’REMOTE_ADDR’] ;
    $realip=$_SERVER[’HTTP_X_FORWARDED_FOR’] ;

    elseif(isset($_SERVER[’HTTP_CLIENT_IP’]))
    $realip = $_SERVER[’HTTP_CLIENT_IP’] ;

    else
    $realip=$_SERVER[’REMOTE_ADDR’] ;

    return $realip ;

    // Mettre ici la plage IP de votre réseau local
    // $plageIP=array("deb"=>« 192.168.0.0 »,« fin »=>« 192.268.254.254 ») ;
    $plageIP=array(« deb »=>« 127.0.0.0 »,« fin »=>« 127.254.254.254 ») ;
    // ou une adresse IP seule
    //$plageIP=« 192.168.0.180 » ;

    // Trouve votre véritable adresse IP même derrière un proxy
    $yourIP=get_ip_proxy() ;
    // Ou l’entrer en dur
    //$yourIP=« 192.168.0.180 » ;

    echo « 

    Votre IP est : ».$yourIP."

    " ;
    if(verifPlageIP($yourIP,$plageIP))
    // mettre ici le code pour bonnes pages
    echo « 

    Votre adresse IP est valide !

     » ;

    else
    // mettre ici code pour re router
    echo « 

    Votre adresse IP n’appartient pas à la plage réseau autorisé !

     » ;

     ?>

    Répondre à ce message

  • Je recopie « dans son jus » cet intéressant message de ce jour sur la liste Spip-user

    De : BoOz
    Date : 4 avril 2007 14:18:16 GMT+02:00
    À : spip@rezo.net
    Objet : Rép : [Spip] Pour plug in « accès restreint ». Re : principe des mots clés.

    Hello Agnès,

    Alors le plugin acces restreint ne fonctionne pas avec un mot clé, mais avec des rubriques.

    C’est à dire qu’il faut placer le contenu restreint dans une rubrique, et dans le plugin definir un acces restreint sur une zone a laquelle appartient cette rubrique.

    Ensuite, il faut ajouter chaque utilisateur autorisé dans la zone d’acces restreint en question.

    Bref, c pas simple simple.

    Sinon tu as le plugin acces restreint par groupe. Il est un peu different dans le sens ou c’est le statut des auteurs qui determine s’il y a acces ou pas. Essaye ca peut etre ?

    Enfin, tu peux le faire avec une ruse, en ajoutant un code de redirection dans la page article.html et idem dans rubrique.html,
    spipcarto a donné les boucles récemment :

    Spipcarto a écrit :

    Depuis Spip 1.7.2, je fais du squelette par mot clé avec ... un squelette. Ce squelette s’est largement simplifié avec les GET et les SET d’ailleurs.

    J’ai un groupe « _sq_squelettes » avec des mots du genre « _large »,
    « _agenda », ...
    En 1.9.2, voila ce que ca donne pour rubrique.html :

    #CACHE{7*24*3600}
    <BOUCLE_rubrique_principal(RUBRIQUES){id_rubrique}>
    <BOUCLE_MOT_SQUELETTE(MOTS){id_rubrique}{type=_sq_squelettes}{0,1}>
        #SET{sq_squelette,rubrique#TITRE}
    </BOUCLE_MOT_SQUELETTE>
        #SET{sq_squelette,rubrique}
        <BOUCLE_HIERARCHIE(HIERARCHIE){inverse}>
    
    <BOUCLE_MOT_SQUELETTE_PARENT(MOTS){id_rubrique}{type=_sq_squelettes}{0,1}>
    	[(#GET{sq_squelette}|=={rubrique}|?{' ',''})
       		#SET{sq_squelette,rubrique#TITRE}
    	]
         </BOUCLE_MOT_SQUELETTE_PARENT>
        </BOUCLE_HIERARCHIE>
    <//B_MOT_SQUELETTE>
    <INCLURE{fond=#GET{sq_squelette}}{id_rubrique}{self=#SELF}>
    </BOUCLE_rubrique_principal>

    Avec un mot « _sq_squelettes:_agenda » sur la rubrique ou un de ses parents, c’est rubrique_agenda.html qui est appelée.

    Attention par contre à passer tous les parametres necessaires à l’inclusion.

    en 1.9.3, ca donnera : <INCLURE{fond=#GET{sq_squelette}}{env}>

    Chaque nouvelle version apporte son lot de simplification.

    @++

    PS : pour l’article, ca doit donner

    #CACHE{7*24*3600}
    <BOUCLE_MOT_ARTICLE(MOTS){id_article}{type=_sq_squelettes}{0,1}>
        #SET{sq_squelette,article#TITRE}
    </BOUCLE_MOT_ARTICLE>
        #SET{sq_squelette,article}
       <BOUCLE_ART(ARTICLES){id_article}>
        <BOUCLE_HIERARCHIE(HIERARCHIE){inverse}>
    
    <BOUCLE_MOT_SQUELETTE_PARENT(MOTS){id_rubrique}{type=_sq_squelettes}{0,1}>
    	[(#GET{sq_squelette}|=={#TETRIS_TEMPLATE/article}|?{' ',''})
       		#SET{sq_squelette,#TETRIS_TEMPLATE/article#TITRE}
       	]
         </BOUCLE_MOT_SQUELETTE_PARENT>
        </BOUCLE_HIERARCHIE>
       </BOUCLE_ART>
    <//B_MOT_ARTICLE>
    <INCLURE{fond=#GET{sq_squelette}}{id_article}{self=#SELF}>

    PS2 : rien de tout cela n’est testé, comme d’ab, mais sauf faute de frappe, ca doit etre ca.

    Répondre à ce message

  • Je ne parviens pas à afficher les rubriques définies dans les zones restreintes et seulement ces rubriques là. Pour l’instant, j’ai défini ces rubriques par leur numéro (il n’y en a que deux heureusement) mais j’aimerai autant pouvoir identifier seulement les rubriques à accès restreint. Peut-être que la solution est très simple... (c’est pour mettre dans une « boîte à outils » dans le menu de navigation).

    Si la question a déjà été posée (et donc la réponse donnée...), je ne l’ai pas trouvée.

    Répondre à ce message

  • 1

    Bonjour,

    J’utilise ce plugin très bien fait mais il suffit de taper dans l’url l’emplacement des images comme monsite/IMG/pdf (ou ppt ou doc) et on voit tous les documents liés aux articles y conpris les documents liés aux articles non acessibles (pdf, ppt, doc..) que l’on croit à l’abrit des regards ! Le site est sur free et pas moyen d’utiliser une solution classique avec .htaccess.
    Y a t-il une parade ?

    • En fait contrairement ce qui se dit sur de nombreux forums l’utilisation d’un fichier « .htaccess » est possible sur free, la syntaxe par contre est différente, tout est expliqué sur une faq de free sur :

      http://www.assistancefree.fr/v1/faq/?forfait=fhd&rac=288/285

      Est possible de restreindre l’acces à un dossier (et ses sous dossiers) par un ou plusieurs couples d’identifiants/mots de passe grâce à un fichier .htaccess.
      Pour cela, il faut suivre ces indications :

      Créer un fichier texte sous le nom simple de « .htaccess » sans extension aucune et en veillant bien à mettre le point devant « .htaccess ».

      Les lignes à entrer dans ce fichier sont les suivantes :
      PerlSetVar AuthFile /chemin_du_dossier/fichier_de_mots_de_passe
      AuthName « Acces Restreint »
      AuthType Basic
      require valid-user

      Ce fichier est à placer directement dans le dossier à sécuriser.

      Créer un fichier texte contenant le ou les couples d’identifiants, exemple :
      administrateur:super_mot_de_passe
      utilisateur:youpi

      Il est possible de placer ce fichier n’importe où sur l’espace web.
      Pour que les dossiers ne soient pas accessibles, il faut créer un autre fichier .htaccess avec, à l’intérieur de celui-ci, « deny from all », ce qui bloquera l’accès au dossier (Et sous dossiers ) automatiquement.

    Répondre à ce message

  • 2

    Bonjour,

    ce plugin fonctione très bien, mais je viens de découvrir ce qui est pour moi une très très grosse faille : les pièces jointes à un article restreint ne sont aucunement restreintes, elles ! Or dans mon cas, c’est justement ce sur je veux protéger : des documents réservés aux adhérents de mon association, qui sont uploadés sur mon SPIP en tant que documents attachés à un article. Or, tout est accessible pour qui veut bien se contenter de consulter le répertoire www.monsite.org/spip/IMG/pdf/ par exemple.

    Quelqu’un a-t-il une idée ?

    Merci !
    Yves

    • 2 solutions :

      • mettre un index.html vide dans chacun des dossiers de IMG pour interdire de lister son contenu
      • mettre un .htaccess dans IMG/ avec dedans : IndexIgnore *
    • Merci pour cette réponse (la deuxième).
      Cependant, je pense que nous ne sommes pas les seuls à vouloir par défaut protéger le contenu du répertoire IMG.
      Il faudrait peut-être penser à ce fonctionnement là par défaut, ou au moins en option pour ce plugin, si c’est possible.

    Répondre à ce message

  • 1

    Je souhaiterais pouvoir lister les auteurs qui sont dans la même zone restreinte que moi.

    Quelqu’un a-t’il une idée de boucle ?

    FDM

    • Avec le plugin Balise Session, tu peux récupérer ton Id d’Auteur.

      Ensuite, tu peux faire une Boucle sur la table spip_zones_auteurs pour trouver les zones de cet auteurs.

      Et ensuite, boucler de nouveau sur spip_zones_auteurs pour trouver les auteurs des zones trouvées.

    Répondre à ce message

  • Bonjour,

    Je viens d’installer le plugin sur un spip 1.9.2 tout neuf sans squelette modifié (sauf inc-head pour la feuille de style), autre plugin etc. Et ça fonctionne tres bien pour la partie privé, je ne vois pas la rubrique restreinte, mais cela ne change rien sur la partie publique alors que la rubruque est bien définie restreinte en privé ET public ...

    Une petite piste svp ?

    Répondre à ce message

  • 1
    Jean-Marc Deleuze

    Bravo pour ce travail !
    Peut-être un souci à signaler : il me semble que l’envoi de l’annonce des nouveautés (accessible par « Ecrire / Configuration du site / Interactivité ») est bloquée par ce plugin d’accès restreint. Faut-il modifier « dist/nouveautes.html » et commment ?

    • Même problème de mon côté : je souhaiterais que les administrateurs et rédacteurs autorisés puissent recevoir par mailing liste automatique l’ « Annonce des nouveautés ».

      Or en cochant cette option seulement les nouveautés des rubriques non protégées sont eenvoyées.

      Quelqu’un saurait comment envoyer l’annonce de toutes les nouveautés, rubriques protégées et non protégées ?

    Répondre à ce message

  • jacques

    Bonjour,
    Bravo pour ce greffon même s’il me donne du soucis depuis quelques jours.
    Depuis SPIP 1.9.2 ça ne fonctionne plus. J’ai essayé les solutions mentionnées ci dessous mais rien n’y fait :
    dans Zones d’accès restreint il est impossible de choisir la rubrique de la zone, la sélection n’est pas prise en compte.
    les zones déjà définies ne sont plus protégées et tout le site est accessible.
    Je suis chez OVH avec SPIP 1.9.2a et le pluggin acces restreint 2.0.
    Quand je clique sur la boite « effacer tout » les tables spip_zones sont bien effacées et recrées quand j’active le pluggin.
    Je suis bien embété ..... mais bon qqu’un a surement une petite idée !
    Merci ++

    Répondre à ce message

  • 2

    Bonjour,

    Ce plugin est super pratique et fonctionne bien. Cependant, j’aimerais pouvoir afficher le logo de l’auteur (photo) dans le module « inc_identification_sedeconecter » au dessus du nom. J’ai essayé avec une boucle et une balise #AUTEUR, mais rien ne s’affiche... Une idée ?

    • Je voulais dire la balise #LOGO_AUTEUR évidement...

    • Et bien voilà, il suffit d’installer le plugin #SESSION et le tour est joué !

      <BOUCLE_auteurs(AUTEURS) {id_auteur=#SESSION{id_auteur}}>
      [(#LOGO_AUTEUR)]
      </BOUCLE_auteurs>

      Mettre le cache du module à placer avec INCLUDE à 0 ou sinon, la photo de l’auteur précédent apparaît encore.

    Répondre à ce message

  • Je suis debutant et pas tres calé niveau programation
    J ai sur mon site plusieurs rubriques dont une en acces restreint.
    Chaque rubrique contient des articles.

    Je voudrai faire un sommaire et lister pour le visiteur sans acces aussi bien les titres des articles de la section publique que les articles de la section à acces restreint, avec les links le dirigeant soit vers une page article soit vers l’intro de de l’article en acces restreint avec le formulaire de login (inscription)

    Merci de votre aide

    Répondre à ce message

  • 2

    Bonjour,

    J’ai installé ce plugin sans souci et en félicite l’auteur.... Il me reste un pb à régler avec le choix de la page qui est renvoyée à l’issue de l’identification.
    Par ex je suis sur une rubrique et je veux m’identifier. J’ai fait un lien de ce type sur la page rubrique :
    #URL_PAGEinc_identification_visiteurs_rub,id_rubrique=#ID_RUBRIQUE

    Sur la page inc_identification_visiteurs_rub.html j’ai mis le #LOGIN_PUBLIC ds une boucle rubrique ainsi :

    BOUCLE_id_rub(RUBRIQUES)id_rubrique
    [(#LOGIN_PUBLIC|spip.php ?page=sommaire)]
    /BOUCLE_id_rub

    Bien sur, ça me renvoie sur la page sommaire car je ne sais pas comment faire pr mettre le #ID_RUBRIQUE ds la balise #LOGIN_PUBLIC quelque chose du style
    [(#LOGIN_PUBLIC|spip.php ?page=rubrique&id_rubrique=#ID_RUBRIQUE)] qui ne fonctionne pas

    Merci d’avance

    • Thierry

      Bonjour,
      si tu fais un squelette spécifique pour la rubrique que tu veux voir afficher suite au login
      je pense que tu pourras l’afficher comme ci-dessous le squelette sommaire.html

      [(#LOGIN_PUBLIC|spip.php ?page=sommaire)]

    • Thierry

      [(#LOGIN_PUBLIC ; spip.php ?page=rubrique-3)]

      ou

      [(#LOGIN_PUBLIC ; spip.php ?page=article-2)]

    Répondre à ce message

  • Bonjour,
    Je teste l’accès restreint pour un futur site d’université.
    Le plugin me semble parfait (identification, connexion/déconnexion) à un détail prêt. Lorsque je me déconnecte puis reconnecte depuis la même machine, SPIP me propose une connexion avec le login du précédent utilisateur. Il ne me reste plus qu’à saisir pass.

    Sur une machine personnelle c’est du confort, sur les machines « libre-service » de l’école ça me pose un problème de confidentialité. Ca déclare qui s’est connecté précédemment.

    Est-il possible de demander à SPIP de tuer son cookie (je suppose que la session repose sur un cookie) à la déconnexion pour que le login soit vierge avec le champs « utilisateur » vide ?

    Tuer qui que se soit, même avec SPIP, je ne sais pas faire...
    Merci de vos conseils pré-machés.

    Répondre à ce message

  • Bonjour,

    Je souhaiterai mettre en évidence les rubriques en accès restreint dans mon menu lorsqu’elles sont accessibles par l’utilisateur connecté (par exemple en lui attribuant un fond différent)... Savez-vous comment je peux faire ?

    Je ne veux pas afficher toutes les rubriques, seulement celles où l’utilisateur possède des droits d’accès.

    Merci
    Stéphane

    Répondre à ce message

  • 2
    Bernard Vuilleumier

    Bonjour,

    J’ai le même problème que Gris et Seb, j’ai installé le plugin sur un SPIP 1.9.2 et tout est visible en accès public, y compris les zones restreintes !

    Merci d’avance !

    • Aucun problème avec ce plugin avec la 1.9.2.

      Tout de même petite précision, si tu avais une instal’ en 1.9 ou 1.9.1 avec la précédente version de l’accès restreint, après l’installation de ce plugin, passe ta souris près de la boite (ou corbeille) à la droite du nom du plugin. Un texte apparait « Tout effacer ». Clique dessus. Celà supprime tous les droits précédents d’accès restreints.

      Il te reste à présent à reconfigurer les droits tant au niveau des rubriques que des auteurs et visiteurs.

      Car il n’est pas précisé dans la doc. que ce plugin ne reprend pas les droits de la version précédente.

    • ouh la faut pas dire des choses comme ça !

      Bien sur que le plugin reprend les droits de la version précédente !
      Par contre il y avait un bug lors de l’upgrade qui empechait la creation des champs pour gerer les zones publiques et/ou privées, nouveauté de cette version avec la 1.9.2. La manip que tu décris permettait donc de s’en sortir.

      Mais la derniere version en ligne du plugin corrige cela, et la mise a jour doit se faire tout a fait normalement.

    Répondre à ce message

  • Bonjour à tous,

    Merci pour les explications (ci-dessous) concernant le blocage des PJ ; ce n’est pas parfait (si on connaît le chemin d’accès, on peut toujours afficher le document) mais ça va déjà bien me rendre service.

    Une autre question, qui en fait n’est pas directement liée à l’accès restreint mais qui concerne les visiteurs enregistrés : comment peut-on leur ouvrir la possibilité de gérer eux-mêmes leur logo (photo) sans leur donner accès à la partie privée du site ?

    Merci pour vos idées...

    Répondre à ce message

  • Bonjour et beau travail !

    Avec la version 1.9.2, le fichier « formulaire_login.html » du répertorie « formulaires » s’apelle maintenant « login.html »

    Bonne

    Répondre à ce message

  • 1

    Bonjour,

    Je viens d’installer ce plugin et je constat que sur le site public en tapant l’adresse d’une rubrique ou un article dont l’acces est restreint que l’on y accede.
    J’ai pourtant bien suivie la procedure d’install et de configuration...

    De quoi peut bien venir ce probleme, bug ?
    Je suis a dire vrai sur SPIP 1.9.2 (8634), sans aucun autre plugin que « acces restreint »
    -  il y a deja t il eu des tests sur cette version de SPIP ?
    -  Y a t il une solution ?

    Merci d’avance de votre reponse

    PS : cela ne me derangerait pas de continuer a tester ce plugin, car apres tout j’ai besoin de faire un acces restreint (ou par acces groupe mais il ne marche pas avec SPIP 1.9.2)

    • Bonjour,

      j’ai le même problème depuis que je suis passé à la 1.9.2 de SPIP et au plugin acces restreint 2.0 ....

      tout est en accés libre sur mon site ce qui pose un gros problème.

    Répondre à ce message

  • 1

    Attention : il semblerait que le critère {tout_voir} ne soit disponible qu’avec la version spip-zone, mais pas dans l’archive de l’article au 21/02/2007

    • dans le même style, il faut effacer les tables créées par l’archive de l’article si vous migrez à la version spip-zone car la migration ne se fait pas bien : il manquera des champs à vos tables mysql.

    Répondre à ce message

  • 1

    Bonjour,

    j’ai du mal à comprendre certaines parties (notamment les exemples de boucles avec les filtres car je ne sais pas où les mettre exactement).

    Mais j’ai un doute : j’ai l’impression que la fonctionnalité de SPIP 1.9.1 qui, dans la partie admin de la partie privé, propose de cocher la case « autoriser l’inscription de visiteurs ». Cela permettrai de passer outre la pirouette demandant l’ouverture d’au moins un forum sur abonnement.

    Alors on fait quoi ? Est-ce qu’il faut attendre une nouvelle version de ce plugin ou ça peut quand même fonctionner ?

    En fait je n’arrive pas à faire apparaître le formulaire permettant aux visiteurs de demander une inscription modérée par un admin. Est-ce dû à ce problème ?

    Bien cordialement

    • En fait je me suis mal exprimé. C’est la partie de la doc suivante qui est fausse :

      Si, au contraire, vous avez interdit l’inscription automatique à l’espace privé, il faut impérativement avoir au moins un article dont les forums seront réglés en mode « sur abonnement » pour activer cette balise ; dès lors, SPIP pourra fournir des informations de connexion pour le site public sans accès à l’espace privé.

      Il existe en effet, une nouvelle option de paramétrage dans la partie admin de SPIP 1.9.1 et il ne me semble pas que cette dernière option soit prise en compte dans le fonctionnement de ce plugin.

      Bien cordialement

    Répondre à ce message

  • 2

    Avec la version de SPIP 1.9.2 beta 4 [8589] , l’édition des auteurs ne fonctionne pas, et donc on ne peut pas leur attribuer les droits sur les rubriques restreintes. Je m’en étais accomodé en remplissant la table zones_auteurs à la main, avec une seule rubrique et un nombre d’auteurs raisonnable, ce n’était pas trop fastidieux.

    J’ai fini par comprendre que le problème venait du fait que auteurs_edit.php avait été remplacé par auteur_infos.php, le nouveau script auteurs_edit.php n’ayant plus qu’une fonction de redirection sur auteur_infos.php. Mais la « surcharge » d’auteurs_edit.php ne sert rigoureusement à rien, et pour cause, puisque auteurs_edit.php ne sert plus qu’à envoyer la requète ailleurs !

    Pour que tout fonctionne, il suffit de remplacer toutes les occurences de « auteurs_edit » par : « auteur_infos » dans les trois scripts du plugin qui y font référence.

    Il s’agit de :

    acces_restreint_options.php

    acces_restreint_pipelines.php

    inc/acces_restreint_gestion.php

    Un grand bravo aux auteurs du plugin !

    • ...et un grand bravo aussi aux développeurs de la nouvelle version de SPIP.

      Mais il faut bien dire quand même que les problèmes de compatibilité avec toutes les anciennes bidouilles se multiplient avec la nouvelle architecture. Et ces modifications commencent à devenir préoccupantes pour les « vieux » sites, qui fonctionnaient avec des champs extra, ou des plugins datant du début de la 1.9...

      C’est la conséquence assez logique du travail en collaboration d’un plus grand nombre de développeurs. C’est pourquoi il n’y a pas lieu de s’en plaindre. Mais on peut quand même s’en soucier.

    • la version présente sur la zone est déja compatible spip 1.9.2 avec en plus le filtrage de l’accès restreint. L’article sera mis a jour dès la sortie officielle de la 1.9.2...

    Répondre à ce message

  • Bonjour,
    Félicitations pour ce plug qui à l’air remarquable, mais je n’y arrive pas.

    En fait le tutoriel devient compliqué dès que l’on arrive au morceau de code à insérer dans login_public.html. Je précise que je développe un peu en PHP mais je connais mal la structure de SPIP. Je souhaite uniquement bloquer l’accès public, c’est à dire ce que vous appelez « Un filtrage fort ».

    Donc tout va bien pour les paramétrages, mais ensuite cela se gate :
    1/ dans le squelette login_public.html, il y a déjà une DIV avec le code que vous indiquez ; faut-il la virer (sinon j’ai deux formulaires sur la page) ?
    2/ Quand j’essaie la formule, la page me répond que mon navigateur n’accepte pas les cookies ? c’est faux, j’ai vérifié sous firefox et explorer et sur 3 machines différentes ?
    3/ pour le coté « inscription automatique à l’espace privé » ... je ne vois pas où et le paramétrage dans SPIP
    4/ je n’ai pas besoin de la fonction url_logout .... dois-je utiliser alors les noisettes ?

    En fait le tutoriel devient plus compliqué pour le néophyte dès lors qu’il « mélange » les paramètres entre filtrage total et partiel. Paradoxalement c’est la formule la plus simple dont j’ai besoin : supprimer l’accès public.

    Merci

    JLV

    Répondre à ce message

  • Merci pour ce superbe plugin !
    Félicitation !

    j’ai eu juste un petit probleme car mon formulaire de login ne s’affichait pas....il suffisait de me deconnecter de l’espace privé...

    JBP

    Répondre à ce message

  • 2

    Bonjour,

    après activation du plugin, je n’ai pas les choix de restrictions qui apparaissent au niveau des fiches d’auteur... c’est dommage car tout marchait bien auparavant sur mon 1.9 et après passage au 1.9.1 c’est la misère...

    j’ai essayé également le plugin accès_groupe mais il ne me satisfait pas, et je suis repassé à accès_restreint et depuis, plus rien !!

    help ????

    • Désolée, je n’ai pas de solution mais j’ai le même problème :
      je suis en 1.9.1 et le plugin ne fonctionne pas au niveau des fiches auteurs...

    • Essaie d’installer (réinstaller ?) la dernière 1.9.1, il y a eut plusieurs versions 1.9.1, toutes ne sont pas fonctionnelles.

    Répondre à ce message

  • 1

    Comme tous, je vous félicite vivement pour ce plugin (et ce tutoriel très clair d’ailleurs !)

    j’ai installé le plugin sur mon site. http://www.coursdelatin.fr
    Son utilisation se justifiait car c’est un site surtout à destination de jeunes professeurs de français et de latin-grec qui échangent leurs préparation, documents... et qu’il ne s’agirait pas par exemple que les élèves tombent dessus.

    Je n’ai pas eu de soucis dans l’installation (j’avoue m’y être reprise à plusieurs reprises), , ni dans l’utilisation à présent.

    Le seul problème c’est que si je donne le lien d’une page à quelqu’un qui n’est pas enregistré, et qu’il clique dessus, il arrive sur une page entièrement blanche (et non sur une page erreur 404 comme je l’aimerais).

    Je ne sais pas d’où vient l’erreur, quelqu’un pourrait-il m’aiguiller ?

    Voici par exemple un lien : http://www.coursdelatin.fr/spip.php?article31

    • je me réponds à moi-même à peine...
      En faisant quelques recherches, je suis tombée sur cet article qui a résolu mon problème.
      La démarche est expliquée pour spip 1.8 mais sur le forum de l’article, quelqu’un explique comme faire avec spip 1.9.

    Répondre à ce message

  • 1

    Comment puis-je valider l’accès à une zone restreinte de manière automatique
    dès qu’un noueau visiteur s’inscrit ?

    Merci

    Répondre à ce message

  • 1

    Bonjour à tous,
    novice en spip (mis à part eva spip), je ne comprends pas tout l’article. J’ai installé les « noisettes » et le formulaire_login html aux emplacements indiqués. Mai je n’ai pas compris le point 1 :

    Insérer partout dans vos squelettes les deux noisettes d’identification et de déconnection. . Le plus simple est de se servir d’une inclusion sous les rubriques, dans inc_rubrique.html par exemple.

    Ce que je cherche à faire : toute personne arrivant sur le site doit s’identifier que ce soit pour voir le contenu public ou accéder à l’espace privé.

    Merci

    • je pense que ça veut simplement dire qu’en fonction de ton squelette, tu peux installer les noisettes à différents endroits, ce qui serait facile puisqu’il s’agit simplement d’une ligne de code à copier...
      je pense que le mieux dans ton cas est d’installer le code sur la page index.

    Répondre à ce message

  • 3

    Bonjour,

    je souhaiterais limiter l’acces à mon site, en fait j’autorise des personnels identifiés à voir tout le site tandis que les autres n’auront qu’un bout du site(pas toutes les rubriques ni ce qui en découle). J’aimerais que chaque personne connue soit identifiée en entrant par « Bonjour Untel ».

    Je voulais savoir comment limiter l’acces. Obligation d’une base de données autre ?
    En fait il y a une base de données avec le nom prénom et leurs mot de passe des personnels déjà existants. Je voulais mettre cette base de données en corrélation avec le site spip pour proteger certaines rubriques. Est ce faisable ?

    Merci de votre aide

    • Il te suffit de mettre le texte dans ta noisette de connection
      Un truc du genre

      <!-- controle existence auteur identifie -->
      <?php if ($auteur_session) { $nom_auteur=$auteur_session['nom'] ?>
      <p><?php echo Bonjour $nom_auteur;?> </p>

      Pour l’autre base, je pense que tu peux te servir du plugin import cvs pour donner à tous ces gens là le statut visiteur.
      Il y a un plugin en fait qui fait ca, mais je suis plus trop certaine de son nom.

    • hello

      Je suis un peu novice en spip et le plug in accès restreint par groupe est génial, cependant quand je rentre dans ma rubrique identifiée je peux quand même choisir parmis les autres rubriques que la mienne.
      Existe t il un moyen de ne pas avoir à l’affichage de écrire un nouvel article la liste de ttes les rubriques ?
      Je me suis permise d’écrire car je galère vraiment

    Répondre à ce message

  • Ben si, c’est la diva des plugins.
    Celui-là (aussi) il est simplement super.
    Mais jusqu’où s’arrêtera-t-il ? < :-)

    Répondre à ce message

  • Bonjour,

    J’ai un petit problème avec le statut visiteur, je m’explique.

    Dans mon squelette j’appel le fichier inc_identification_sedeconnecter et le fichier inc_identification_visiteurs

    En premier donc je vais avoir inc_identification_visiteurs qui va etre appelé pour que je m’identifie. Si j’utilise un compte administrateur ou redacteur il y a aucun probleme le module inc_identification_sedeconnecter apparait avec ex :
    Bienvenue
    admin
    Deconnexion

    Le problème est si j’utilise un compte visiteur.L’identification se fait correctement Mais il me raffiche le champ Login et le bouton valider comme si j’étais pas identifié ex :
    Bienvenue
    Visiteur

    Login : CHAMP TEXTE
    BOUTON VALIDER

    Dans le code de inc_identification_sedeconnect il y a apres le a href ..... pour la deconnexion l’appel de #LOGIN_PUBLIC
    si je supprime #LOGIN_PUBLIC les champs (login et bouton valider) apres identification avec un compte visiteur ne s’affiche plus donc mon problème est résolu MAIS comment sa ce fait que si j’utilise un compte administrateur ou redacteur et que je laisse #LOGIN_PUBLIC j’ai aucun probleme, ya t’il un SWITCH CASE quelque part qui selon le statut de la personne permet de ne pas afficher le formulaire d’identification ?? si oui dans quel fichier chercher ?

    merci d’avance

    Répondre à ce message

  • Bonjour

    Ce plugin est très sympa et clair au niveau de son installation. Tout fonctionne comme prévu. Bravo donc à son auteur !

    Cependant j’aurais aimé savoir si on pouvait l’utiliser sans avoir à passer par un #LOGIN_PUBLIC mais plutôt par un filtrage s’appuyant sur l’adresse IP du visiteur

    Exemple :
    Tous les IP « visiteurs » du site commençant par 192.169.1.* (cas typique d’un réseau local) peuvent accéder aux rubriques et articles à accès restreint et ce automatiquement sans avoir à passer par le page de Login/Mot de passe

    Je suis ne suis pas très pointu en PHP et Script mais ayant commencé à éplucher les différentes sources d’explications de ce plugIn je sais déjà qu’on est capable de récupérer l’IP d’une machine « visiteuse » et de la comparer à la chaîne de carractère « 192.168.1 » comme suit

    <?php
    
    // $ipremote = 10 premiers carractères 
    // de l'IP de la machine visiteuse
    
    $ipremote = substr($GLOBAL['REMOTE_ADDR'],0,9);
    $iplocal = '192.168.1';
    if ($ipremote == $iplocal) {
    
       echo 'Les IP correspondent. On affiche de fait le site entier' . '<br />';
       
       // il faudrait trouver ici la méthode d'activation de l'acces restreint 
       // sans passer par #LOGIN_PUBLIC (1)
    
        } else {
    
       echo 'Les IP sont différents et on ne doit pas afficher tout le site' . '<br />';
    
        // il faudrait désactiver ici l'acces total au site en gardant 
        // toutefois la méthode d'authentification 
        // par #LOGIN_PUBLIC pour ces IP "visiteurs"
        // différents de 192.168.1.* 
    }
    ?>

    (1) En regardant le code de formulaire_login.htm livré avec le kit du Plugin Acces restreint, il me semble que la fonction calcMD5() soit la voie obligée d’une manière ou une autre pour vérifier les Nom et Login des auteurs de statut ’6forum’ qui peuvent avoir acces à la partie restreinte du site depuis la zone publique.

    Par contre, après, je ne maitrise plus le codage de la chose (JavaScript et moi faisont deux)

    Quelqu’un pourrait-il m’aider ?

    Répondre à ce message

  • Can someone translate this into English, please ? Or is the documentation in English already available somewhere ? Thanx.

    Répondre à ce message

  • 7

    Bonjour,

    Je viens d’installer votre plugin et la ...
    J’ai un spip propre je viens d’effacer ma base de données et de faire une nouvelle installation spip 1.9
    J’ai créer une rubrique, écris un article et j’ai telecharger le plug acces restreint.
    Dans configuration, gestion des plugins je le vois apparaitre mais lorsque je le coche il ne se passe rien.
    Quand je regarde ma base de donnée je ne vois pas les 3 bases crées.

    Des idées ???

    • Essaie avec spip 1.9.1, et relis bien l’article sur la mise en place du plugin.

    • Idem avec Spip 1.9.1

      Je vois le plug apparaitre dans le menu de gestion des plugins, mais lorsque je coche puis valide, la page est actualisé et ma coche à disparue.

      D’autre idées ?

    • CF plus haut ma réponse à mamou, pour quand on arrives pas à activer les plugins. Enlever les 4 fichiers cités dans ecrire, vider le cache et réactiver le plugin.

    • J’ai trouvé d’ou venait mon erreur :
      Je n’ai pas décompresser le plugin dans le bon dossier
      Il doit se trouver /plugins/acces-restreint-1.9/ sinon ca marche pas

    • J’ai fait tous les forums existants, tout le monde dit comment installer les plugins mais personne, non personne a eut la présence d’esprit de préciser qu’il fallait laisser le repertoire acces-restreint-1.9 tel quel....
      Merci ajac !!!!

    • c’est l’accès restreint à l’information sur l’acces restreint

      C’était la pensée de ce soir sur IRC :-)

    • Je pense avoir lu ça sur une page de spip.net

    Répondre à ce message

  • 4

    bonjour,
    je viens de tenter de mettre en place le plugin acces-restreint, je l’ai mis dans mon dossier plugin à la racine, puis je suis allée dans config ; et j’ai valider le plugin, mais je ne vois pas le cadenas apparaitre ?
    que faire ?
    merci d’avance

    • Je suis pas sur d’avoir compris la question. Tu veux dire que tu n’arrives pas à activer le plugin ?
      Si tel est le cas tu peux essayer d’enlever dans ecrire/data
      charger_plugins_options.php, verifier_presence_plugins.php, charger_pipelines.php, charger plugins_fonctions.php, de vider ton cache, et de le réactiver. Après activation le cadnas apparaît ici http://www.domaine.net/?exec=acces_restreint, pour paramétrer tes zones.

    • tu avais bien compris ma question : j’ai fait tout ce que tu m’as dit (enlever dans ecrire/data/....)mais maintenant j’ai un problème lors du transfert FTP avec le fichier .htacess
      j’ai une erreur critique de transfert avec ce fichier, j’ai regardé ce qu’il contient : « deny from all » et c’est tout ?
      peux-tu m’aider de nouveau, je suis très novice en spip et même en info et donc je ne sais pas quoi penser du problème
      merci
      mamou

    • tu dois l’uploder en le nommant htaccess.txt. et Après upload, tu le renommes avec le point « . »

    • merci, mais je ne suis pas sûre que mon problème vienne de .htacess, le fichier est bien présent sur le serveur distant et j’ai un message d’erreur quand je me connecte sur l’interface « ecrire » : spip.php ?page=login&url=.%2F ou spip.php ?page=login&url=%3Fbonjour%3Doui&var_echec_cookie=true au lieu de  ?bonjour=oui
      enfin bref, je patauge..

      peux-tu encore m’aider ?

      merci encore !

      mamou

    Répondre à ce message

  • Bonjour.

    Ce plugin est vraiment très intéressant. Merci à ceux qui le développe !
    Question : je souhaite l’utiliser sur mon site public pour un accès type intranet, seul les personnes connues comme rédacteurs et admins pourront dont accéder aux rubriques restreintes.
    Mes premiers tests semblent concluants...
    Des avis/opinions sur la chose ?
    merci d’avance
    Eric

    Répondre à ce message

  • 2

    Après avoir désactivé l’accès restreint sur mon site de test en local, le message suivant s’affiche au démarrage :

    Fatal error : Call to undefined function : accesrestreint_articles_accessibles_where() in c :\program files\easyphp1-8\www\testspip\ecrire\public\composer.php(48) : eval()’d code on line 14

    Quelqu’un peut-il m’aider ?

    Merci.

    • Peut être un probleme cache. Penser à le vider.
      L’enlever aussi du répertoire plugins.

    • En effet, il m’a suffit de sortir les fichiers PHP du répertoire C :\Program Files\EasyPHP1-8\www\testspip\CACHE\skel et relancer, pour que tout fonctionne correctement. Je n’ai pas touché au répertoire plugins.
      Merci !

    Répondre à ce message

  • Bonsoir,

    J’aimerais protéger aussi (et surtout) les documents. Si quelqu’un n’a pas les droits pour accéder à un article, j’aimerais qu’il lui soit impossible d’accéder aux documents qui sont joints à cet article, même en tapant directement l’url dudit document. Je n’ai pas l’impression que ce plugin gère cet aspect des choses. Est-ce que vous voyez une solution simple pour remédier à ce problème ?

    Merci

    François

    Répondre à ce message

  • 1

    Bonjour,

    Un visiteur authentifié qui se déconnecte voit s’afficher « ... erreur 404 » si une rubrique de sa zone d’accès restreint était affichée au moment de la déconnexion. Ce qui semble logique. Peut-on éviter cet affichage et retourner automatiquement à la page d’accueil ?

    Cordialement

    • Voilà la nouvelle syntaxe donnée par Cedric sur IRC

      <a href='#URL_LOGOUT{#URL_PAGE{sommaire}} '>cliquez ici pour vous d&eacute;connecterconnecter</a>

      À mettre dans ta noisette de déconnection.
      Ce qui, depuis la 1.9 correspond à #BALISE{argument}|filtre

    Répondre à ce message

  • Très beau plugin, très simple à mettre en place et contrib bien documentée,

    Je n’ai pas encore compris les subtilités sur la gestion des pages inexistantes :
    -  tantôt c’est la page 404.html qui s’affiche
    -  tantôt ce sont les alternatives des boucles dans article.html et rubrique.html

    J’ose une suggestion : dans la mesure où on n’accepte pas les inscriptions sur le site, on imagine que les créations d’utilisateurs sont « maîtrisées ». Pouvoir donner les droits par défaut sur certaines rubriques protégées à toute nouvelle création d’utilisateur -qu’il soit auteur, visiteur ou admin- serait pratique.
    Ex : à chaque création d’un utilisateur, il a les droits sur la rubrique Forums.
    (je ne sais pas si acces_groupes le gère)

    A+

    Raphaël

    Répondre à ce message

  • Bonjour,
    Bravo et merci. C’est simplissime.
    Cordialement

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom