--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/meta');
+/**
+ * Fonction d'installation, mise a jour de la base
+ *
+ * @param unknown_type $nom_meta_base_version
+ * @param unknown_type $version_cible
+ */
+function accesrestreint_upgrade($nom_meta_base_version,$version_cible){
+
+ $maj = array();
+ $maj['create'] = array(
+ array('maj_tables',array('spip_zones','spip_zones_liens')),
+ );
+
+ $maj['0.1.0'] = array(
+ array('maj_tables',array('spip_zones')), // publique, privee
+ );
+ $maj['0.2.0'] = array(
+ array('maj_tables',array('spip_zones')), // publique, privee
+ );
+ $maj['0.3.0'] = array(
+ array('sql_alter',"TABLE zones_auteurs DROP INDEX id_zone"),
+ array('sql_alter',"TABLE zones_auteurs ADD PRIMARY KEY ( id_zone , id_auteur )"),
+ array('sql_alter',"TABLE zones_rubriques DROP INDEX id_zone"),
+ array('sql_alter',"TABLE zones_rubriques ADD PRIMARY KEY ( id_zone , id_rubrique )"),
+ );
+ $maj['0.3.1'] = array(
+ array('sql_alter',"TABLE spip_zone ALTER titre SET DEFAULT ''"),
+ array('sql_alter',"TABLE spip_zone ALTER descriptif SET DEFAULT ''"),
+ );
+
+ include_spip('maj/svn10000');
+ $maj['0.4.0'] = array(
+ array('maj_liens','zone'), // creer la table zones_liens
+ array('maj_liens','zone','auteur'),
+ array('sql_drop_table',"spip_zones_auteurs"),
+ array('maj_liens','zone','rubrique'),
+ array('sql_drop_table',"spip_zones_rubriques"),
+ );
+ $maj['0.4.1'] = array(
+ array('sql_alter',"TABLE spip_zone CHANGE publique publique char(3) DEFAULT 'oui' NOT NULL"),
+ array('sql_alter',"TABLE spip_zone CHANGE privee privee char(3) DEFAULT 'oui' NOT NULL"),
+ );
+ $maj['0.4.2'] = array(
+ array('accesrestreint_upgrade_protection_documents'),
+ );
+
+ include_spip('base/upgrade');
+ maj_plugin($nom_meta_base_version, $version_cible, $maj);
+}
+
+function accesrestreint_upgrade_protection_documents(){
+ if (isset($GLOBALS['meta']["creer_htaccess"])
+ AND $GLOBALS['meta']["creer_htaccess"] == 'oui'
+ AND !isset($GLOBALS['meta']["accesrestreint_proteger_documents"])){
+ ecrire_meta("accesrestreint_proteger_documents","oui");
+ include_spip("inc/accesrestreint_documents");
+ accesrestreint_gerer_htaccess(true);
+ }
+}
+
+/**
+ * Fonction de desinstallation
+ *
+ * @param unknown_type $nom_meta_base_version
+ */
+function accesrestreint_vider_tables($nom_meta_base_version) {
+ sql_drop_table("spip_zones");
+ sql_drop_table("spip_zones_liens");
+ effacer_meta('accesrestreint_proteger_documents');
+ include_spip("inc/accesrestreint_documents");
+ accesrestreint_gerer_htaccess(false);
+ effacer_meta($nom_meta_base_version);
+}
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('public/accesrestreint');
+include_spip('inc/accesrestreint');
+
+/**
+ * filtre de securisation des squelettes
+ * utilise avec [(#REM|accesrestreint_securise_squelette)]
+ * evite divulgation d'info si plugin desactive
+ * par erreur fatale
+ *
+ * @param unknown_type $letexte
+ * @return unknown
+ */
+function accesrestreint_securise_squelette($letexte){
+ return "";
+}
+
+
+/**
+ * filtre de test pour savoir si l'acces a un article est restreint
+ *
+ * @param int $id_article
+ * @param int $id_auteur
+ * @return bool
+ */
+function accesrestreint_article_restreint($id_article, $id_auteur=null){
+ include_spip('public/quete');
+ include_spip('inc/accesrestreint');
+ $article = quete_parent_lang('spip_articles',$id_article);
+ return
+ @in_array($article['id_rubrique'],
+ accesrestreint_liste_rubriques_exclues(!test_espace_prive(), $id_auteur)
+ );
+}
+
+
+/**
+ * filtre de test pour savoir si l'acces a une rubrique est restreinte
+ *
+ * @param int $id_rubrique
+ * @param int $id_auteur
+ * @return bool
+ */
+function accesrestreint_rubrique_restreinte($id_rubrique, $id_auteur=null){
+ include_spip('inc/accesrestreint');
+ return
+ @in_array($id_rubrique,
+ accesrestreint_liste_rubriques_exclues(!test_espace_prive(), $id_auteur)
+ );
+}
+
+/**
+ * Filtre pour tester l'appartenance d'un auteur a une zone
+ *
+ * @param int $id_zone
+ * @param int $id_auteur
+ * @return bool
+ */
+function accesrestreint_acces_zone($id_zone,$id_auteur=null){
+ static $liste_zones = array();
+ if (is_null($id_auteur)) $id_auteur=$GLOBALS['visiteur_session']['id_auteur'];
+ if (!isset($liste_zones[$id_auteur])){
+ if ($GLOBALS['accesrestreint_zones_autorisees']
+ AND ($id_auteur==$GLOBALS['visiteur_session']['id_auteur']))
+ $liste_zones[$id_auteur] = explode(',',$GLOBALS['accesrestreint_zones_autorisees']);
+ elseif (!is_null($id_auteur)){
+ include_spip('inc/accesrestreint');
+ $liste_zones[$id_auteur] = explode(',',accesrestreint_liste_zones_autorisees('',$id_auteur));
+ }
+ }
+
+ return in_array($id_zone,$liste_zones[$id_auteur]);
+}
+
+/**
+ * fonction pour afficher une icone 12px selon le statut de l'auteur
+ *
+ * @param string $statut
+ * @return string
+ */
+function icone_auteur_12($statut){
+ if ($statut=='0minirezo') return _DIR_IMG_PACK . 'admin-12.gif';
+ if ($statut=='1comite') return _DIR_IMG_PACK . 'redac-12.gif';
+ return _DIR_IMG_PACK . 'visit-12.gif';
+}
+
+
+
+
+
+/**
+ * Retroune les identifiants des zones a laquelle appartient une rubrique
+ * et ses rubriques parentes
+ * (quelquesoit la visibilité de la zone (publique, prive, les 2 ou aucun)
+ *
+ * @param int $id_rubrique
+ * @return array identifiants des zones
+ */
+function accesrestreint_zones_rubrique_et_hierarchie($id_rubrique) {
+ static $zones = array();
+
+ if (!$id_rubrique) {
+ return array();
+ }
+
+ if (isset($zones[$id_rubrique])) {
+ return $zones[$id_rubrique];
+ }
+
+ // on teste notre rubrique deja
+ $idz = accesrestreint_zones_rubrique($id_rubrique);
+
+ // on parcours toute l'arborescence jusqu'a la racine en testant les zones
+ // pour completer les zones deja trouvees
+ if ($id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique))) {
+ // on teste notre parent
+ $idz_parent = accesrestreint_zones_rubrique_et_hierarchie($id_parent);
+ $idz = array_merge($idz, $idz_parent);
+ }
+
+ // on renvoie la rubrique
+ return $zones[$id_rubrique] = $idz;
+}
+
+
+/**
+ * Retroune les identifiants des zones a laquelle appartient une rubrique
+ * (quelquesoit la visibilité de la zone (publique, prive, les 2 ou aucun)
+ *
+ * @param int $id_rubrique
+ * @return array identifiants des zones
+ */
+function accesrestreint_zones_rubrique($id_rubrique) {
+ // on teste notre rubrique deja
+ $idz = sql_allfetsel('id_zone', 'spip_zones_liens', "objet='rubrique' AND id_objet=". intval($id_rubrique));
+ if (is_array($idz)) {
+ $idz = array_map('reset', $idz);
+ return $idz;
+ }
+ return array();
+}
+
+/**
+ * Cherche si la rubrique donnée est inclue dans une zone d'accès restreinte.
+ *
+ * [(#ID_RUBRIQUE|accesrestreint_rubrique_zone_restreinte|oui) Rubrique non visible dans une zone]
+ * [(#ID_RUBRIQUE|accesrestreint_rubrique_zone_restreinte{tout}) Rubrique dans une zone ]
+ *
+ * @param int $id_rubrique : identifiant de la rubrique
+ * @param null|bool|string $_publique
+ * Sélectionner les rubriques
+ * cachées dans le public (true),
+ * le privé (false),
+ * selon le contexte privé ou public (null),
+ * cachées ou non quelque soit le contexte ('tout')
+ * @return bool La rubrique est présente dans une zone
+ */
+function accesrestreint_rubrique_zone_restreinte($id_rubrique, $_publique=null) {
+ return
+ @in_array($id_rubrique,
+ accesrestreint_liste_rubriques_restreintes_et_enfants($_publique)
+ );
+}
+
+/**
+ * Retourne la liste de toutes les rubriques sélectionnées dans des zones
+ *
+ * @param null|bool|string $_publique
+ * Sélectionner les rubriques
+ * cachées dans le public (true),
+ * le privé (false),
+ * selon le contexte privé ou public (null),
+ * cachées ou non quelque soit le contexte ('tout')
+ * @return Array liste d'identifiants de rubriques
+ */
+function accesrestreint_liste_rubriques_restreintes($_publique = null) {
+ static $rubs = array();
+
+ // $_publique : null, true, false, 'tout'
+ $tout = false;
+ if (is_null($_publique)) {
+ $_publique = !test_espace_prive();
+ } elseif ($_publique === 'tout') {
+ $tout = true;
+ }
+
+ if (isset($rubs[$_publique])) {
+ return $rubs[$_publique];
+ }
+
+ $where = array("zr.objet='rubrique'");
+ if (!$tout) {
+ if ($_publique) {
+ $where[] = 'z.publique=' . sql_quote('oui');
+ } else {
+ $where[] = 'z.privee=' . sql_quote('oui');
+ }
+ }
+
+ $idz = sql_allfetsel('DISTINCT(zr.id_objet)', 'spip_zones_liens AS zr JOIN spip_zones AS z ON z.id_zone = zr.id_zone', $where);
+
+ if (is_array($idz)) {
+ $idz = array_map('reset', $idz);
+ return $rubs[$_publique] = $idz;
+ }
+
+ return $rubs[$_publique] = array();
+}
+
+
+/**
+ * Retourne la liste de toutes les rubriques sélectionnées dans des zones
+ *
+ * @param null|bool|string $_publique
+ * Sélectionner les rubriques
+ * cachées dans le public (true),
+ * le privé (false),
+ * selon le contexte privé ou public (null),
+ * cachées ou non quelque soit le contexte ('tout')
+ * @return Array liste d'identifiants de rubriques
+ */
+function accesrestreint_liste_rubriques_restreintes_et_enfants($_publique = null) {
+ static $rubs = array();
+
+ if (is_null($_publique)) {
+ $_publique = !test_espace_prive();
+ }
+
+ if (isset($rubs[$_publique])) {
+ return $rubs[$_publique];
+ }
+
+ $parents = accesrestreint_liste_rubriques_restreintes($_publique);
+
+ if ($parents) {
+ include_spip('inc/rubriques');
+ $branches = explode(',', calcul_branche_in($parents));
+ return $rubs[$_publique] = $branches;
+ }
+
+ return $rubs[$_publique] = array();
+}
+
+/**
+ * Un auteur donné fait il partie d'une zone permettant de voir telle rubrique.
+ * Renvoie true, si l'auteur peut voir la rubrique,
+ * quelquesoit la visibilité des rubriques de la zone
+ *
+ * @param int $id_auteur Identifiant de l'auteur
+ * @param int $id_rubrique Identifiant de la rubrique
+ * @return bool L'auteur fait partie de la rubrique.
+ */
+function accesrestreint_auteur_lie_a_rubrique($id_auteur, $id_rubrique) {
+ if (!$id_auteur) return false;
+ if (!$id_rubrique) return false;
+ // $auteur[3][8] : l'auteur 3 ne peut pas voir la rubrique 8
+ static $auteurs = array();
+ if (!isset($auteurs[$id_auteur])) {
+ $auteurs[$id_auteur] = array();
+
+ include_spip('inc/accesrestreint');
+ $auteurs[$id_auteur] = array_flip(accesrestreint_liste_rubriques_exclues(true, $id_auteur, true));
+ }
+
+ // si la rubrique est presente, c'est qu'on ne peut pas la voir !
+ if (isset($auteurs[$id_auteur][$id_rubrique])) {
+ return false;
+ }
+
+ return true;
+
+}
+
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+if (isset($GLOBALS['meta']["accesrestreint_base_version"])){
+ // Si on n'est pas connecte, aucune autorisation n'est disponible
+ // pas la peine de sortir la grosse artillerie
+ if (!isset($GLOBALS['visiteur_session']['id_auteur'])){
+ $GLOBALS['accesrestreint_zones_autorisees'] = '';
+ }
+ else {
+ // Pipeline : calculer les zones autorisees, sous la forme '1,2,3'
+ // TODO : avec un petit cache pour eviter de solliciter la base de donnees
+ $GLOBALS['accesrestreint_zones_autorisees'] =
+ pipeline('accesrestreint_liste_zones_autorisees', '');
+ }
+
+ // Ajouter un marqueur de cache pour le differencier selon les autorisations
+ if (!isset($GLOBALS['marqueur'])) $GLOBALS['marqueur'] = '';
+ $GLOBALS['marqueur'] .= ":accesrestreint_zones_autorisees="
+ .$GLOBALS['accesrestreint_zones_autorisees'];
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+/**
+ * Ajouter la boite des zones sur la fiche auteur
+ *
+ * @param string $flux
+ * @return string
+ */
+function accesrestreint_affiche_milieu($flux){
+ if ($e = trouver_objet_exec($flux['args']['exec'])
+ AND $e['type'] == 'auteur'
+ AND $e['edition'] == false) {
+
+ $id_auteur = $flux['args']['id_auteur'];
+
+ $ins = recuperer_fond('prive/squelettes/inclure/acces_auteur',array('id_auteur'=>$id_auteur));
+ if (($p = strpos($flux['data'],"<!--affiche_milieu-->")) !== false)
+ $flux['data'] = substr_replace($flux['data'],$ins,$p,0);
+ else
+ $flux['data'] .= $ins;
+
+ }
+ return $flux;
+}
+
+/**
+ * Ajouter la boite des zones sur la fiche de rubrique
+ *
+ * @param string $flux
+ * @return string
+ */
+function accesrestreint_affiche_gauche($flux) {
+ if ($e = trouver_objet_exec($flux['args']['exec'])
+ AND $e['type'] == 'rubrique'
+ AND $e['edition'] == false
+ AND $id_rubrique = $flux['args']['id_rubrique']){
+ if (autoriser('administrer', 'zone', 0)) {
+ $flux['data'] .= recuperer_fond('prive/squelettes/inclure/acces_rubrique', array('id_rubrique'=>$id_rubrique));
+ }
+ }
+ return $flux;
+}
+
+/**
+ * Detecter les demande d'acces aux pages restreintes
+ * et re-orienter vers une 401 si necessaire
+ *
+ * @param array $contexte
+ * @return array
+ */
+function accesrestreint_page_indisponible($contexte){
+ if ($contexte['status']=='404'){
+ $objet = "";
+ if (isset($contexte['type'])) $objet = $contexte['type'];
+ elseif (isset($contexte['type-page'])) $objet = $contexte['type-page'];
+ elseif(isset($contexte['fond_erreur'])) {
+ include_spip('inc/urls');
+ define('_DEFINIR_CONTEXTE_TYPE_PAGE',true);
+ $c2 = $contexte;
+ list($fond2,$c2,$url_redirect) = urls_decoder_url(nettoyer_uri(),$contexte['fond_erreur'],$c2,true);
+ $objet = $c2['type-page'];
+ }
+ if ($objet){
+ $table_sql = table_objet_sql($objet);
+ $id_table_objet = id_table_objet($objet);
+ if ($id = intval($contexte[$id_table_objet])){
+
+ $publie = true;
+ if (include_spip("base/objets")
+ AND function_exists("objet_test_si_publie")){
+ $publie = objet_test_si_publie($objet,$id);
+ }
+ else {
+ $trouver_table = charger_fonction('trouver_table','base');
+ $desc = $trouver_table($table_sql);
+ if (isset($desc['field']['statut'])){
+ $statut = sql_getfetsel('statut', $table_sql, "$id_table_objet=".intval($id));
+ if ($statut!='publie')
+ $publie = false;
+ }
+ }
+
+ include_spip('inc/autoriser');
+ if ($publie AND !autoriser('voir',$objet,$id)){
+ // c'est un contenu restreint
+ $contexte['status'] = '401';
+ $contexte['code'] = '401 Unauthorized';
+ $contexte['fond'] = '401';
+ $contexte['erreur'] = _T('accesrestreint:info_acces_restreint');
+ $contexte['cible'] = self();
+ if (!isset($contexte['objet'])){
+ $contexte['objet'] = $objet;
+ $contexte['id_objet'] = $id;
+ }
+ }
+ }
+ }
+ }
+ return $contexte;
+}
+
+?>
--- /dev/null
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2009 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/headers');
+
+// acces aux documents joints securise
+// verifie soit que le demandeur est authentifie
+// soit que le document est publie, c'est-a-dire
+// joint a au moins 1 article, breve ou rubrique publie
+
+// http://doc.spip.org/@action_acceder_document_dist
+function action_acceder_document_dist() {
+
+ // $file exige pour eviter le scan id_document par id_document
+ $f = rawurldecode(_request('file'));
+ $arg = rawurldecode(_request('arg'));
+ $cle = _request('cle');
+
+ $api_docrestreint = charger_fonction("api_docrestreint","action");
+ return $api_docrestreint("$arg/$cle/$f");
+
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+
+function action_affecter_zone_dist(){
+ $securiser_action = charger_fonction('securiser_action','inc');
+ $arg = $securiser_action();
+
+ if (preg_match(',^([0-9]+|-1)-([a-z]+)-([0-9]+|-1)$,',$arg,$regs)
+ AND $regs[2]=='auteur') {
+ $id_zone = intval($regs[1]);
+ $id_auteur = intval($regs[3]);
+ include_spip('action/editer_zone');
+ if ($id_auteur==-1)
+ $id_auteur = array_map('reset',sql_allfetsel('id_auteur','spip_auteurs',"statut!='poub'"));
+ zone_lier($id_zone=='-1'?'':$id_zone,'auteur',$id_auteur);
+ }
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2009 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/headers');
+
+/**
+ * acces aux documents joints securise
+ * verifie soit que le demandeur est authentifie
+ * soit que le document est publie, c'est-a-dire
+ * joint a au moins 1 article, breve ou rubrique publie
+ *
+ * URLs de la forme :
+ * docrestreint.api/id/cle/file
+ *
+ * @param null $arg
+ */
+function action_api_docrestreint_dist($arg=null) {
+ $status = 404;
+
+ if (is_null($arg))
+ $arg =_request('arg');
+
+ $arg = explode("/",$arg);
+
+ if (count($arg)>=3){
+
+ $id_document = intval(array_shift($arg));
+ $cle = array_shift($arg);
+ // file exige pour eviter le scan id_document par id_document
+ $f = implode("/",$arg);
+
+ if ($id_document==0
+ AND $cle==1
+ AND $f=="test/.test") {
+ echo "OK";
+ return;
+ }
+
+ include_spip('inc/documents');
+
+ $file = get_spip_doc($f);
+ spip_log($file,'dbg');
+
+ $status = $dcc = false;
+ // securite : on refuse tout ../ ou url absolue
+ if (strpos($f,'../') !== false
+ OR preg_match(',^\w+://,', $f)) {
+ $status = 403;
+ }
+ else if (!file_exists($file) OR !is_readable($file)) {
+ $status = 404;
+ }
+ else {
+ $where = "documents.fichier=".sql_quote(set_spip_doc($file))
+ . ($id_document ? " AND documents.id_document=".intval($id_document): '');
+ spip_log($where,'dbg');
+
+ $doc = sql_fetsel("documents.id_document, documents.titre, documents.fichier, types.mime_type, types.inclus, documents.extension", "spip_documents AS documents LEFT JOIN spip_types_documents AS types ON documents.extension=types.extension",$where);
+ spip_log($doc,'dbg');
+ if (!$doc) {
+ $status = 404;
+ }
+ else {
+
+ // ETag pour gerer le status 304
+ $ETag = md5($file . ': '. filemtime($file));
+ if (isset($_SERVER['HTTP_IF_NONE_MATCH'])
+ AND $_SERVER['HTTP_IF_NONE_MATCH'] == $ETag) {
+ http_status(304); // Not modified
+ exit;
+ }
+ else {
+ header('ETag: '.$ETag);
+ }
+
+ //
+ // Verifier les droits de lecture du document
+
+ // en controlant la cle passee en argument si elle est dispo
+ // (perf issue : toutes les urls ont en principe cette cle fournie dans la page au moment du calcul de la page)
+ if ($cle){
+ include_spip('inc/securiser_action');
+ if (!verifier_cle_action($doc['id_document'].','.$f, $cle)) {
+ spip_log("acces interdit $cle erronee");
+ $status = 403;
+ }
+ }
+ // en verifiant le droit explicitement sinon, plus lent !
+ else {
+ if (!function_exists("autoriser"))
+ include_spip("inc/autoriser");
+ if (!autoriser('voir', 'document', $doc['id_document'])) {
+ $status = 403;
+ spip_log("acces interdit $cle erronee");
+ }
+ }
+ }
+ }
+ }
+
+
+ switch($status) {
+
+ case 403:
+ include_spip('inc/minipres');
+ echo minipres("","","",true);
+ break;
+
+ case 404:
+ http_status(404);
+ include_spip('inc/minipres');
+ echo minipres(_T('erreur').' 404',
+ _T('medias:info_document_indisponible'),"",true);
+ break;
+
+ default:
+ header("Content-Type: ". $doc['mime_type']);
+ // pour les images ne pas passer en attachment
+ // sinon, lorsqu'on pointe directement sur leur adresse,
+ // le navigateur les downloade au lieu de les afficher
+
+ if ($doc['inclus']=='non') {
+
+ $f = basename($file);
+ // ce content-type est necessaire pour eviter des corruptions de zip dans ie6
+ header('Content-Type: application/octet-stream');
+
+ header("Content-Disposition: attachment; filename=\"$f\";");
+ header("Content-Transfer-Encoding: binary");
+
+ // fix for IE catching or PHP bug issue
+ header("Pragma: public");
+ header("Expires: 0"); // set expiration time
+ header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+
+ }
+ else {
+ header("Expires: 3600"); // set expiration time
+ }
+
+ if ($cl = filesize($file))
+ header("Content-Length: ". $cl);
+
+ readfile($file);
+ break;
+ }
+
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2008 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/charsets'); # pour le nom de fichier
+include_spip('base/abstract_sql');
+
+// acces aux documents joints securise
+// est appelee avec arg comme parametre CGI
+// mais peu aussi etre appele avec le parametre file directement
+// il verifie soit que le demandeur est authentifie
+// soit que le fichier est joint a au moins 1 article, breve ou rubrique publie
+
+// http://doc.spip.org/@action_autoriser_dist
+function action_autoriser_dist()
+{
+ $arg = intval(_request('arg'));
+
+ if (!autoriser('voir','document',$arg)
+ OR !($row = sql_fetsel("fichier","spip_documents","id_document=".intval($arg)))
+ OR !($file = $row['fichier'])
+ OR !(file_exists($file))
+ ) {
+ spip_log("Acces refuse (restreint) au document " . $arg . ': ' . $file);
+ redirige_par_entete('./?page=404');
+ }
+ else {
+ if (!function_exists('mime_content_type')) {
+ // http://doc.spip.org/@mime_content_type
+ function mime_content_type($f) {preg_match("/\.(\w+)/",$f,$r); return $r[1];}
+ }
+ $ct = mime_content_type($file);
+ $cl = filesize($file);
+ $filename = basename($file);
+ header("Content-Type: ". $ct);
+ header("Content-Disposition: attachment; filename=\"". $filename ."\";");
+ if ($dcc) header("Content-Description: " . $dcc);
+ if ($cl) header("Content-Length: ". $cl);
+
+ header("Content-Transfer-Encoding: binary");
+ readfile($file);
+ }
+}
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ * editer une zone (action apres creation/modif de zone)
+ *
+ * @param int $arg
+ * @return array
+ */
+function action_editer_zone_dist($arg=null){
+
+ if (is_null($arg)){
+ $securiser_action = charger_fonction('securiser_action', 'inc');
+ $arg = $securiser_action();
+ }
+
+ // Envoi depuis le formulaire d'edition d'une zone
+ if (!$id_zone = intval($arg)) {
+ $id_zone = zone_inserer();
+ }
+
+ if (!$id_zone)
+ return array(0,''); // erreur
+
+ if (_request('droits_admin')){
+ zone_lier($id_zone,'auteur',$GLOBALS['visiteur_session']['id_auteur']);
+ }
+
+ $err = zone_modifier($id_zone);
+
+ return array($id_zone,$err);
+}
+
+
+/**
+ * Inserer une zone en base
+ *
+ * @return int
+ */
+function zone_inserer() {
+
+ include_spip('inc/autoriser');
+ if (!autoriser('creer','zone'))
+ return false;
+
+ $champs = array(
+ 'publique'=>'non',
+ 'privee'=>'non',
+ );
+
+ // Envoyer aux plugins
+ $champs = pipeline('pre_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_zones',
+ ),
+ 'data' => $champs
+ )
+ );
+ $id_zone = sql_insertq("spip_zones", $champs);
+ pipeline('post_insertion',
+ array(
+ 'args' => array(
+ 'table' => 'spip_zones',
+ 'id_objet' => $id_zone
+ ),
+ 'data' => $champs
+ )
+ );
+ return $id_zone;
+}
+
+
+/**
+ * Modifier une zone en base
+ * $c est un contenu (par defaut on prend le contenu via _request())
+ *
+ * @param int $id_zone
+ * @param array $set
+ * @return string|bool
+ */
+function zone_modifier ($id_zone, $set=null) {
+
+ include_spip('inc/modifier');
+ $c = collecter_requests(
+ // white list
+ array('titre', 'descriptif','publique', 'privee'),
+ // black list
+ array(),
+ // donnees eventuellement fournies
+ $set
+ );
+
+ // Si la zone est publiee, invalider les caches et demander sa reindexation
+ $invalideur = $indexation = '';
+ $t = sql_getfetsel("statut", "spip_zones", "id_zone=$id_zone");
+ if ($t == 'publie') {
+ $invalideur = "id='zone/$id_zone'";
+ $indexation = true;
+ }
+
+ if ($err = objet_modifier_champs('zone', $id_zone,
+ array(
+ 'nonvide' => array('titre' => _T('info_sans_titre')),
+ 'invalideur' => $invalideur,
+ 'indexation' => $indexation
+ ),
+ $c))
+ return $err;
+
+
+ zone_lier($id_zone, 'rubrique', _request('rubriques'),'set');
+ return $err;
+}
+
+
+/**
+ * Mettre a jour les liens objets/zones.
+ * si zones vaut '', associe toutes les zones a(aux) objets(s).
+ * $ids est une liste d'id.
+ * $type est le type de l'objet (rubrique, auteur).
+ * $operation = add/set/del pour ajouter, affecter uniquement, ou supprimer les objets listes dans ids.
+ *
+ * @param int|array $zones
+ * @param string $type
+ * @param int|array $ids
+ * @param string $operation
+ */
+function zone_lier($zones,$type,$ids,$operation = 'add'){
+ include_spip('inc/autoriser');
+ include_spip('action/editer_liens');
+ if (!$zones)
+ $zones="*";
+ if (!$ids)
+ $ids = array();
+ elseif (!is_array($ids))
+ $ids = array($ids);
+
+ if ($operation=='del'){
+ // on supprime les ids listes
+ objet_dissocier(array('zone'=>$zones),array($type=>$ids));
+ }
+ else {
+ // si c'est une affectation exhaustive, supprimer les existants qui ne sont pas dans ids
+ // si c'est un ajout, ne rien effacer
+ if ($operation=='set'){
+ objet_dissocier(array('zone'=>$zones),array($type=>array("NOT",$ids)));
+ }
+ foreach ($ids as $id) {
+ if (autoriser('affecterzones',$type,$id,null,array('id_zone'=>$zones))) {
+ objet_associer(array('zone'=>$zones),array($type=>$id));
+ }
+ }
+ }
+}
+
+
+
+/**
+ * Supprimer une zone
+ *
+ * @param int $id_zone
+ * @return int
+ */
+function zone_supprimer($id_zone){
+ include_spip('action/editer_liens');
+ objet_dissocier(array('zone'=>$id_zone),array('*'=>'*'));
+
+ // puis la zone
+ sql_delete("spip_zones", "id_zone=".intval($id_zone));
+
+ $id_zone = 0;
+ return $id_zone;
+}
+
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function action_retirer_zone_dist(){
+ $securiser_action = charger_fonction('securiser_action','inc');
+ $arg = $securiser_action();
+
+ if (preg_match(',^([0-9]+|-1)-([a-z]+)-([0-9]+|-1)$,',$arg,$regs)){
+ $id_zone = intval($regs[1]);
+ $type = $regs[2];
+ $id_objet = intval($regs[3]);
+ include_spip('action/editer_zone');
+ if ($id_objet=='-1')
+ zone_lier($id_zone,$type,array(),'set');
+ else
+ zone_lier($id_zone,$type,$id_objet,'del');
+ }
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function action_supprimer_zone_dist(){
+ $securiser_action = charger_fonction('securiser_action','inc');
+ $arg = $securiser_action();
+
+ if ($id_zone = intval($arg)
+ AND autoriser('supprimer','zone',$id_zone)) {
+ include_spip('action/editer_zone');
+ zone_supprimer($id_zone);
+ }
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function accesrestreint_declarer_tables_interfaces($interface){
+ $interface['tables_jointures']['spip_auteurs'][] = 'zones_liens';
+ $interface['tables_jointures']['spip_zones'][] = 'zones_liens';
+ $interface['tables_jointures']['spip_rubriques'][] = 'zones_liens';
+
+ //-- Table des tables ----------------------------------------------------
+
+ $interface['table_des_tables']['zones']='zones';
+
+ return $interface;
+}
+
+function accesrestreint_declarer_tables_objets_sql($tables){
+ $tables['spip_zones'] = array(
+ 'texte_modifier' => 'accesrestreint:modifier_zone',
+ 'texte_creer' => 'accesrestreint:creer_zone',
+ 'texte_objets' => 'accesrestreint:titre_zones_acces',
+ 'texte_objet' => 'accesrestreint:titre_zone_acces',
+ 'texte_ajouter' => 'accesrestreint:texte_ajouter_zone',
+ 'texte_creer_associer' => 'accesrestreint:texte_creer_associer_zone',
+ 'info_aucun_objet'=> 'accesrestreint:info_aucune_zone',
+ 'info_1_objet' => 'accesrestreint:info_1_zone',
+ 'info_nb_objets' => 'accesrestreint:info_nb_zones',
+ 'url_voir' => 'zone_edit',
+ 'url_edit' => 'zone_edit',
+ 'page' => false,
+
+ 'principale' => "oui",
+ 'champs_editables' => array('titre', 'descriptif','publique', 'privee'),
+ 'field'=> array(
+ "id_zone" => "bigint(21) NOT NULL",
+ "titre" => "varchar(255) DEFAULT '' NOT NULL",
+ "descriptif" => "text DEFAULT '' NOT NULL",
+ "publique" => "char(3) DEFAULT 'oui' NOT NULL",
+ "privee" => "char(3) DEFAULT 'non' NOT NULL",
+ "maj" => "TIMESTAMP"
+ ),
+ 'key' => array(
+ "PRIMARY KEY" => "id_zone",
+ ),
+ 'titre' => "titre AS titre, '' AS lang",
+ );
+
+ return $tables;
+}
+
+function accesrestreint_declarer_tables_auxiliaires($tables_auxiliaires){
+
+ $spip_zones_liens = array(
+ "id_zone" => "bigint(21) DEFAULT '0' NOT NULL",
+ "id_objet" => "bigint(21) DEFAULT '0' NOT NULL",
+ "objet" => "VARCHAR (25) DEFAULT '' NOT NULL"
+ );
+
+ $spip_zones_liens_key = array(
+ "PRIMARY KEY" => "id_zone,id_objet,objet",
+ "KEY id_zone" => "id_zone"
+ );
+
+ $tables_auxiliaires['spip_zones_liens'] = array(
+ 'field' => &$spip_zones_liens,
+ 'key' => &$spip_zones_liens_key
+ );
+
+ return $tables_auxiliaires;
+}
+
+?>
--- /dev/null
+[(#REM)
+Cette page propose l'introduction de l'article et un formulaire de login.
+Elle peut etre appellée comme cela depuis article.html
+
+ </BOUCLE_article_principal>
+ [(#ID_ARTICLE|accesrestreint_article_restreint|?{' ',''}) <INCLURE{fond=intro_article}{id_article}> ]
+ [(#ID_ARTICLE|accesrestreint_article_restreint|?{'',' '}) Cette page n'existe pas ]
+ <//B_article_principal>
+
+]
+#CACHE{86400}
+<BOUCLE_intro(ARTICLES){id_article}{tout_voir}>
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html dir="#LANG_DIR" lang="#LANG">
+<head>
+<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
+[<meta name="description" content="(#INTRODUCTION|couper{150}|textebrut)" />]
+<INCLURE{fond=inc-head}>
+</head>
+
+<body class="page_article">
+<div id="page">
+
+ [(#REM) Entete de la page + titre du site ]
+ <INCLURE{fond=inc-entete}>
+
+ [(#REM) Fil d'Ariane ]
+ <div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a><BOUCLE_ariane(HIERARCHIE){id_article}> > <a href="#URL_RUBRIQUE">[(#TITRE|couper{80})]</a></BOUCLE_ariane>[ > (#TITRE|couper{80})]</div>
+
+
+ <div id="conteneur">
+
+ [(#REM) Contenu principal : contenu de l'article ]
+ <div id="contenu">
+<div class="cartouche">
+ #DEBUT_SURLIGNE
+ [(#LOGO_ARTICLE||image_reduire{200,200})]
+ [<p class="#EDIT{surtitre} surtitre">(#SURTITRE)</p>]
+ <h1 class="#EDIT{titre} titre">#TITRE</h1>
+ [<p class="#EDIT{soustitre} soustitre">(#SOUSTITRE)</p>]
+ #FIN_SURLIGNE
+
+ <p><small>[(#DATE|nom_jour) ][(#DATE|affdate)][, <:par_auteur:> (#LESAUTEURS)]</small></p>
+
+ [(#REM) Inclure le modele des liens de traductions ]
+ #MODELE{article_traductions}
+
+ </div>
+
+ #DEBUT_SURLIGNE
+ [<div class="#EDIT{texte} texte">(#INTRODUCTION)</div>]
+ #FIN_SURLIGNE
+
+ <?php if($GLOBALS['visiteur_session']){ ?>
+ <h3>Votre abonnement ne vous permet pas d'accéder à cette page</h3>
+ <?php }else{ ?>
+ <h3>Cette page est accéssible sur abonnement</h3>
+ <p>Vous pouvez vous abonner en <a class="spip_in" href="spip.php?page=abonnement_complet">cliquant ici</a></p>
+ <p>Si vous êtes déjà abonné, vous pouvez vous connecter à l'aide du formulaire ci-dessous</p>
+
+ #LOGIN_PUBLIC
+ <?php } ?>
+ </div><!-- fin contenu -->
+ [(#REM) Menu de navigation laterale ]
+ <div id="navigation">
+
+ [(#REM) Menu de navigation par rubriques ]
+ <INCLURE{fond=inc-rubriques}{id_rubrique}>
+
+ [(#REM) Articles dans la meme rubrique ]
+ <B_articles_rubrique>
+ <div class="breves">
+ <h2 class="menu-titre"><a href="#URL_RUBRIQUE"><:meme_rubrique:></a></h2>
+ <ul>
+ <BOUCLE_articles_rubrique(ARTICLES) {id_rubrique} {par date}{inverse} {0,10}>
+ <li><a href="#URL_ARTICLE"[ class="(#EXPOSE)"]>#TITRE</a></li>
+ </BOUCLE_articles_rubrique>
+ </ul>
+ </div>
+ </B_articles_rubrique>
+
+ [(#REM) Menu de navigation mots-cles ]
+ #MODELE{article_mots}
+
+ </div><!-- fin navigation -->
+ </div><!-- fin conteneur -->
+
+ [(#REM) Pied de page ]
+ <INCLURE{fond=inc-pied}{skel=#SQUELETTE}>
+
+</div><!-- fin page -->
+</body>
+</html>
+</BOUCLE_intro>
\ No newline at end of file
--- /dev/null
+[(#REM)
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+]<BOUCLE_articles(ARTICLES){', '}>#ID_ARTICLE</BOUCLE_articles>
+<BOUCLE_articles_tout_voir(ARTICLES){', '}{tout_voir}>#ID_ARTICLE</BOUCLE_articles_tout_voir>
+
+<BOUCLE_rubriques(RUBRIQUES){', '}>#ID_RUBRIQUE</BOUCLE_rubriques>
+
+<BOUCLE_breves(BREVES){', '}>#ID_BREVE</BOUCLE_breves>
+
+<BOUCLE_sites(SITES){', '}>#ID_SITE</BOUCLE_sites>
+
+<BOUCLE_forums(FORUMS){', '}>#ID_FORUM</BOUCLE_forums>
+
+<BOUCLE_signatures(SIGNATURES){', '}>#ID_SIGNATURE</BOUCLE_signatures>
+
+<BOUCLE_documents(DOCUMENTS){', '}>#ID_DOCUMENT</BOUCLE_documents>
+
+<BOUCLE_syndic_articles(SYNDIC_ARTICLES){', '}>#ID_SYNDIC_ARTICLE</BOUCLE_syndic_articles>
\ No newline at end of file
--- /dev/null
+<div class="ajax formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
+ [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+ [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+ [(#ENV{editable})
+ <form method='post' action='#ENV{action}'><div>
+ [(#REM) declarer les hidden qui declencheront le service du formulaire
+ parametre : url d'action ]
+ #ACTION_FORMULAIRE{#ENV{action}}
+ #SET{fl,accesrestreint}
+ <ul>
+ #SET{name,accesrestreint_proteger_documents}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+ <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+ <label><:accesrestreint:label_creer_htaccess:></label>[
+ <span class='erreur_message'>(#GET{erreurs})</span>
+ ]
+ <p class="explication"><:accesrestreint:explication_creer_htaccess:></p>
+ #SET{val,oui}
+ <div class="choix">
+ <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
+ <label for="#GET{name}_#GET{val}"><:accesrestreint:label_creer_htaccess_oui:></label>
+ </div>
+ #SET{val,non}
+ <div class="choix">
+ <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
+ <label for="#GET{name}_#GET{val}"><:accesrestreint:label_creer_htaccess_non:></label>
+ </div>
+ </li>
+ <li class="fieldset">
+ <fieldset>
+ <legend><:info_fichiers_authent:></legend>
+ <ul>
+ #SET{name,creer_htpasswd}#SET{obli,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+ <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+ [<span class='erreur_message'>(#GET{erreurs})</span>]
+ #SET{dossier,#VAL{_DIR_TMP}|constant|joli_repertoire|wrap{'<tt>'}}
+ <p class="explication"><:texte_fichier_authent{dossier=#GET{dossier}}:></p>
+ #SET{val,oui}
+ <div class="choix">
+ <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
+ <label for="#GET{name}_#GET{val}"><:item_creer_fichiers_authent:></label>
+ </div>
+ #SET{val,non}
+ <div class="choix">
+ <input type="radio" class="radio" name="#GET{name}" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name}}|=={#GET{val}}|oui)checked="checked"] />
+ <label for="#GET{name}_#GET{val}"><:item_non_creer_fichiers_authent:></label>
+ </div>
+ </li>
+ </ul>
+ </fieldset>
+ </li>
+ </ul>
+
+
+ [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+ <!--extra-->
+ <p class='boutons'><span class='image_loading'> </span>
+ <input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
+ </div></form>
+ ]
+</div>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function formulaires_configurer_accesrestreint_charger_dist(){
+ $valeurs = array(
+ 'accesrestreint_proteger_documents' => isset($GLOBALS['meta']["accesrestreint_proteger_documents"])?$GLOBALS['meta']["accesrestreint_proteger_documents"]:'non',
+ 'creer_htpasswd' => $GLOBALS['meta']["creer_htpasswd"]?$GLOBALS['meta']["creer_htpasswd"]:'non',
+ );
+
+ return $valeurs;
+}
+
+function formulaires_configurer_accesrestreint_traiter_dist(){
+
+ $champs = array('accesrestreint_proteger_documents','creer_htpasswd');
+ $current = $GLOBALS['meta']["accesrestreint_proteger_documents"];
+
+ foreach($champs as $c)
+ ecrire_meta($c,_request($c)=='oui'?'oui':'non');
+
+ // generer/supprimer les fichiers htaccess qui vont bien
+ include_spip("inc/accesrestreint_documents");
+ accesrestreint_gerer_htaccess($GLOBALS['meta']["accesrestreint_proteger_documents"]=="oui");
+
+ // si le reglage du htaccess a change, purger le cache
+ if ($GLOBALS['meta']["accesrestreint_proteger_documents"]!==$current) {
+ $purger = charger_fonction("purger","action");
+ $purger("cache");
+ }
+
+ return array('message_ok'=>_T('config_info_enregistree'),'editable'=>true);
+}
\ No newline at end of file
--- /dev/null
+<div class="formulaire_spip formulaire_editer formulaire_editer_zone formulaire_editer_zone-#ENV{id_zone,nouveau}">
+ [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
+ [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV**{message_erreur})</p>]
+ [(#ENV{editable})
+ <form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
+ [(#REM) declarer les hidden qui declencheront le service du formulaire
+ parametre : url d'action ]
+ #ACTION_FORMULAIRE{#ENV{action}}
+ <ul>
+ <li class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
+ <label for="titre"><:accesrestreint:titre_zones_acces:></label>[
+ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{titre})</span>
+ ]<input type='text' class='text' name='titre' id='titre' value="#ENV{titre}" />
+ </li>
+ [(#ENV{id_zone}|intval|non|et{#AUTORISER{modifier,zone}})
+ <li class='editer editer_droit_admin'>
+ <div class='choix'><input type='checkbox' name='droits_admin' value='oui' id='droits_admin' checked="checked" />
+ <label for='droits_admin'><:accesrestreint:ajouter_droits_auteur:></label></div>
+ </li>]
+ <li class='editer editer_publique_privee'>
+ <div class='choix'><input type='checkbox' name='publique' value='oui' id='publique'[ (#PUBLIQUE|=={oui}|oui)checked="checked"] />
+ <label for='publique'><:accesrestreint:zone_restreinte_publique:></label></div>
+ <div class='choix'><input type='checkbox' name='privee' value='oui' id='privee'[ (#PRIVEE|=={oui}|oui)checked="checked"] />
+ <label for='privee'><:accesrestreint:zone_restreinte_espace_prive:></label></div>
+ </li>
+ <li class="editer editer_descriptif[ (#ENV**{erreurs}|table_valeur{descriptif}|oui)erreur]">
+ <label for="descriptif"><:accesrestreint:descriptif:></label>[
+ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{descriptif})</span>
+ ]<textarea name='descriptif' rows='5' id='descriptif'>[(#ENV{descriptif})]</textarea>
+ </li>
+ <li class='editer editer_rubriques fieldset'><fieldset><legend><:accesrestreint:rubriques_zones_acces:></legend>
+ [(#INCLURE{fond=formulaires/inc-select_rubriques}{rubriques=#ENV{rubriques}})]</fieldset>
+ </li>
+ </ul>
+ [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+ <!--extra-->
+ <p class='boutons'><input type='submit' class='submit' value='[(#ENV{id_zone}|?{<:bouton_enregistrer:>,<:bouton_ajouter:>})]' /></p>
+ </div></form>
+ ]
+</div>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/actions');
+include_spip('inc/editer');
+
+function formulaires_editer_zone_charger_dist($id_zone='new', $retour='', $associer_objet='', $config_fonc='zones_edit_config', $row=array(), $hidden=''){
+ $valeurs = formulaires_editer_objet_charger('zone',$id_zone,0,0,$retour,$config_fonc,$row,$hidden);
+ include_spip('inc/accesrestreint');
+ // charger les rubriques associees a la zone
+ if ($id_zone = intval($id_zone)) {
+ $valeurs['rubriques'] = accesrestreint_liste_contenu_zone_rub_direct($id_zone);
+ } {
+ // cas d'une creation, regardons si l'url propose deja des rubriques
+ if ($r = _request('rubriques')) {
+ if (is_numeric($r)) {
+ $r = array($r);
+ }
+ if (is_array($r)) {
+ $valeurs['rubriques'] = $r;
+ }
+ }
+ }
+
+ return $valeurs;
+}
+
+function zones_edit_config(){
+ return array();
+}
+
+function formulaires_editer_zone_verifier_dist($id_zone='new', $retour='', $associer_objet='', $config_fonc='zones_edit_config', $row=array(), $hidden=''){
+ $erreurs = formulaires_editer_objet_verifier('zone',$id_zone,array('titre'));
+
+ return $erreurs;
+}
+
+function formulaires_editer_zone_traiter_dist($id_zone='new', $retour='', $associer_objet='', $config_fonc='zones_edit_config', $row=array(), $hidden=''){
+ if (_request('publique')!=='oui')
+ set_request('publique','non');
+ if (_request('privee')!=='oui')
+ set_request('privee','non');
+
+ $res = formulaires_editer_objet_traiter('zone',$id_zone,0,0,$retour,$config_fonc,$row,$hidden);
+
+ if ($retour AND $res['id_zone']) {
+ $res['redirect'] = parametre_url($retour,'id_zone',$res['id_zone']);
+ }
+ // Un lien auteur a prendre en compte ?
+ if ($associer_objet AND $id_zone=$res['id_zone']){
+ $objet = '';
+ if(preg_match(',^\w+\|[0-9]+$,',$associer_objet)){
+ list($objet,$id_objet) = explode('|',$associer_objet);
+ }
+ if ($objet AND $id_objet AND autoriser('modifier',$objet,$id_objet)){
+ zone_lier($id_zone,$objet,$id_objet);
+ if (isset($res['redirect']))
+ $res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $id_zone, '&');
+ }
+ }
+
+ return $res;
+}
+
+?>
--- /dev/null
+<B_rubriques>
+<ul class='hierarchie'>
+<li[(#VAL{0}|in_any{#ENV{rubriques}})class='checked']><div class='choix'><input type='checkbox' name='rubriques[]' value='0' id='rub0' [(#VAL{0}|in_any{#ENV{rubriques}})checked='checked']/><label for='rub0'><:info_racine_site:></label></div><ul>
+<BOUCLE_rubriques(RUBRIQUES){racine}{par num titre,titre}{tout}{tout_voir}>
+<li[(#ID_RUBRIQUE|in_any{#ENV{rubriques}})class='checked']><div class='choix'><input type='checkbox' name='rubriques[]' value='#ID_RUBRIQUE' id='rub#ID_RUBRIQUE' [(#ID_RUBRIQUE|in_any{#ENV{rubriques}})checked='checked']/><label for='rub#ID_RUBRIQUE'>#TITRE</label></div><B_enfants><ul>
+<BOUCLE_enfants(RUBRIQUES){id_parent}{par num titre,titre}{tout}{tout_voir}>
+<li[(#ID_RUBRIQUE|in_any{#ENV{rubriques}})class='checked']><div class='choix'><input type='checkbox' name='rubriques[]' value='#ID_RUBRIQUE' id='rub#ID_RUBRIQUE' [(#ID_RUBRIQUE|in_any{#ENV{rubriques}})checked='checked']/><label for='rub#ID_RUBRIQUE'>#TITRE</label></div><BOUCLE_rec(BOUCLE_enfants)/></li>
+</BOUCLE_enfants>
+</ul>
+</B_enfants>
+</li>
+</BOUCLE_rubriques>
+</ul></ul>
+</B_rubriques>
\ No newline at end of file
--- /dev/null
+[(#REM)
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+]<B_zones>
+<select[ name='(#ENV{name})'][ id='(#ENV{id})'] size='1'>
+<option value='x'><:accesrestreint:selectionner_une_zone:></option>
+<BOUCLE_zones(ZONES){!id_auteur=#ID_AUTEUR}>[
+(#AUTORISER{affecterzones,auteur,#ID_AUTEUR,'',#ARRAY{id_zone,#ID_ZONE}}|oui)<option value='#ID_ZONE'>#TITRE</option>
+]</BOUCLE_zones>
+</select>[
+(#TOTAL_BOUCLE|>{3}|oui)
+<a href='#URL_ACTION_AUTEUR{affecter_zone,-1-auteur-#ID_AUTEUR,#SELF}'><:accesrestreint:info_ajouter_zones:></a>]
+</B_zones>
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+// Liste des zones a laquelle appartient le visiteur, au format '1,2,3'
+// Cette fonction est appelee a chaque hit et peut etre completee (pipeline)
+/**
+ * Liste des zones a laquelle appartient le visiteur, au format '1,2,3'.
+ * Cette fonction est appelee a chaque hit et peut etre completee (pipeline)
+ *
+ * @param string $zones '1,2,3'
+ * @param int $id_auteur
+ * @return string '1,2,3'
+ */
+function accesrestreint_liste_zones_autorisees($zones='', $id_auteur=NULL) {
+ $id = NULL;
+ if (!is_null($id_auteur))
+ $id = $id_auteur;
+ elseif (isset($GLOBALS['visiteur_session']['id_auteur']) && $GLOBALS['visiteur_session']['id_auteur'])
+ $id = $GLOBALS['visiteur_session']['id_auteur'];
+ if (!is_null($id)) {
+ $new = accesrestreint_liste_zones_appartenance_auteur($id);
+ if ($zones AND $new) {
+ $zones = array_unique(array_merge(explode(',',$zones),$new));
+ sort($zones);
+ $zones = join(',', $zones);
+ } else if ($new) {
+ $zones = join(',', $new);
+ }
+ }
+ return $zones;
+}
+
+/**
+ * liste des rubriques contenues dans une zone, directement.
+ * pour savoir quelles rubriques on peut decocher
+ * si id_zone = '' : toutes les rub en acces restreint
+ *
+ * @param int|string $id_zone
+ * @return array
+ */
+function accesrestreint_liste_contenu_zone_rub_direct($id_zone){
+ $liste_rubriques=array();
+ // liste des rubriques directement liees a la zone
+ $where = array();
+ if (is_numeric($id_zone))
+ $where[] = "z.id_zone=".intval($id_zone);
+ elseif ($id_zone)
+ $where = $id_zone;
+
+ if (is_array($where))
+ $where[] = "zr.objet='rubrique'";
+ else
+ $where = "($where) AND zr.objet='rubrique'";
+
+ include_spip('base/abstract_sql');
+ $liste_rubriques = sql_allfetsel('id_objet','spip_zones_liens AS zr INNER JOIN spip_zones AS z ON zr.id_zone=z.id_zone',$where);
+ $liste_rubriques = array_map('reset',$liste_rubriques);
+ $liste_rubriques = array_unique($liste_rubriques);
+ return $liste_rubriques;
+}
+
+/**
+ * liste des rubriques contenues dans une zone, directement ou par heritage.
+ *
+ * @param int/string $id_zone
+ * @return array
+ */
+function accesrestreint_liste_contenu_zone_rub($id_zone){
+ include_spip('inc/rubriques');
+ $liste_rubriques = accesrestreint_liste_contenu_zone_rub_direct($id_zone);
+ if (!count($liste_rubriques))
+ return $liste_rubriques;
+ $liste_rubriques = calcul_branche_in(join(',',$liste_rubriques));
+ if (!strlen($liste_rubriques))
+ return array();
+ $liste_rubriques = explode(',',$liste_rubriques);
+ return $liste_rubriques;
+}
+
+
+/**
+ * liste des rubriques d'une zone et leurs rubriques parentes.
+ *
+ * @param int/string $id_zone
+ * @return array
+ */
+function accesrestreint_liste_parentee_zone_rub($id_zone){
+ include_spip('inc/rubriques');
+ $liste_rubriques = accesrestreint_liste_contenu_zone_rub_direct($id_zone);
+ if (!count($liste_rubriques))
+ return $liste_rubriques;
+
+ $id = $liste_rubriques;
+ while ($parents = sql_allfetsel('id_parent', 'spip_rubriques',
+ sql_in('id_rubrique', $id))) {
+ $parents = array_map('array_shift', $parents);
+ $parents = array_diff($parents, array(0));
+ $id = $parents;
+ $liste_rubriques = array_merge($liste_rubriques, $parents);
+ }
+
+ return $liste_rubriques;
+}
+
+/**
+ * Lister les zones auxquelles un auteur appartient
+ *
+ * @param int $id_auteur
+ * @return array
+ */
+function accesrestreint_liste_zones_appartenance_auteur($id_auteur){
+ static $liste_zones = array();
+ if (!isset($liste_zones[$id_auteur])){
+ include_spip('base/abstract_sql');
+ $liste_zones[$id_auteur] = sql_allfetsel("id_zone","spip_zones_liens","objet='auteur' AND id_objet=".intval($id_auteur));
+ $liste_zones[$id_auteur] = array_map('reset',$liste_zones[$id_auteur]);
+ }
+ return $liste_zones[$id_auteur];
+}
+
+/**
+ * Verifier si un auteur appartient a une zone.
+ * utilise la fonction precedente qui met en cache son resultat
+ * on optimise en fonction de l'hypothese que le nombre de zones est toujours reduit
+ *
+ * @param unknown_type $id_zone
+ * @param unknown_type $id_auteur
+ * @return unknown
+ */
+function accesrestreint_test_appartenance_zone_auteur($id_zone,$id_auteur){
+ return in_array($id_zone,accesrestreint_liste_zones_appartenance_auteur($id_auteur));
+}
+
+/**
+ * liste des auteurs contenus dans une zone
+ *
+ * @param int $id_zone
+ * @return array
+ */
+function accesrestreint_liste_contenu_zone_auteur($id_zone) {
+ $liste_auteurs=array();
+ include_spip('base/abstract_sql');
+ $liste_auteurs = sql_allfetsel("id_objet","spip_zones_liens","objet='auteur' AND id_zone=".intval($id_zone));
+ $liste_auteurs = array_map('reset',$liste_auteurs);
+ return $liste_auteurs;
+}
+
+/**
+ * fonctions de filtrage rubrique
+ * -> condition NOT IN
+ * Cette fonction renvoie la liste des rubriques interdites
+ * au visiteur courant
+ * d'ou le recours a $GLOBALS['accesrestreint_zones_autorisees']
+ *
+ * @param bool $publique Selectionner les rubriques interdites dans l'espace public (true) ou prive (false)
+ * @param int $id_auteur Identifiant de l'auteur
+ * @param bool $quelquesoit_visibilite Si true, on ne s'occupe pas de savoir si une zone est restreinte sur le prive ou sur le public.
+ * @return array
+ */
+function accesrestreint_liste_rubriques_exclues($publique=true, $id_auteur=NULL, $quelquesoit_visibilite = false) {
+ // cache static
+ static $liste_rub_exclues = array();
+ static $liste_rub_inclues = array();
+ if ($quelquesoit_visibilite) { $publique = 'tout'; }
+
+ if (is_null($id_auteur) AND isset($GLOBALS['visiteur_session']['id_auteur']))
+ $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
+ if (!isset($liste_rub_exclues[$id_auteur][$publique]) || !is_array($liste_rub_exclues[$id_auteur][$publique])) {
+
+ $where = array();
+ // Ne selectionner que les zones pertinentes
+ if (!$quelquesoit_visibilite) {
+ if ($publique)
+ $where[] = "publique='oui'";
+ else
+ $where[] = "privee='oui'";
+ }
+
+ // Si le visiteur est autorise sur certaines zones publiques,
+ // on selectionne les rubriques correspondant aux autres zones,
+ // sinon on selectionne toutes celles correspondant a une zone.
+ include_spip('base/abstract_sql');
+ if ($GLOBALS['accesrestreint_zones_autorisees']
+ AND $id_auteur==$GLOBALS['visiteur_session']['id_auteur'])
+ $where[] = sql_in('zr.id_zone',$GLOBALS['accesrestreint_zones_autorisees'],'NOT');
+ elseif ($id_auteur)
+ $where[] = sql_in('zr.id_zone',accesrestreint_liste_zones_autorisees('',$id_auteur),'NOT');
+
+ // liste les rubriques (+branches) des zones dont ne fait pas parti l'auteur
+ $liste_rub_exclues[$id_auteur][$publique] = accesrestreint_liste_contenu_zone_rub($where);
+ #$liste_rub_exclues[$publique] = array_unique($liste_rub_exclues[$publique]);
+ }
+ $final_liste_rub_exclues = $liste_rub_exclues[$id_auteur][$publique];
+
+ if (defined("AR_TYPE_RESTRICTION") AND AR_TYPE_RESTRICTION == "faible") {
+ // AR_TYPE_RESTRICTION definit le type de restriction pour traiter les elements communs a plusieurs zone
+ // Une restriction exclusive (ou forte) donne l'acces aux rubriques restreintes par
+ // plusieurs zone aux seuls membres de toutes les zones concernees.
+ // Une restriction faible donne acces a une rubrique, meme restreinte par
+ // plusieurs zones, aux membres de chaque zone concernee.
+ // valeurs : 'faible', 'forte, ou 'exclusive'
+
+ // Autrement dit, si une rubrique 2 est enfant d'une rubrique 1,
+ // et qu'il existe une zone 1 (rubrique 1) et une zone 2 (rubrique 2) :
+ // - un auteur present dans la zone 1 (uniquement) ne pourra pas voir la rubrique 2
+ // lorsque la restriction est "forte". Il le pourra avec une restriction "faible"
+ //
+ // - A l'inverse, un auteur present uniquement dans la zone 2 ne pourra pas voir
+ // la rubrique 1 meme si la restriction est "faible" car la parentee n'est pas concernee.
+ // il faut (si souhaite) dans ce cas definir en plus AR_TYPE_RESTRICTION_PARENTEE a "faible"
+ // pour l'autoriser.
+ if (!isset($liste_rub_inclues[$id_auteur][$publique]) OR !is_array($liste_rub_inclues[$id_auteur][$publique])) {
+
+ $where = array();
+ // Ne selectionner que les zones pertinentes
+ if (!$quelquesoit_visibilite) {
+ if ($publique)
+ $where[] = "publique='oui'";
+ else
+ $where[] = "privee='oui'";
+ }
+
+ // Calcul des rubriques dans des zones autorisees
+ include_spip('base/abstract_sql');
+ if ($GLOBALS['accesrestreint_zones_autorisees']
+ AND $id_auteur==$GLOBALS['visiteur_session']['id_auteur'])
+ $where[] = sql_in('zr.id_zone',$GLOBALS['accesrestreint_zones_autorisees']);
+ elseif ($id_auteur)
+ $where[] = sql_in('zr.id_zone',accesrestreint_liste_zones_autorisees('',$id_auteur));
+
+ // liste les rubriques (+branches) des zones de l'auteur
+ $liste_rub_inclues[$id_auteur][$publique] = accesrestreint_liste_contenu_zone_rub($where);
+
+ // pour autoriser la vue des rubriques parentes
+ // memes si elles sont restreintes par une autre zone
+ if (defined("AR_TYPE_RESTRICTION_PARENTEE") AND AR_TYPE_RESTRICTION_PARENTEE == "faible") {
+ $liste_rub_inclues[$id_auteur][$publique] =
+ array_merge($liste_rub_inclues[$id_auteur][$publique],
+ accesrestreint_liste_parentee_zone_rub($where));
+ }
+ }
+
+ // Ne pas exclure les elements qui sont autorises
+ $final_liste_rub_exclues = array_diff($final_liste_rub_exclues,
+ array_intersect($final_liste_rub_exclues,$liste_rub_inclues[$id_auteur][$publique]));
+ }
+
+ return $final_liste_rub_exclues;
+}
+
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/* pour que le pipeline ne rale pas ! */
+function accesrestreint_autoriser(){}
+
+/**
+ * Autorisation a administrer les zones
+ *
+ * @param unknown_type $faire
+ * @param unknown_type $quoi
+ * @param unknown_type $id
+ * @param unknown_type $qui
+ * @param unknown_type $opts
+ * @return unknown
+ */
+function autoriser_zone_administrer($faire,$quoi,$id,$qui,$opts){
+ if ($qui['statut']=='0minirezo' AND !$qui['restreint'])
+ return true;
+ return false;
+}
+
+/**
+ * Autorisation a affecter les zones a un auteur
+ * si un id_zone passe dans opts, cela concerne plus particulierement le droit d'affecter cette zone
+ *
+ * @param unknown_type $faire
+ * @param unknown_type $qui
+ * @param unknown_type $id
+ * @param unknown_type $qui
+ * @param unknown_type $opts
+ * @return unknown
+ */
+function autoriser_auteur_affecterzones_dist($faire,$quoi,$id,$qui,$opts){
+ if (!autoriser('modifier','auteur',$id)) return false;
+ if ($qui['statut']=='0minirezo' AND !$qui['restreint'])
+ return true;
+ # les non admin ne peuvent pas s'administrer eux meme pour eviter les erreurs
+ if ($id == $qui['id_auteur']) return false;
+ # les non admin ne peuvent affecter que les zones dont ils font partie
+ include_spip('inc/accesrestreint');
+ if ($opts['id_zone']
+ AND accesrestreint_test_appartenance_zone_auteur($opts['id_zone'], $qui['id_auteur']))
+ return true;
+ return false;
+}
+
+if(!function_exists('autoriser_rubrique_voir')) {
+function autoriser_rubrique_voir($faire, $type, $id, $qui, $opt) {
+ include_spip('inc/accesrestreint');
+ static $rub_exclues;
+ $publique = isset($opt['publique'])?$opt['publique']:!test_espace_prive();
+ $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
+ if (!isset($rub_exclues[$id_auteur][$publique]) || !is_array($rub_exclues[$id_auteur][$publique])) {
+ $rub_exclues[$id_auteur][$publique] = accesrestreint_liste_rubriques_exclues($publique,$id_auteur);
+ $rub_exclues[$id_auteur][$publique] = array_flip($rub_exclues[$id_auteur][$publique]);
+ }
+ return !isset($rub_exclues[$id_auteur][$publique][$id]);
+}
+}
+if(!function_exists('autoriser_article_voir')) {
+function autoriser_article_voir($faire, $type, $id, $qui, $opt) {
+ if (!$id){
+ if ($qui['statut'] == '0minirezo') return true;
+ if (isset($opt['statut'])){
+ $statut = $opt['statut'];
+ if (in_array($statut, array('prop', 'publie')))
+ return true;
+ }
+ return false;
+ }
+
+ include_spip('public/quete');
+ if (!isset($opt['id_rubrique']) OR !$id_rubrique = $opt['id_rubrique']){
+ $article = quete_parent_lang('spip_articles',$id);
+ $id_rubrique = $article['id_rubrique'];
+ }
+ if (autoriser_rubrique_voir('voir','rubrique',$id_rubrique,$qui,$opt)){
+ if ($qui['statut'] == '0minirezo') return true;
+ // un article 'prepa' ou 'poubelle' dont on n'est pas auteur : interdit
+ $r = sql_getfetsel("statut", "spip_articles", "id_article=".sql_quote($id));
+ include_spip('inc/auth'); // pour auteurs_article si espace public
+ return
+ in_array($r, array('prop', 'publie'))
+ OR auteurs_article($id, "id_auteur=".$qui['id_auteur']);
+ }
+ return false;
+}
+}
+if(!function_exists('autoriser_breve_voir')) {
+function autoriser_breve_voir($faire, $type, $id, $qui, $opt) {
+ include_spip('public/quete');
+ if (!$id_rubrique = $opt['id_rubrique']){
+ $breve = quete_parent_lang('spip_breves',$id);
+ $id_rubrique = $breve['id_rubrique'];
+ }
+ return autoriser_rubrique_voir('voir','rubrique',$id_rubrique,$qui,$opt);
+}
+}
+if(!function_exists('autoriser_site_voir')) {
+function autoriser_site_voir($faire, $type, $id, $qui, $opt) {
+ include_spip('public/quete');
+ if (!$id_rubrique = $opt['id_rubrique']){
+ $site = quete_parent_lang('spip_syndic',$id);
+ $id_rubrique = $site['id_rubrique'];
+ }
+ return autoriser_rubrique_voir('voir','rubrique',$id_rubrique,$qui,$opt);
+}
+}
+if(!function_exists('autoriser_evenement_voir')) {
+function autoriser_evenement_voir($faire, $type, $id, $qui, $opt) {
+ static $evenements_statut;
+ $publique = isset($opt['publique'])?$opt['publique']:!test_espace_prive();
+ $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
+ if (!isset($evenements_statut[$id_auteur][$publique][$id])){
+ $id_article = sql_getfetsel('id_article','spip_evenements','id_evenement='.intval($id));
+ $evenements_statut[$id_auteur][$publique][$id] = autoriser_article_voir('voir', 'article', $id_article, $qui, $opt);
+ }
+ return $evenements_statut[$id_auteur][$publique][$id];
+}
+}
+
+if(!function_exists('autoriser_document_voir')) {
+function autoriser_document_voir($faire, $type, $id, $qui, $opt) {
+ include_spip('public/accesrestreint');
+ static $documents_statut = array();
+ static $where = array();
+ $publique = isset($opt['publique'])?$opt['publique']:!test_espace_prive();
+ $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
+ if (!isset($documents_statut[$id_auteur][$publique][$id])){
+
+ // il faut hacker la meta "creer_htaccess" le temps du calcul de l'autorisation car le core
+ $clean_meta = false;
+ if (isset($GLOBALS['meta']["accesrestreint_proteger_documents"]) AND $GLOBALS['meta']["accesrestreint_proteger_documents"]=='oui'){
+ if (!isset($GLOBALS['meta']["creer_htaccess"]) OR $GLOBALS['meta']["creer_htaccess"] != 'oui'){
+ $GLOBALS['meta']["creer_htaccess"] = 'oui';
+ $clean_meta = true;
+ }
+ }
+
+ if (!$id)
+ $documents_statut[$id_auteur][$publique][$id] = autoriser_document_voir_dist($faire, $type, $id, $qui, $opt);
+ else {
+ if (!isset($where[$publique])){
+ $where[$publique] = accesrestreint_documents_accessibles_where('id_document', $publique?"true":"false");
+ // inclure avant le eval, pour que les fonctions soient bien definies
+ include_spip('inc/accesrestreint');
+ // eviter une notice sur $connect inexistant dans eval() qui suit
+ $connect = '';
+
+ $where[$publique] = eval("return ".$where[$publique].";");
+ }
+ $documents_statut[$id_auteur][$publique][$id] = sql_getfetsel('id_document','spip_documents',array('id_document='.intval($id),$where[$publique]));
+ if ($documents_statut[$id_auteur][$publique][$id])
+ $documents_statut[$id_auteur][$publique][$id] = autoriser_document_voir_dist($faire, $type, $id, $qui, $opt);
+ }
+
+ if ($clean_meta){
+ unset($GLOBALS['meta']["creer_htaccess"]);
+ }
+
+ }
+ return $documents_statut[$id_auteur][$publique][$id];
+}
+}
+
+?>
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ * on essaye de poser un htaccess rewrite global sur IMG/
+ * si fonctionne on gardera des ulrs de document permanente
+ * si ne fonctionne pas on se rabat sur creer_htaccess du core
+ * qui pose un deny sur chaque sous repertoire de IMG/
+ *
+ * http://doc.spip.org/@gerer_htaccess
+ *
+ * @param bool $active
+ * @return bool
+ */
+function accesrestreint_gerer_htaccess($active = true) {
+ if (!$active){
+ spip_unlink(_DIR_IMG . _ACCESS_FILE_NAME);
+ effacer_meta("creer_htaccess");
+ // effacer les xx/.htaccess crees eventuellement par le core
+ include_spip("inc/acces");
+ gerer_htaccess();
+ return false;
+ }
+ else {
+ $rewrite = <<<rewrite
+RewriteEngine On
+RewriteCond %{QUERY_STRING} ^(\d+/[\da-f]+)$
+RewriteRule ^\w+/.*$ ../spip.php?action=api_docrestreint&arg=%1/$0 [skip=100]
+RewriteRule ^\w+/.*$ ../spip.php?action=api_docrestreint&arg=0/0/$0 [skip=100]
+rewrite;
+ ecrire_fichier(_DIR_IMG . _ACCESS_FILE_NAME,$rewrite);
+ // verifier sur l'url de test
+ include_spip('inc/distant');
+ $url_test = url_absolue(_DIR_IMG . "test/.test?0/1");
+ $test = recuperer_page($url_test);
+ // si l'url de test renvoie bien "OK" alors rewrite rule fonctionne et on peut baser la protection de document sur ce shema
+ if ($test == "OK") {
+ effacer_meta("creer_htaccess"); // securite, et permet de generer des urls permanentes
+ }
+ else {
+ // sinon on se rabat sur un deny et on generera des urls moches
+ spip_unlink(_DIR_IMG . _ACCESS_FILE_NAME);
+ ecrire_meta("creer_htaccess","oui");
+ }
+ // dans tous les cas on passe par gerer_htaccess pour enlever ou mettre les .htaccess dans les sous rep
+ include_spip("inc/acces");
+ gerer_htaccess();
+
+ return true;
+ }
+}
--- /dev/null
+<traduction module="accesrestreint" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/acces_restreint/trunk/lang/" reference="fr">
+ <langue code="ar" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ar">
+ <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+ </langue>
+ <langue code="ast" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ast">
+ <traducteur nom="Xuacu" lien="http://trad.spip.net/auteur/xuacu" />
+ </langue>
+ <langue code="br" />
+ <langue code="ca" />
+ <langue code="de" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=de">
+ <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
+ </langue>
+ <langue code="en" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=en">
+ <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+ <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
+ </langue>
+ <langue code="es" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=es">
+ <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
+ </langue>
+ <langue code="fa" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=fa">
+ <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+ </langue>
+ <langue code="fr" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=fr">
+ <traducteur nom="Salvatore" lien="http://trad.spip.net/auteur/salvatore" />
+ </langue>
+ <langue code="fr_tu" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=fr_tu">
+ <traducteur nom="beatnick" lien="http://trad.spip.net/auteur/beatnick" />
+ <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
+ </langue>
+ <langue code="gl" />
+ <langue code="lb" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=lb">
+ <traducteur nom="jwander" lien="http://trad.spip.net/auteur/jwander" />
+ </langue>
+ <langue code="nl" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=nl">
+ <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+ <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
+ </langue>
+ <langue code="pt_br" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=pt_br">
+ <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
+ </langue>
+ <langue code="ro" />
+ <langue code="sk" url="http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=sk">
+ <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+ </langue>
+ <langue code="tr" />
+</traduction>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ar
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'إعطائي حق الدخول الى هذه المنطقة',
+ 'aucune_zone' => 'لا توجد أية منطقة',
+ 'auteurs' => 'المؤلفين',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'إنشاء المنطقة الجديدة',
+
+ // C
+ 'colonne_id' => 'الرقم',
+ 'confirmer_ajouter_auteurs' => 'هل انت متأكد من إضافة هذا المؤلف الى المنطقة؟',
+ 'confirmer_retirer_auteur_zone' => 'هل تريد فعلاً سحب هذا المؤلف من المنطقة؟',
+ 'confirmer_retirer_auteurs' => 'هل تريد فعلاً سحب جميع المؤلفين من المنطقة؟',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'هل تريد فعلاً حذف هذه المنطقة؟',
+ 'creer_zone' => 'إنشاء منطقة جديدة',
+
+ // D
+ 'descriptif' => 'الوصف',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'دخول محصور',
+ 'icone_supprimer_zone' => 'حذف هذه المنطقة',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'الوصول الى هذه الصفحة محصور. عليك التعريف بنفسك للوصول اليها',
+ 'info_ajouter_auteur' => 'إضافة مؤلف',
+ 'info_ajouter_auteurs' => 'إضافة جميع المؤلفين',
+ 'info_ajouter_zones' => 'إضافة كل المناطق',
+ 'info_aucun_acces' => 'لا يوجد أي دخول مسموح',
+ 'info_aucun_auteur' => 'لا يوجد أي مؤلف في المنطقة',
+ 'info_aucune_zone' => 'لا توجد أية منطقة',
+ 'info_auteurs_lies_zone' => 'المؤلفون المسموح لهم الدخول الى هذه المنطقة',
+ 'info_lien_action_proteger' => 'حماية الوصول الى هذا القسم.',
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'تتيح لك هذه الصفحة إدارة مناطق الدخول المحصور في الموقع',
+ 'info_retirer_auteurs' => 'سحب جميع المؤلفين',
+ 'info_retirer_zone' => 'سحب من المنطقة',
+ 'info_retirer_zones' => 'إلغاء كل المناطق',
+ 'info_rubrique_dans_zone' => 'هذا القسم هو ضمن المنطقة:',
+ 'info_rubrique_dans_zones' => 'هذا القسم هو ضمن المناطق:',
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'تعديل المنطقة',
+
+ // P
+ 'page_zones_acces' => 'دخول محصور',
+ 'par_titre' => 'حسب الاسم',
+ 'privee' => 'الخاص',
+ 'publique' => 'العمومي',
+
+ // R
+ 'rubriques' => 'أقسام',
+ 'rubriques_zones_acces' => 'أقسام المنطقة',
+
+ // S
+ 'selectionner_une_zone' => 'تحديد منطقة',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'الاسم',
+ 'titre_ajouter_zone' => 'الربط بالمنطقة',
+ 'titre_boite_protegee_non' => 'وصول غير محمي',
+ 'titre_boite_protegee_oui' => 'وصول محمي',
+ 'titre_cadre_modifier_zone' => 'تعديل منطقة',
+ 'titre_page_config' => 'إعداد الدخول',
+ 'titre_table' => 'كل مناطق الدخول',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'مناطق الدخول المحصور',
+ 'toutes' => 'الكل',
+
+ // V
+ 'voir_toutes' => 'عرض كل المناطق',
+
+ // Z
+ 'zone_numero' => '<strong>منطقة رقم</strong>',
+ 'zone_restreinte_espace_prive' => 'حصر الدخول الى هذه المنطقة في المجال الخاص',
+ 'zone_restreinte_publique' => 'حصر الدخول الى هذه المنطقة في الموقع العمومي'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ast
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Axuntame a los que tienen permitío entrar n\'esta estaya',
+ 'aucune_zone' => 'Denguna zona',
+ 'auteurs' => 'autores',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Crear la estaya nueva',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => '¿Tas seguru de que quies amestar esti autor a la zona?',
+ 'confirmer_retirer_auteur_zone' => '¿Tas seguru de que quiés retirar esti autor de la zona?',
+ 'confirmer_retirer_auteurs' => '¿Tas seguru de que quiés retirar toos los autores d\'esta zona?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => '¿Tas seguru que quies desaniciar esta zona?',
+ 'creer_zone' => 'Crear una estaya nueva',
+
+ // D
+ 'descriptif' => 'Descrición',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Accesu Torgáo',
+ 'icone_supprimer_zone' => 'Desaniciar esta estaya',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accesu a esta páxina ta llendáu. Identificate pa poder entrar',
+ 'info_ajouter_auteur' => 'Amestar esti autor',
+ 'info_ajouter_auteurs' => 'Amestar toos los autores',
+ 'info_ajouter_zones' => 'Añadir toes les estayes',
+ 'info_aucun_acces' => 'Dengún accesu autorizáu',
+ 'info_aucun_auteur' => 'Dengún autor na zona',
+ 'info_aucune_zone' => 'Denguna zona',
+ 'info_auteurs_lies_zone' => 'Los autores con accesu a esta estaya',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Estae páxina te permite xestionar les estayes con accesu torgáu nel to sitiu',
+ 'info_retirer_auteurs' => 'Retirar toos los autores',
+ 'info_retirer_zone' => 'Quitar de la estaya',
+ 'info_retirer_zones' => 'Quitar de toes les estayes',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Iguar la zona',
+
+ // P
+ 'page_zones_acces' => 'Accesu Torgáo',
+ 'par_titre' => 'Pol títulu',
+ 'privee' => 'Privao',
+ 'publique' => 'Públicu',
+
+ // R
+ 'rubriques' => 'seiciones',
+ 'rubriques_zones_acces' => 'Seiciones de la estaya',
+
+ // S
+ 'selectionner_une_zone' => 'Seleicionar una estaya',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Títulu',
+ 'titre_ajouter_zone' => 'Amestar la estaya',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Iguar una zona',
+ 'titre_page_config' => 'Configuración de los accesos',
+ 'titre_table' => 'Toes les estayes d\'accesu',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Estayes d\'accesu torgáo',
+ 'toutes' => 'Toes',
+
+ // V
+ 'voir_toutes' => 'Ver toes les estayes',
+
+ // Z
+ 'zone_numero' => 'ESTAYA NÚMBERU:',
+ 'zone_restreinte_espace_prive' => 'Torgar l\'accesu a esta estaya nel espaciu priváo',
+ 'zone_restreinte_publique' => 'Torgar l\'accesu a esta estaya na parte pública'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=br
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Ouzhpennañ gwirioù moned din-me evit an takad-mañ',
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'skridaozerien',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Krouiñ an takad nevez',
+
+ // C
+ 'colonne_id' => 'Niv.',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Ha sur oc\'h e fell deoc\'h lemel kuit an aozer-mañ eus an takad ?',
+ 'confirmer_retirer_auteurs' => 'Ha sur oc\'h e fell deoc\'h lemel kuit an holl aozerien eus an takad ?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Ha sur oc\'h e fell deoc\'h diverkañ an takad ?',
+ 'creer_zone' => 'Krouiñ un takad nevez',
+
+ // D
+ 'descriptif' => 'Deskrivadur',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Moned bevennet',
+ 'icone_supprimer_zone' => 'Diverkañ an takad-mañ',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Ouzhpennañ an aozer-mañ',
+ 'info_ajouter_auteurs' => 'Ouzhpennañ an holl aozerien',
+ 'info_ajouter_zones' => 'Ouzhpennañ an holl dakadoù',
+ 'info_aucun_acces' => 'Moned ebet aotreet',
+ 'info_aucun_auteur' => 'Aozer ebet en takad',
+ 'info_aucune_zone' => 'Takad ebet',
+ 'info_auteurs_lies_zone' => 'Ar skridaozerien ganto ur moned war-zu an takad-mañ',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Gant ar bajenn-mañ e c\'hellit merañ takadoù eus ho lec\'hienn bevennet ar moned outo.',
+ 'info_retirer_auteurs' => 'Lemel kuit an holl aozerien',
+ 'info_retirer_zone' => 'Lemel kuit eus an takad',
+ 'info_retirer_zones' => 'Lemel kuit eus an holl dakadoù',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Kemmañ an takad',
+
+ // P
+ 'page_zones_acces' => 'Moned bevennet',
+ 'par_titre' => 'Dre ditloù',
+ 'privee' => 'Prevez',
+ 'publique' => 'Foran',
+
+ // R
+ 'rubriques' => 'rubrikennoù',
+ 'rubriques_zones_acces' => 'Rubrikennoù an takad',
+
+ // S
+ 'selectionner_une_zone' => 'Diuzañ un takad',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titl',
+ 'titre_ajouter_zone' => 'Tizhout an takad',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Kemmañ un takad',
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'An holl dakadoù moned',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Takad bevennet ar moned outañ',
+ 'toutes' => 'An holl',
+
+ // V
+ 'voir_toutes' => 'Gwelet an holl dakadoù',
+
+ // Z
+ 'zone_numero' => 'TAKAD NIVERENN :',
+ 'zone_restreinte_espace_prive' => 'Bevenniñ ar moned ouzh an takad-mañ el lodenn brevez',
+ 'zone_restreinte_publique' => 'Bevenniñ ar moned ouzh an takad-mañ el lodenn foran'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ca
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Afegir-me els drets d\'accés a aquesta zona',
+ 'aucune_zone' => 'Cap zona',
+ 'auteurs' => 'autors',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Crear la nova zona',
+
+ // C
+ 'colonne_id' => 'Núm',
+ 'confirmer_ajouter_auteurs' => 'Esteu segurs de voler afegir aquest autor a la zona?',
+ 'confirmer_retirer_auteur_zone' => 'Estàs segur que vols retirar aquest autor de la zona?',
+ 'confirmer_retirer_auteurs' => 'Estàs segur que vols retirar tots els autors d\'aquesta zona?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Estàs segur que vols suprimir aquesta zona?',
+ 'creer_zone' => 'Crear una nova zona',
+
+ // D
+ 'descriptif' => 'Descripció',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Accés Restringit ',
+ 'icone_supprimer_zone' => 'Suprimir aquesta zona',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accés a aquesta pàgina està restringit. Us heu d\'identificar per accedir-hi',
+ 'info_ajouter_auteur' => 'Afegir aquest autor',
+ 'info_ajouter_auteurs' => 'Afegir tots els autors',
+ 'info_ajouter_zones' => 'Afegir totes les zones',
+ 'info_aucun_acces' => 'Cap accés autoritzat',
+ 'info_aucun_auteur' => 'Cap autor a la zona',
+ 'info_aucune_zone' => 'Cap zona',
+ 'info_auteurs_lies_zone' => 'Els autors que tenen accés a aquesta zona',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Aquesta pàgina permet gestionar les zones d\'accés restringit del vostre lloc',
+ 'info_retirer_auteurs' => 'Retirar tots els autors',
+ 'info_retirer_zone' => 'Treure de la zona',
+ 'info_retirer_zones' => 'Treure de totes les zones',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modificar la zona',
+
+ // P
+ 'page_zones_acces' => 'Accés Restringit',
+ 'par_titre' => 'Per títol',
+ 'privee' => 'Privat',
+ 'publique' => 'Públic',
+
+ // R
+ 'rubriques' => 'seccions',
+ 'rubriques_zones_acces' => 'Seccions de la zona',
+
+ // S
+ 'selectionner_une_zone' => 'Seleccionar una zona',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Títol',
+ 'titre_ajouter_zone' => 'Tornar a la zona',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modificar una zona',
+ 'titre_page_config' => 'Configuració de l\'accés',
+ 'titre_table' => 'Totes les zones d\'accés',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zones d\'accés restringit',
+ 'toutes' => 'Totes',
+
+ // V
+ 'voir_toutes' => 'Veure totes les zones',
+
+ // Z
+ 'zone_numero' => 'ZONA NÚMERO :',
+ 'zone_restreinte_espace_prive' => 'Restringir l\'accés a aquesta zona a l\'espai privat',
+ 'zone_restreinte_publique' => 'Restringir l\'accés a aquesta zona a la part pública'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=de
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Mir selbst Zugangsberechtigung für diesen Bereich erteilen',
+ 'aucune_zone' => 'Kein Bereich',
+ 'auteurs' => 'Autoren',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Neuen Bereich erstellen',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'wollen sie diesen Autor wirklich dieser Zone zuordnen?',
+ 'confirmer_retirer_auteur_zone' => 'Möchten Sie diesen Autor wirklich aus dem Bereich entfernen?',
+ 'confirmer_retirer_auteurs' => 'Möchten wirklich alle Autoren aus dem Bereich entfernen?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Wollen Sie diesen Bereich wirklich löschen?',
+ 'creer_zone' => 'Neuen Bereich anlegen',
+
+ // D
+ 'descriptif' => 'Beschreibung',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Zugangskontrolle',
+ 'icone_supprimer_zone' => 'Bereich löschen',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'Diese Seite ist geschützt. Bitte melden sie sich an, um auf sie zuzugreifen.',
+ 'info_ajouter_auteur' => 'Autor hinzufügen',
+ 'info_ajouter_auteurs' => 'Alle Autoren hinzufügen',
+ 'info_ajouter_zones' => 'Alle Bereichen hinzufügen',
+ 'info_aucun_acces' => 'Zugriff verboten',
+ 'info_aucun_auteur' => 'Kein Autor für diesen Bereich',
+ 'info_aucune_zone' => 'Kein Bereich',
+ 'info_auteurs_lies_zone' => 'Autoren mit Zugang zu diesem Bereich',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Hier können Sie die Bereiche mit Zugangskontrolle verwalten.',
+ 'info_retirer_auteurs' => 'ALle Autoren entfernen',
+ 'info_retirer_zone' => 'Bereich löschen',
+ 'info_retirer_zones' => 'Alle Bereiche löschen',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Bereich ändern',
+
+ // P
+ 'page_zones_acces' => 'Zugangskontrolle',
+ 'par_titre' => 'Nach Titel',
+ 'privee' => 'Privat',
+ 'publique' => 'Öffentlich',
+
+ // R
+ 'rubriques' => 'Rubriken',
+ 'rubriques_zones_acces' => 'Rubriken des Bereiches',
+
+ // S
+ 'selectionner_une_zone' => 'Bereich auswählen',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titel',
+ 'titre_ajouter_zone' => 'zum Bereich zufügen',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Bereich ändern',
+ 'titre_page_config' => 'Zugangskonfiguration',
+ 'titre_table' => 'Alle Bereiche mit Zugangskontrolle ',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Bereiche mit Zugangskontrolle ',
+ 'toutes' => 'Alle',
+
+ // V
+ 'voir_toutes' => 'Alle Bereiche anzeigen',
+
+ // Z
+ 'zone_numero' => 'BEREICH NUMMER:',
+ 'zone_restreinte_espace_prive' => 'Zugang im Redaktionsbereich konrollieren',
+ 'zone_restreinte_publique' => 'Zugang zu diesem Bereich in der öffentlichen Webseite kontrollieren'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=en
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Give me access to this area',
+ 'aucune_zone' => 'No zones',
+ 'auteurs' => 'authors',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuring .htaccess access',
+ 'bouton_creer_la_zone' => 'Create new area',
+
+ // C
+ 'colonne_id' => '#',
+ 'confirmer_ajouter_auteurs' => 'Are you sure you want to add this author to the area?',
+ 'confirmer_retirer_auteur_zone' => 'Are you sure you wish to remove this author from this area?',
+ 'confirmer_retirer_auteurs' => 'Are you sure you wish to remove all authors from this area?',
+ 'confirmer_retirer_rubrique_zone' => 'Are you sure you want to remove this section of this zone?',
+ 'confirmer_supprimer_zone' => 'Are you sure you want to delete this area?',
+ 'creer_zone' => 'Create a new area',
+
+ // D
+ 'descriptif' => 'Description',
+
+ // E
+ 'explication_creer_htaccess' => 'This option prevents reading the attached documents if the text to which they relate is not published',
+
+ // I
+ 'icone_menu_config' => 'Restricted access',
+ 'icone_supprimer_zone' => 'Delete this area',
+ 'info_1_zone' => '1 zone',
+ 'info_acces_restreint' => 'Access to this page is restricted. Please log in to continue',
+ 'info_ajouter_auteur' => 'Add this author',
+ 'info_ajouter_auteurs' => 'Add all authors',
+ 'info_ajouter_zones' => 'Add all areas',
+ 'info_aucun_acces' => 'No access allowed',
+ 'info_aucun_auteur' => 'No authors in the area',
+ 'info_aucune_zone' => 'No areas',
+ 'info_auteurs_lies_zone' => 'Authors with access to this area',
+ 'info_lien_action_proteger' => 'Restrict access to this section',
+ 'info_nb_zones' => '@nb@ zones',
+ 'info_page' => 'This page allows you to create restricted areas in your site',
+ 'info_retirer_auteurs' => 'Remove all authors',
+ 'info_retirer_zone' => 'Remove from area',
+ 'info_retirer_zones' => 'Remove from all areas',
+ 'info_rubrique_dans_zone' => 'This section is in area:',
+ 'info_rubrique_dans_zones' => 'This section is in areas:',
+
+ // L
+ 'label_creer_htaccess' => 'Access to the attached document by their URL',
+ 'label_creer_htaccess_non' => 'allow read',
+ 'label_creer_htaccess_oui' => 'forbid the reading',
+
+ // M
+ 'modifier_zone' => 'Edit the area',
+
+ // P
+ 'page_zones_acces' => 'Restricted Access',
+ 'par_titre' => 'By title',
+ 'privee' => 'Private',
+ 'publique' => 'Public',
+
+ // R
+ 'rubriques' => 'sections',
+ 'rubriques_zones_acces' => 'Sections in this area',
+
+ // S
+ 'selectionner_une_zone' => 'Select a restricted area',
+
+ // T
+ 'texte_ajouter_zone' => 'Add a zone',
+ 'texte_creer_associer_zone' => 'Create and assign a zone',
+ 'titre' => 'Title',
+ 'titre_ajouter_zone' => 'Add to a restricted area',
+ 'titre_boite_protegee_non' => 'Unrestricted access',
+ 'titre_boite_protegee_oui' => 'Restricted access',
+ 'titre_cadre_modifier_zone' => 'Edit an area',
+ 'titre_page_config' => 'Configure access rights',
+ 'titre_table' => 'All restricted areas',
+ 'titre_zone_acces' => 'Restricted access zone',
+ 'titre_zones_acces' => 'Restricted areas',
+ 'toutes' => 'All',
+
+ // V
+ 'voir_toutes' => 'Show all areas',
+
+ // Z
+ 'zone_numero' => 'AREA NUMBER:',
+ 'zone_restreinte_espace_prive' => 'Restrict access to this area in the private area',
+ 'zone_restreinte_publique' => 'Restrict access to this area in the public site'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=es
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Otorgarme derechos de acceso para esta área',
+ 'aucune_zone' => 'Ningún área',
+ 'auteurs' => 'autores',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuración de accesos .htaccess',
+ 'bouton_creer_la_zone' => 'Crear la nueva área',
+
+ // C
+ 'colonne_id' => 'Nº',
+ 'confirmer_ajouter_auteurs' => '¿Está seguro de querer añadir este autor al área?',
+ 'confirmer_retirer_auteur_zone' => '¿Está seguro de querer retirar este autor del área?',
+ 'confirmer_retirer_auteurs' => '¿Está seguro de querer retirar todos los autores de esta área?',
+ 'confirmer_retirer_rubrique_zone' => '¿Está seguro de querer retirar esta sección de esta área?',
+ 'confirmer_supprimer_zone' => '¿Esta seguro de querer eliminar esta área?',
+ 'creer_zone' => 'Crear una nueva área',
+
+ // D
+ 'descriptif' => 'Descripción',
+
+ // E
+ 'explication_creer_htaccess' => 'Esta opción impide la lectura de los documentos adjuntos si el texto al que se refieren no está publicado',
+
+ // I
+ 'icone_menu_config' => 'Acceso restringido',
+ 'icone_supprimer_zone' => 'Eliminar esta área',
+ 'info_1_zone' => '1 área',
+ 'info_acces_restreint' => 'El acceso a esta página está restringido. Identifíquese para acceder a ella. ',
+ 'info_ajouter_auteur' => 'Añadir este autor',
+ 'info_ajouter_auteurs' => 'Añadir todos los autores',
+ 'info_ajouter_zones' => 'Añadir todas las áreas',
+ 'info_aucun_acces' => 'Ningún acceso autorizado',
+ 'info_aucun_auteur' => 'Ningún autor en el área',
+ 'info_aucune_zone' => 'Ningún área',
+ 'info_auteurs_lies_zone' => 'Los autores con acceso a esta área',
+ 'info_lien_action_proteger' => 'Proteger el acceso a esta sección',
+ 'info_nb_zones' => '@nb@ áreas',
+ 'info_page' => 'Esta página permite administrar las áreas de acceso restringido en el sitio',
+ 'info_retirer_auteurs' => 'Retirar todos los autores',
+ 'info_retirer_zone' => 'Quitar del área',
+ 'info_retirer_zones' => 'Quitar de todas las áreas',
+ 'info_rubrique_dans_zone' => 'Esta sección es parte del área:',
+ 'info_rubrique_dans_zones' => 'Esta sección es parte de las áreas:',
+
+ // L
+ 'label_creer_htaccess' => 'Acceso a los documentos adjuntos por su URL',
+ 'label_creer_htaccess_non' => 'autorizar la lectura',
+ 'label_creer_htaccess_oui' => 'prohibir la lectura',
+
+ // M
+ 'modifier_zone' => 'Modificar el área',
+
+ // P
+ 'page_zones_acces' => 'Acceso Restringido',
+ 'par_titre' => 'Por título',
+ 'privee' => 'Privado',
+ 'publique' => 'Público',
+
+ // R
+ 'rubriques' => 'secciones',
+ 'rubriques_zones_acces' => 'Secciones del área',
+
+ // S
+ 'selectionner_une_zone' => 'Seleccionar un área',
+
+ // T
+ 'texte_ajouter_zone' => 'Añadir un área',
+ 'texte_creer_associer_zone' => 'Crear y asociar un área',
+ 'titre' => 'Título',
+ 'titre_ajouter_zone' => 'Agregar el área',
+ 'titre_boite_protegee_non' => 'Acceso no protegido',
+ 'titre_boite_protegee_oui' => 'Acceso protegido',
+ 'titre_cadre_modifier_zone' => 'Modificar un área',
+ 'titre_page_config' => 'Configuración de accesos',
+ 'titre_table' => 'Todas las áreas de acceso',
+ 'titre_zone_acces' => 'Área de acceso restringido',
+ 'titre_zones_acces' => 'Áreas de acceso restringido',
+ 'toutes' => 'Todas',
+
+ // V
+ 'voir_toutes' => 'Ver todas las áreas',
+
+ // Z
+ 'zone_numero' => 'ÁREA NÚMERO:',
+ 'zone_restreinte_espace_prive' => 'Restringir el acceso a esta área en el espacio privado',
+ 'zone_restreinte_publique' => 'Restringir el acceso a esta área en la parte pública'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://www.spip.net/trad-lang/
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'M\'ajouter les droits d\'accès à cette zone', # NEW
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'Egileak',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Are berria sortu',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Êtes vous sûr de vouloir retirer cet auteur de la zone ?', # NEW
+ 'confirmer_retirer_auteurs' => 'Êtes vous sûr de vouloir retirer tous les auteurs de cette zone ?', # NEW
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Êtes vous sûr de vouloir supprimer cette zone ?', # NEW
+ 'creer_zone' => 'Are berri bat sortu',
+
+ // D
+ 'descriptif' => 'Deskripzioa',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Sarbide murriztua',
+ 'icone_supprimer_zone' => 'Are hori kendu',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Ajouter cet auteur', # NEW
+ 'info_ajouter_auteurs' => 'Ajouter tous les auteurs', # NEW
+ 'info_ajouter_zones' => 'Are guziak gehitu',
+ 'info_aucun_acces' => 'Aucun accès autorisé', # NEW
+ 'info_aucun_auteur' => 'Aucun auteur dans la zone', # NEW
+ 'info_aucune_zone' => 'Aucune zone', # NEW
+ 'info_auteurs_lies_zone' => 'Are hunetara sarbidea daukaten autoreak',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Cette page vous permet de gérer les zones d\'accès restreint de votre site', # NEW
+ 'info_retirer_auteurs' => 'Retirer tous les auteurs', # NEW
+ 'info_retirer_zone' => 'Aretik kendu',
+ 'info_retirer_zones' => 'Are guzietarik kendu',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modifier la zone', # NEW
+
+ // P
+ 'page_zones_acces' => 'Sarbide murriztua',
+ 'par_titre' => 'Par titre', # NEW
+ 'privee' => 'Pribatua',
+ 'publique' => 'Publikoa',
+
+ // R
+ 'rubriques' => 'gaiak',
+ 'rubriques_zones_acces' => 'Areko gaiak',
+
+ // S
+ 'selectionner_une_zone' => 'Are bat aukeratu',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titulu',
+ 'titre_ajouter_zone' => 'Rejoindre la zone', # NEW
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modifier une zone', # NEW
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'Toutes les zones d\'accès', # NEW
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zones d\'accès restreint', # NEW
+ 'toutes' => 'Toutes', # NEW
+
+ // V
+ 'voir_toutes' => 'Are guziak ikusi',
+
+ // Z
+ 'zone_numero' => 'ZONE NUMÉRO :', # NEW
+ 'zone_restreinte_espace_prive' => 'Restreindre l\'accès à cette zone dans l\'espace privé', # NEW
+ 'zone_restreinte_publique' => 'Restreindre l\'accès à cette zone dans la partie publique' # NEW
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=fa
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'حق دسترسي به اين عرصه را به من بدهيد',
+ 'aucune_zone' => 'هيچ منطقه',
+ 'auteurs' => 'نويسندگان',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'ايجاد منطقهي جديد',
+
+ // C
+ 'colonne_id' => 'شماره',
+ 'confirmer_ajouter_auteurs' => 'آيا مطمئن هستيد كه ميخواهيد اين نويسنده را به اين منطقه اضافه كنيد؟',
+ 'confirmer_retirer_auteur_zone' => 'آي مطمئن هستيد كه ميخواهيد اين نويسنده را از اين منطقه حذف كنيد؟',
+ 'confirmer_retirer_auteurs' => 'آيا مطمئن هستيد كه ميخواهيد تمام اين نويسندگان را از اين منطقه حذف كنيد؟',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'آيا مطمئن هستيد كه ميخواهيد اين منطقه را حذف كنيد؟',
+ 'creer_zone' => 'ايجاد يك منطقهي جديد',
+
+ // D
+ 'descriptif' => 'توصيف ',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'دسترسي محدود',
+ 'icone_supprimer_zone' => 'حذف اين منطقه',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'دسترسي به اين صفحه محدود است. لطفاً براي دسترسي به آن خودتان را معرفي كنيد. ',
+ 'info_ajouter_auteur' => 'اين نويسنده را اضافه كنيد',
+ 'info_ajouter_auteurs' => 'تمام نويسندگان را اضافه كنيد',
+ 'info_ajouter_zones' => 'تمام منطقهها را اضافه كنيد',
+ 'info_aucun_acces' => 'دسترسي مجاز نيست',
+ 'info_aucun_auteur' => 'نويسندهاي در منطقه نيست',
+ 'info_aucune_zone' => 'هيچ منطقه',
+ 'info_auteurs_lies_zone' => 'نويسندگان داراي دسترسي به اين منطقه',
+ 'info_lien_action_proteger' => 'عدم دسترسي به اين بخش. ',
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'اين صفحه به شما اجازه ميدهد مناطق محدود سايت خود را اداره كنيد',
+ 'info_retirer_auteurs' => 'حذف تمام نويسندگان',
+ 'info_retirer_zone' => 'حذف منطقه',
+ 'info_retirer_zones' => 'حذف تمام منطقهها',
+ 'info_rubrique_dans_zone' => 'اين بخش در اين منطقه قرار دارد:',
+ 'info_rubrique_dans_zones' => 'اين بخش در اين مناطق قرار دارد:',
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'اصلاح منطقه',
+
+ // P
+ 'page_zones_acces' => 'دسترسي محدود',
+ 'par_titre' => 'با تيتر ',
+ 'privee' => 'خصوصي',
+ 'publique' => 'همگاني',
+
+ // R
+ 'rubriques' => 'بخشها',
+ 'rubriques_zones_acces' => 'بخشهاي منطقه',
+
+ // S
+ 'selectionner_une_zone' => 'انتخاب يك منطقه',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'تيتر ',
+ 'titre_ajouter_zone' => 'افزودن به منطقهي محدود',
+ 'titre_boite_protegee_non' => 'دسترسي بدون منع',
+ 'titre_boite_protegee_oui' => 'دسترسي ممنوع شده',
+ 'titre_cadre_modifier_zone' => 'اصلاح يك منطقه',
+ 'titre_page_config' => 'پيكربندي دسترسيها',
+ 'titre_table' => 'تمام منطقههاي محدود',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'منطقههاي محدود',
+ 'toutes' => 'همه',
+
+ // V
+ 'voir_toutes' => 'ديدن تمام منطقهها',
+
+ // Z
+ 'zone_numero' => 'منطقهي شمارهي: ',
+ 'zone_restreinte_espace_prive' => 'دسترسي محدود به اين منطقه در قسمت شخصي',
+ 'zone_restreinte_publique' => 'دسترسي محدود به اين منطقه در سايت همگاني'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/acces_restreint/trunk/lang/
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'M\'ajouter les droits d\'accès à cette zone',
+ 'aucune_zone' => 'Aucune zone',
+ 'auteurs' => 'auteurs',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess',
+ 'bouton_creer_la_zone' => 'Créer la nouvelle zone',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?',
+ 'confirmer_retirer_auteur_zone' => 'Êtes vous sûr de vouloir retirer cet auteur de la zone ?',
+ 'confirmer_retirer_auteurs' => 'Êtes vous sûr de vouloir retirer tous les auteurs de cette zone ?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?',
+ 'confirmer_supprimer_zone' => 'Êtes vous sûr de vouloir supprimer cette zone ?',
+ 'creer_zone' => 'Créer une nouvelle zone',
+
+ // D
+ 'descriptif' => 'Descriptif',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié',
+
+ // I
+ 'icone_menu_config' => 'Accès Restreint',
+ 'icone_supprimer_zone' => 'Supprimer cette zone',
+ 'info_1_zone' => '1 zone',
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder',
+ 'info_ajouter_auteur' => 'Ajouter cet auteur',
+ 'info_ajouter_auteurs' => 'Ajouter tous les auteurs',
+ 'info_ajouter_zones' => 'Ajouter toutes les zones',
+ 'info_aucun_acces' => 'Aucun accès autorisé',
+ 'info_aucun_auteur' => 'Aucun auteur dans la zone',
+ 'info_aucune_zone' => 'Aucune zone',
+ 'info_auteurs_lies_zone' => 'Les auteurs ayant accès à cette zone',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.',
+ 'info_nb_zones' => '@nb@ zones',
+ 'info_page' => 'Cette page vous permet de gérer les zones d\'accès restreint de votre site',
+ 'info_retirer_auteurs' => 'Retirer tous les auteurs',
+ 'info_retirer_zone' => 'Enlever de la zone',
+ 'info_retirer_zones' => 'Enlever de toutes les zones',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :',
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :',
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux documents joints par leur URL',
+ 'label_creer_htaccess_non' => 'autoriser la lecture',
+ 'label_creer_htaccess_oui' => 'interdire la lecture',
+
+ // M
+ 'modifier_zone' => 'Modifier la zone',
+
+ // P
+ 'page_zones_acces' => 'Accès Restreint',
+ 'par_titre' => 'Par titre',
+ 'privee' => 'Privée',
+ 'publique' => 'Publique',
+
+ // R
+ 'rubriques' => 'rubriques',
+ 'rubriques_zones_acces' => 'Rubriques de la zone',
+
+ // S
+ 'selectionner_une_zone' => 'Sélectionner une zone',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone',
+ 'texte_creer_associer_zone' => 'Créer et associer une zone',
+ 'titre' => 'Titre',
+ 'titre_ajouter_zone' => 'Rejoindre la zone',
+ 'titre_boite_protegee_non' => 'Accès non protégé',
+ 'titre_boite_protegee_oui' => 'Accès protégé',
+ 'titre_cadre_modifier_zone' => 'Modifier une zone',
+ 'titre_page_config' => 'Configuration des accès',
+ 'titre_table' => 'Toutes les zones d\'accès',
+ 'titre_zone_acces' => 'Zone d\'accès restreint',
+ 'titre_zones_acces' => 'Zones d\'accès restreint',
+ 'toutes' => 'Toutes',
+
+ // V
+ 'voir_toutes' => 'Voir toutes les zones',
+
+ // Z
+ 'zone_numero' => 'ZONE NUMÉRO :',
+ 'zone_restreinte_espace_prive' => 'Restreindre l\'accès à cette zone dans l\'espace privé',
+ 'zone_restreinte_publique' => 'Restreindre l\'accès à cette zone dans la partie publique'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=fr_tu
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'M\'ajouter les droits d\'accès à cette zone',
+ 'aucune_zone' => 'Aucune zone',
+ 'auteurs' => 'auteurs',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Créer la nouvelle zone',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Es-tu sûr de vouloir ajouter cet auteur à la zone ?',
+ 'confirmer_retirer_auteur_zone' => 'Es-tu sûr de vouloir retirer cet auteur de la zone ?',
+ 'confirmer_retirer_auteurs' => 'Es-tu sûr de vouloir retirer tous les auteurs de cette zone ?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Es-tu sûr de vouloir supprimer cette zone ?',
+ 'creer_zone' => 'Créer une nouvelle zone',
+
+ // D
+ 'descriptif' => 'Descriptif',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Accès Restreint',
+ 'icone_supprimer_zone' => 'Supprimer cette zone',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifie toi pour y accéder',
+ 'info_ajouter_auteur' => 'Ajouter cet auteur',
+ 'info_ajouter_auteurs' => 'Ajouter tous les auteurs',
+ 'info_ajouter_zones' => 'Ajouter toutes les zones',
+ 'info_aucun_acces' => 'Aucun accès autorisé',
+ 'info_aucun_auteur' => 'Aucun auteur dans la zone',
+ 'info_aucune_zone' => 'Aucune zone',
+ 'info_auteurs_lies_zone' => 'Les auteurs ayant accès à cette zone',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.',
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Cette page te permets de gérer les zones d\'accès restreint de ton site',
+ 'info_retirer_auteurs' => 'Retirer tous les auteurs',
+ 'info_retirer_zone' => 'Enlever de la zone',
+ 'info_retirer_zones' => 'Enlever de toutes les zones',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :',
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :',
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modifier la zone',
+
+ // P
+ 'page_zones_acces' => 'Accès Restreint',
+ 'par_titre' => 'Par titre',
+ 'privee' => 'Privée',
+ 'publique' => 'Publique',
+
+ // R
+ 'rubriques' => 'rubriques',
+ 'rubriques_zones_acces' => 'Rubriques de la zone',
+
+ // S
+ 'selectionner_une_zone' => 'Sélectionner une zone',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titre',
+ 'titre_ajouter_zone' => 'Rejoindre la zone',
+ 'titre_boite_protegee_non' => 'Accès non protégé',
+ 'titre_boite_protegee_oui' => 'Accès protégé',
+ 'titre_cadre_modifier_zone' => 'Modifier une zone',
+ 'titre_page_config' => 'Configuration des accès',
+ 'titre_table' => 'Toutes les zones d\'accès',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zones d\'accès restreint',
+ 'toutes' => 'Toutes',
+
+ // V
+ 'voir_toutes' => 'Voir toutes les zones',
+
+ // Z
+ 'zone_numero' => 'ZONE NUMÈRO :',
+ 'zone_restreinte_espace_prive' => 'Restreindre l\'accès à cette zone dans l\'espace privé',
+ 'zone_restreinte_publique' => 'Restreindre l\'accès à cette zone dans la partie publique'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=gl
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Engadir os dereitos de acceso a esta zona',
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'autores',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Crear a nova zona',
+
+ // C
+ 'colonne_id' => 'Núm.',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Está vostede seguro de querer retirar este autor da zona?',
+ 'confirmer_retirer_auteurs' => 'Está vostede seguro de querer retirar a todos os autores desta zona?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Está seguro de querer suprimir esta zona?',
+ 'creer_zone' => 'Crear unha nova zona',
+
+ // D
+ 'descriptif' => 'Descritivo',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Acceso restrinxido',
+ 'icone_supprimer_zone' => 'Suprimir esta zona',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Engadir este autor',
+ 'info_ajouter_auteurs' => 'Engadir todos os autores',
+ 'info_ajouter_zones' => 'Engadir todas as zonas',
+ 'info_aucun_acces' => 'Non está autorizado ningún acceso',
+ 'info_aucun_auteur' => 'Non hai ningún autor na zona',
+ 'info_aucune_zone' => 'Ningunha zona',
+ 'info_auteurs_lies_zone' => 'Os autores que teñen acceso a esta zona',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Esta páxina permite xestionar as zonas de acceso restrinxido do seu web',
+ 'info_retirer_auteurs' => 'Retirar a todos os autores',
+ 'info_retirer_zone' => 'Retirar da zona',
+ 'info_retirer_zones' => 'Retirar de todas as zonas',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modificar a zona',
+
+ // P
+ 'page_zones_acces' => 'Acceso restrinxido',
+ 'par_titre' => 'Por título',
+ 'privee' => 'Privado',
+ 'publique' => 'Público',
+
+ // R
+ 'rubriques' => 'seccións',
+ 'rubriques_zones_acces' => 'Seccións da zona',
+
+ // S
+ 'selectionner_une_zone' => 'Seleccionar unha zona',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Título',
+ 'titre_ajouter_zone' => 'Reconectar a zona',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modificar unha zona',
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'Todas as zonas de acceso',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zonas de acceso restrinxido',
+ 'toutes' => 'Todas',
+
+ // V
+ 'voir_toutes' => 'Ver todas as zonas',
+
+ // Z
+ 'zone_numero' => 'ZONA NÚMERO :',
+ 'zone_restreinte_espace_prive' => 'Restrinxir o acceso a esta zona no espazo privado',
+ 'zone_restreinte_publique' => 'Restrinxir o acceso a esta zona na parte pública'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://www.spip.net/trad-lang/
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Aggiungimi i diritti di accesso in questa zona',
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'autori',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Crea la nuova zona',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Êtes vous sûr de vouloir retirer cet auteur de la zone ?', # NEW
+ 'confirmer_retirer_auteurs' => 'Êtes vous sûr de vouloir retirer tous les auteurs de cette zone ?', # NEW
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Êtes vous sûr de vouloir supprimer cette zone ?', # NEW
+ 'creer_zone' => 'Crea una nuova zona',
+
+ // D
+ 'descriptif' => 'Descrizione',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Accesso limitato',
+ 'icone_supprimer_zone' => 'Elimina questa zona',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Ajouter cet auteur', # NEW
+ 'info_ajouter_auteurs' => 'Ajouter tous les auteurs', # NEW
+ 'info_ajouter_zones' => 'Aggiungi tutte le zone',
+ 'info_aucun_acces' => 'Aucun accès autorisé', # NEW
+ 'info_aucun_auteur' => 'Aucun auteur dans la zone', # NEW
+ 'info_aucune_zone' => 'Aucune zone', # NEW
+ 'info_auteurs_lies_zone' => 'Gli autori che possono accedere a questa zona',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Questa pagina permette di gestire le zone di accesso limitato del proprio sito ',
+ 'info_retirer_auteurs' => 'Retirer tous les auteurs', # NEW
+ 'info_retirer_zone' => 'Togli la zona',
+ 'info_retirer_zones' => 'Togli tutte le zone',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modifier la zone', # NEW
+
+ // P
+ 'page_zones_acces' => 'Accesso limitato',
+ 'par_titre' => 'Par titre', # NEW
+ 'privee' => 'Privata',
+ 'publique' => 'Pubblica',
+
+ // R
+ 'rubriques' => 'rubriche',
+ 'rubriques_zones_acces' => 'Rubriche della zona',
+
+ // S
+ 'selectionner_une_zone' => 'Seleziona una zona',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titolo',
+ 'titre_ajouter_zone' => 'Unisci la zona',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modifier une zone', # NEW
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'Tutte le zone di accesso',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zone ad accesso limitato',
+ 'toutes' => 'Toutes', # NEW
+
+ // V
+ 'voir_toutes' => 'Vedi tutte le zone',
+
+ // Z
+ 'zone_numero' => 'ZONA NUMERO:',
+ 'zone_restreinte_espace_prive' => 'Limitare l\'accesso a questa zona nell\'area riservata',
+ 'zone_restreinte_publique' => 'Limitare l\'accesso a questa zona nell\'area pubblica'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=lb
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Mir Rechter fir dës Zone ginn',
+ 'aucune_zone' => 'Kéng Zone',
+ 'auteurs' => 'Auteuren',
+
+ // B
+ 'bouton_configurer_acces' => 'Astellen vum .htaccess',
+ 'bouton_creer_la_zone' => 'Déi nei Zone derbäi setzen',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Soll dësen Auteur wierklech bei dës Zone bäigesat ginn?',
+ 'confirmer_retirer_auteur_zone' => 'Wëllt dir dësen Auteur aus dëser Zone ewech huelen?',
+ 'confirmer_retirer_auteurs' => 'Wëllt dir wierklech all d\'Auteuren aus dëser Zone ewech huelen?',
+ 'confirmer_retirer_rubrique_zone' => 'Wëllt dir dës Rubrik aus dëser Zone ewech huelen?',
+ 'confirmer_supprimer_zone' => 'Wëllt dir dës Zone wierklech läschen?',
+ 'creer_zone' => 'Eng nei Zone derbäi setzen',
+
+ // D
+ 'descriptif' => 'Beschreiwung',
+
+ // E
+ 'explication_creer_htaccess' => 'Dës Optioun verhënnert d\'Uweisen vu verlinkten Dokumenter wann den Text nët verëffentlecht ass', # MODIF
+
+ // I
+ 'icone_menu_config' => 'Limitéierten Zougang',
+ 'icone_supprimer_zone' => 'Dës Zone läschen',
+ 'info_1_zone' => '1 Zone',
+ 'info_acces_restreint' => 'Den Zougang zu dëser Säit ass beschränkt. Loggt Iech an',
+ 'info_ajouter_auteur' => 'Dësen Auteur bäiflécken',
+ 'info_ajouter_auteurs' => 'All d\'Auteure bäiflécken',
+ 'info_ajouter_zones' => 'All d\'Zonen derbäi setzen',
+ 'info_aucun_acces' => 'Keen erlaabten Zougang',
+ 'info_aucun_auteur' => 'Keen Auteur an dëser Zone',
+ 'info_aucune_zone' => 'Keng Zone',
+ 'info_auteurs_lies_zone' => 'D\'Auteuren déi Zougang an dës Zone hun',
+ 'info_lien_action_proteger' => 'Den Zougang op dës Rubrik aschränken.',
+ 'info_nb_zones' => '@nb@ Zonen',
+ 'info_page' => 'Dës Säit erlabt déi limitéiert Zonen vun ärem Site anzestellen',
+ 'info_retirer_auteurs' => 'All d\'Auteuren ewech huelen',
+ 'info_retirer_zone' => 'Vun der Zone ewech huelen',
+ 'info_retirer_zones' => 'Vun allen Zonen ewech huelen',
+ 'info_rubrique_dans_zone' => 'Dës Rubrik gehéiert zur Zone:',
+ 'info_rubrique_dans_zones' => 'Dës Rubrik gehéiert zu den Zonen:',
+
+ // L
+ 'label_creer_htaccess' => 'Zougang op verlinkten Dokumenter iwwert d\'Url', # MODIF
+ 'label_creer_htaccess_non' => 'Liesen erlaaben',
+ 'label_creer_htaccess_oui' => 'Liesen verbidden',
+
+ // M
+ 'modifier_zone' => 'Zone änneren',
+
+ // P
+ 'page_zones_acces' => 'Limitéierten Zougang',
+ 'par_titre' => 'No Titel',
+ 'privee' => 'Privat',
+ 'publique' => 'Öffentlech',
+
+ // R
+ 'rubriques' => 'Rubriken',
+ 'rubriques_zones_acces' => 'Rubriken vun der Zone',
+
+ // S
+ 'selectionner_une_zone' => 'Eng Zone auswielen',
+
+ // T
+ 'texte_ajouter_zone' => 'Eng Zone bäiflécken',
+ 'texte_creer_associer_zone' => 'Eng Zone erstellen an zouweisen',
+ 'titre' => 'Titel',
+ 'titre_ajouter_zone' => 'Bei d\'Zone derbäi kommen',
+ 'titre_boite_protegee_non' => 'Zougang nët ageschränkt',
+ 'titre_boite_protegee_oui' => 'Zougang ageschränkt',
+ 'titre_cadre_modifier_zone' => 'Eng Zone änneren',
+ 'titre_page_config' => 'Zougäng astellen',
+ 'titre_table' => 'All Zougangs-Zonen',
+ 'titre_zone_acces' => 'Ageschränkten Zone',
+ 'titre_zones_acces' => 'Zonen mat limitéiertem Zougang',
+ 'toutes' => 'Alleguer',
+
+ // V
+ 'voir_toutes' => 'All Zonen weisen',
+
+ // Z
+ 'zone_numero' => 'ZONE NUMMER:',
+ 'zone_restreinte_espace_prive' => 'Den Zougang an dës Zone am privaten Deel limitéieren',
+ 'zone_restreinte_publique' => 'Den Zougang an dës Zone am öffentlëchen Deel limitéieren'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=nl
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Me de rechten van toegang tot deze zone toevoegen',
+ 'aucune_zone' => 'Geen zone',
+ 'auteurs' => 'auteurs',
+
+ // B
+ 'bouton_configurer_acces' => 'Toegang configureren .htaccess',
+ 'bouton_creer_la_zone' => 'De nieuwe zone creëren',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Ben je zeker dat je wilt deze auteur toe te voegen aan het gebied ?',
+ 'confirmer_retirer_auteur_zone' => 'Bent u te willen zeker deze auteur van de zone terugtrekken?',
+ 'confirmer_retirer_auteurs' => 'Bent u te willen zeker alle auteurs van deze zone terugtrekken ?',
+ 'confirmer_retirer_rubrique_zone' => 'Weet je zeker dat je dit gedeelte van dit gebied te verwijderen ?',
+ 'confirmer_supprimer_zone' => 'Bent u te willen zeker deze zone afschaffen?',
+ 'creer_zone' => 'Een nieuwe zone creëren',
+
+ // D
+ 'descriptif' => 'Werktekening',
+
+ // E
+ 'explication_creer_htaccess' => 'Deze optie voorkomt het lezen van de bijgevoegde documenten als de tekst waarop zij betrekking hebben is niet gepubliceerd', # MODIF
+
+ // I
+ 'icone_menu_config' => 'Beperkte toegang',
+ 'icone_supprimer_zone' => 'Deze zone afschaffen',
+ 'info_1_zone' => '1 zone',
+ 'info_acces_restreint' => 'De toegang tot deze pagina is beperkt. Log in om toegang te krijgen',
+ 'info_ajouter_auteur' => 'Deze auteur toevoegen',
+ 'info_ajouter_auteurs' => 'Alle auteurs toevoegen',
+ 'info_ajouter_zones' => 'Alle zones toevoegen',
+ 'info_aucun_acces' => 'Geen enkele bevoegde toegang',
+ 'info_aucun_auteur' => 'Geen enkele auteur in de zone',
+ 'info_aucune_zone' => 'Geen enkele zone',
+ 'info_auteurs_lies_zone' => 'De auteurs die toegang tot deze zone hebben',
+ 'info_lien_action_proteger' => 'Bescherm de toegang tot dit gedeelte.',
+ 'info_nb_zones' => '@nb@ zones',
+ 'info_page' => 'Deze bladzijde laat u toe om de zones van beperkte toegang van uwsite te beheren',
+ 'info_retirer_auteurs' => 'Alle auteurs terugtrekken',
+ 'info_retirer_zone' => 'De zone wegnemen',
+ 'info_retirer_zones' => 'Alle zones wegnemen',
+ 'info_rubrique_dans_zone' => 'Deze post maakt deel uit van het gebied :',
+ 'info_rubrique_dans_zones' => 'Deze post maakt deel uit van de zones :',
+
+ // L
+ 'label_creer_htaccess' => 'De toegang tot het document bevestigd door de URL', # MODIF
+ 'label_creer_htaccess_non' => 'laten lezen',
+ 'label_creer_htaccess_oui' => 'verbieden afspelen',
+
+ // M
+ 'modifier_zone' => 'De zone wijzigen',
+
+ // P
+ 'page_zones_acces' => 'Beperkte toegang',
+ 'par_titre' => 'Per titel',
+ 'privee' => 'Beroofd',
+ 'publique' => 'Openbaar',
+
+ // R
+ 'rubriques' => 'rubrieken',
+ 'rubriques_zones_acces' => 'Rubrieken van de zone',
+
+ // S
+ 'selectionner_une_zone' => 'Een zone selecteren',
+
+ // T
+ 'texte_ajouter_zone' => 'Voeg een zone',
+ 'texte_creer_associer_zone' => 'Maken en toewijzen van een zone',
+ 'titre' => 'Titel',
+ 'titre_ajouter_zone' => 'Met de zone overeenkomen',
+ 'titre_boite_protegee_non' => 'Onbeschermde toegang',
+ 'titre_boite_protegee_oui' => 'Protected Access',
+ 'titre_cadre_modifier_zone' => 'Een zone wijzigen',
+ 'titre_page_config' => 'Toegang configureren',
+ 'titre_table' => 'Alle zones van toegang',
+ 'titre_zone_acces' => 'Beperkt gebied',
+ 'titre_zones_acces' => 'Zones van beperkte toegang',
+ 'toutes' => 'Iedereen',
+
+ // V
+ 'voir_toutes' => 'Zie alle zones',
+
+ // Z
+ 'zone_numero' => 'ZONE NUMBER :',
+ 'zone_restreinte_espace_prive' => 'De toegang tot deze zone in de particuliere ruimte beperken',
+ 'zone_restreinte_publique' => 'De toegang tot deze zone in het openbare deel beperken'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=pt_br
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Conceder-me direitos de acesso a esta área',
+ 'aucune_zone' => 'Nenhuma zona',
+ 'auteurs' => 'autores',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Criar a nova área',
+
+ // C
+ 'colonne_id' => 'Nº.',
+ 'confirmer_ajouter_auteurs' => 'Você quer realmente incluir este autor na zona?',
+ 'confirmer_retirer_auteur_zone' => 'Você quer mesmo retirar este autor da zona?',
+ 'confirmer_retirer_auteurs' => 'Voc6e quer mesmo retirar todos os autores da zona?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Você quer realmente excluir esta zona?',
+ 'creer_zone' => 'Criar uma nova área',
+
+ // D
+ 'descriptif' => 'Descrição rápida',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Acesso Restrito',
+ 'icone_supprimer_zone' => 'Excluir está área',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'O acesso a esta página é restrito. Identifique-se para acessá-la',
+ 'info_ajouter_auteur' => 'Incluir este autor',
+ 'info_ajouter_auteurs' => 'Incluir todos os autores',
+ 'info_ajouter_zones' => 'Incluir todas as áreas',
+ 'info_aucun_acces' => 'Nenhum acesso permitido',
+ 'info_aucun_auteur' => 'Nenhum autor na zona',
+ 'info_aucune_zone' => 'Nenhuma zona',
+ 'info_auteurs_lies_zone' => 'Os autores com acesso a esta área',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'esta página permite-lhe gerar as áreas de acesso restrito do seu site',
+ 'info_retirer_auteurs' => 'Excluir todos os autores',
+ 'info_retirer_zone' => 'Retirar da área',
+ 'info_retirer_zones' => 'retirar de todas as áreas',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Alterar a zona',
+
+ // P
+ 'page_zones_acces' => 'Acesso Restrito',
+ 'par_titre' => 'Por título',
+ 'privee' => 'Privado',
+ 'publique' => 'Publicado',
+
+ // R
+ 'rubriques' => 'seções',
+ 'rubriques_zones_acces' => 'Seções da área',
+
+ // S
+ 'selectionner_une_zone' => 'Selecionar uma área',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Título',
+ 'titre_ajouter_zone' => 'Aderir à área',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Alterar uma zona',
+ 'titre_page_config' => 'Configuração dos acessos',
+ 'titre_table' => 'Todas as áreas de acesso',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Áreas de acesso restrito',
+ 'toutes' => 'Todas',
+
+ // V
+ 'voir_toutes' => 'Ver todas as áreas',
+
+ // Z
+ 'zone_numero' => 'ÁREA NÚMERO:',
+ 'zone_restreinte_espace_prive' => 'Restringir o acesso a esta área no espaço privado',
+ 'zone_restreinte_publique' => 'restringir o acesso a esta área na área pública'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=ro
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Adaugă-mi drepturile de acces la această zonă',
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'autori',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Creaţi noua zonă',
+
+ // C
+ 'colonne_id' => 'Num',
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Sunteţi sigur ca vreţi să scoateţi autorul din această zonă ?',
+ 'confirmer_retirer_auteurs' => 'Sunteţi sigur că vreţi să retrageţi toţi autorii din această zonă ?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Sunteţi sigur că vreţi să suprimaţi această zonă ?',
+ 'creer_zone' => 'Creaţi o zonă nouă',
+
+ // D
+ 'descriptif' => 'Descriere',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Acces Restrâns',
+ 'icone_supprimer_zone' => 'Ştergeţi această zonă',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Adăugaţi acest autor',
+ 'info_ajouter_auteurs' => 'Adăugaţi toţi autorii',
+ 'info_ajouter_zones' => 'Adăugaţi toate zonele',
+ 'info_aucun_acces' => 'Nici un acces autorizat',
+ 'info_aucun_auteur' => 'Nici un autor în această zonă',
+ 'info_aucune_zone' => 'Nici o zonă',
+ 'info_auteurs_lies_zone' => 'Autorii care au acces la această zonă',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Această pagină vă permite să gestionaţi zonele de acces restrâns din cadrul site-ului dumneavostră',
+ 'info_retirer_auteurs' => 'Retrageţi toţi autorii',
+ 'info_retirer_zone' => 'Scoateţi din zonă',
+ 'info_retirer_zones' => 'Scoateţi din toate zonele',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modificaţi zona',
+
+ // P
+ 'page_zones_acces' => 'Acces Restrâns',
+ 'par_titre' => 'După titlu',
+ 'privee' => 'Privată',
+ 'publique' => 'Publică',
+
+ // R
+ 'rubriques' => 'rubrici',
+ 'rubriques_zones_acces' => 'Rubricile zonei',
+
+ // S
+ 'selectionner_une_zone' => 'Selecţionaţi o zonă',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titlu',
+ 'titre_ajouter_zone' => 'Regăsiţi zona',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modificaţi o zonă',
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'Toate zonele de acces',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zonele de acces restrâns',
+ 'toutes' => 'Toate',
+
+ // V
+ 'voir_toutes' => 'Vedeţi toate zonele',
+
+ // Z
+ 'zone_numero' => 'ZONA NUMĂRUL :',
+ 'zone_restreinte_espace_prive' => 'Restrângeţi accesul la această zonă în cadrul spaţiului privat',
+ 'zone_restreinte_publique' => 'Restrângeţi accesul la această zonă în cadrul părţii publice'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=sk
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Udeliť mi prístup do tejto oblasti',
+ 'aucune_zone' => 'Žiadna oblasť',
+ 'auteurs' => 'autori',
+
+ // B
+ 'bouton_configurer_acces' => 'Nastavenie prístupu cez .htaccess',
+ 'bouton_creer_la_zone' => 'Vytvoriť novú oblasť',
+
+ // C
+ 'colonne_id' => 'Č.',
+ 'confirmer_ajouter_auteurs' => 'Určite chcete pridať tohto autora do tejto oblasti?',
+ 'confirmer_retirer_auteur_zone' => 'Určite chcete odstrániť tohto autora z tejto oblasti?',
+ 'confirmer_retirer_auteurs' => 'Určite chcete odstrániť všetkých autorov z tejto oblasti?',
+ 'confirmer_retirer_rubrique_zone' => 'Určite chcete odstrániť túto rubriku z tejto oblasti?',
+ 'confirmer_supprimer_zone' => 'Určite chcete odstrániť túto oblasť?',
+ 'creer_zone' => 'Vytvoriť novú oblasť',
+
+ // D
+ 'descriptif' => 'Popis',
+
+ // E
+ 'explication_creer_htaccess' => 'Táto možnosť bráni čítaniu pripojených súborov, ak text, ku ktorému sa pripoja, ešte nie je publikovaný',
+
+ // I
+ 'icone_menu_config' => 'Obmedzený prístup',
+ 'icone_supprimer_zone' => 'Odstrániť túto oblasť',
+ 'info_1_zone' => '1 oblasť',
+ 'info_acces_restreint' => 'Prístup na túto stránku je obmedzený. Prosím, prihláste sa, aby ste mohli pokračovať',
+ 'info_ajouter_auteur' => 'Pridať tohto autora',
+ 'info_ajouter_auteurs' => 'Pridať všetkých autorov',
+ 'info_ajouter_zones' => 'Pridať všetky oblasti',
+ 'info_aucun_acces' => 'Nepovolený prístup',
+ 'info_aucun_auteur' => 'V tejto oblasti nie sú žiadni autori',
+ 'info_aucune_zone' => 'Žiadne oblasti',
+ 'info_auteurs_lies_zone' => 'Autori s prístupom do tejto oblasti',
+ 'info_lien_action_proteger' => 'Obmedziť prístup do tejto oblasti',
+ 'info_nb_zones' => '@nb@ oblastí',
+ 'info_page' => 'Táto stránka vám umožňuje vytvoriť na vašej stránke oblasti s obmedzeným prístupom',
+ 'info_retirer_auteurs' => 'Odstrániť všetkých autorov',
+ 'info_retirer_zone' => 'Odstrániť z oblasti',
+ 'info_retirer_zones' => 'Odstrániť zo všetkých oblastí',
+ 'info_rubrique_dans_zone' => 'Táto rubrika sa nachádza v oblasti:',
+ 'info_rubrique_dans_zones' => 'Táto rubrika sa nachádza v oblastiach:',
+
+ // L
+ 'label_creer_htaccess' => 'Prístup k pripojeným súborom podľa ich URL',
+ 'label_creer_htaccess_non' => 'Povoliť čítanie',
+ 'label_creer_htaccess_oui' => 'Zakázať čítanie',
+
+ // M
+ 'modifier_zone' => 'Upraviť oblasť',
+
+ // P
+ 'page_zones_acces' => 'Obmedzený prístup',
+ 'par_titre' => 'Podľa názvu',
+ 'privee' => 'Súkromná',
+ 'publique' => 'Verejná',
+
+ // R
+ 'rubriques' => 'rubriky',
+ 'rubriques_zones_acces' => 'Rubriky v tejto oblasti',
+
+ // S
+ 'selectionner_une_zone' => 'Vyberte oblasť s obmedzeným prístupom',
+
+ // T
+ 'texte_ajouter_zone' => 'Pridať oblasť',
+ 'texte_creer_associer_zone' => 'Vytvoriť a prepojiť oblasť',
+ 'titre' => 'Názov',
+ 'titre_ajouter_zone' => 'Pridať oblasť s obmedzeným prístupom',
+ 'titre_boite_protegee_non' => 'Neobmedzený prístup',
+ 'titre_boite_protegee_oui' => 'Obmedzený prístup',
+ 'titre_cadre_modifier_zone' => 'Upraviť oblasť',
+ 'titre_page_config' => 'Nastaviť prístupové práva',
+ 'titre_table' => 'Všetky oblasti s obmedzeným prístupom',
+ 'titre_zone_acces' => 'Oblasť s obmedzeným prístupom',
+ 'titre_zones_acces' => 'Oblasti s obmedzeným prístupom',
+ 'toutes' => 'Všetky',
+
+ // V
+ 'voir_toutes' => 'Zobraziť všetky oblasti',
+
+ // Z
+ 'zone_numero' => 'OBLASŤ ČÍSLO:',
+ 'zone_restreinte_espace_prive' => 'Obmedzte prístup do tejto oblasti v súkromnej zóne',
+ 'zone_restreinte_publique' => 'Obmedzte prístup do tejto oblasti na verejne prístupnej stránke'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://www.spip.net/trad-lang/
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'M\'ajouter les droits d\'accès à cette zone', # NEW
+ 'aucune_zone' => 'Aucune zone', # NEW
+ 'auteurs' => 'auteurs', # NEW
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Créer la nouvelle zone', # NEW
+
+ // C
+ 'colonne_id' => 'Num', # NEW
+ 'confirmer_ajouter_auteurs' => 'Êtes vous sûr de vouloir ajouter cet auteur à la zone ?', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Êtes vous sûr de vouloir retirer cet auteur de la zone ?', # NEW
+ 'confirmer_retirer_auteurs' => 'Êtes vous sûr de vouloir retirer tous les auteurs de cette zone ?', # NEW
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Êtes vous sûr de vouloir supprimer cette zone ?', # NEW
+ 'creer_zone' => 'Créer une nouvelle zone', # NEW
+
+ // D
+ 'descriptif' => 'Descriptif', # NEW
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Accès Restreint', # NEW
+ 'icone_supprimer_zone' => 'Supprimer cette zone', # NEW
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'L\'accès à cette page est restreint. Identifiez vous pour y accéder', # NEW
+ 'info_ajouter_auteur' => 'Ajouter cet auteur', # NEW
+ 'info_ajouter_auteurs' => 'Ajouter tous les auteurs', # NEW
+ 'info_ajouter_zones' => 'Ajouter toutes les zones', # NEW
+ 'info_aucun_acces' => 'Aucun accès autorisé', # NEW
+ 'info_aucun_auteur' => 'Aucun auteur dans la zone', # NEW
+ 'info_aucune_zone' => 'Aucune zone', # NEW
+ 'info_auteurs_lies_zone' => 'Les auteurs ayant accès à cette zone', # NEW
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Cette page vous permet de gérer les zones d\'accès restreint de votre site', # NEW
+ 'info_retirer_auteurs' => 'Retirer tous les auteurs', # NEW
+ 'info_retirer_zone' => 'Enlever de la zone', # NEW
+ 'info_retirer_zones' => 'Enlever de toutes les zones', # NEW
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Modifier la zone', # NEW
+
+ // P
+ 'page_zones_acces' => 'Accès Restreint', # NEW
+ 'par_titre' => 'Par titre', # NEW
+ 'privee' => 'Privat',
+ 'publique' => 'Publik',
+
+ // R
+ 'rubriques' => 'rubriques', # NEW
+ 'rubriques_zones_acces' => 'Rubriques de la zone', # NEW
+
+ // S
+ 'selectionner_une_zone' => 'Sélectionner une zone', # NEW
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Titre', # NEW
+ 'titre_ajouter_zone' => 'Rejoindre la zone', # NEW
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Modifier une zone', # NEW
+ 'titre_page_config' => 'Configuration des accès', # NEW
+ 'titre_table' => 'Toutes les zones d\'accès', # NEW
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Zones d\'accès restreint', # NEW
+ 'toutes' => 'Toutes', # NEW
+
+ // V
+ 'voir_toutes' => 'Voir toutes les zones', # NEW
+
+ // Z
+ 'zone_numero' => 'ZONE NUMÉRO :', # NEW
+ 'zone_restreinte_espace_prive' => 'Restreindre l\'accès à cette zone dans l\'espace privé', # NEW
+ 'zone_restreinte_publique' => 'Restreindre l\'accès à cette zone dans la partie publique' # NEW
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/accesrestreint?lang_cible=tr
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'ajouter_droits_auteur' => 'Bana, bu bölgeye erişim haklarını ver',
+ 'aucune_zone' => 'لا توجد أية منطقة', # NEW
+ 'auteurs' => 'yazar',
+
+ // B
+ 'bouton_configurer_acces' => 'Configuration des accès .htaccess', # NEW
+ 'bouton_creer_la_zone' => 'Yeni bölgeyi oluştur',
+
+ // C
+ 'colonne_id' => 'Sayı',
+ 'confirmer_ajouter_auteurs' => 'هل انت متأكد من إضافة هذا المؤلف الى المنطقة؟', # NEW
+ 'confirmer_retirer_auteur_zone' => 'Bu yazarı bu bölümden (Zone) çekmek istediğinizden emin misiniz ?',
+ 'confirmer_retirer_auteurs' => 'Tüm yazarları bu bölümden (Zone) çekmek istediğinizden emin misiniz ?',
+ 'confirmer_retirer_rubrique_zone' => 'Êtes vous sûr de vouloir retirer cette rubrique de cette zone ?', # NEW
+ 'confirmer_supprimer_zone' => 'Bu bölgeyi silmek istediğinizden emin misiniz ?',
+ 'creer_zone' => 'Yeni bir bölge oluştur',
+
+ // D
+ 'descriptif' => 'Tanımlayıcı',
+
+ // E
+ 'explication_creer_htaccess' => 'Cette option interdit la lecture des documents joints si le texte auquel ils se rattachent n\'est pas publié', # NEW
+
+ // I
+ 'icone_menu_config' => 'Kısıtlı Erişim',
+ 'icone_supprimer_zone' => 'Bu bölgeyi sil',
+ 'info_1_zone' => '1 zone', # NEW
+ 'info_acces_restreint' => 'الوصول الى هذه الصفحة محصور. عليك التعريف بنفسك للوصول اليها', # NEW
+ 'info_ajouter_auteur' => 'Bu yazarı ekle',
+ 'info_ajouter_auteurs' => 'Tüm yazarları ekle',
+ 'info_ajouter_zones' => 'Tüm bölgeleri ekle',
+ 'info_aucun_acces' => 'Hiçbir erişime izin yok',
+ 'info_aucun_auteur' => 'Bölümde (Zone) hiç yazar yok',
+ 'info_aucune_zone' => 'Hiç bölüm (Zone) yok',
+ 'info_auteurs_lies_zone' => 'Bu bölgeye erişim hakkı olan yazarlar',
+ 'info_lien_action_proteger' => 'Protéger l\'accès à cette rubrique.', # NEW
+ 'info_nb_zones' => '@nb@ zones', # NEW
+ 'info_page' => 'Bu sayfa, sitenizin kısıtlanmış bölgelerini yönetmenizi sağlar',
+ 'info_retirer_auteurs' => 'Tüm yazarları sil',
+ 'info_retirer_zone' => 'Bölgeden kaldır',
+ 'info_retirer_zones' => 'Tüm bölgelerden kaldır',
+ 'info_rubrique_dans_zone' => 'Cette rubrique fait partie de la zone :', # NEW
+ 'info_rubrique_dans_zones' => 'Cette rubrique fait partie des zones :', # NEW
+
+ // L
+ 'label_creer_htaccess' => 'Accès aux document joints par leur URL', # NEW
+ 'label_creer_htaccess_non' => 'autoriser la lecture', # NEW
+ 'label_creer_htaccess_oui' => 'interdire la lecture', # NEW
+
+ // M
+ 'modifier_zone' => 'Bölümü (Zone) değiştir',
+
+ // P
+ 'page_zones_acces' => 'Kısıtlı Erişim',
+ 'par_titre' => 'Başlığa göre',
+ 'privee' => 'Özel',
+ 'publique' => 'Kamusal',
+
+ // R
+ 'rubriques' => 'başlıklar',
+ 'rubriques_zones_acces' => 'Bölge başlıkları',
+
+ // S
+ 'selectionner_une_zone' => 'Bir bölge seç',
+
+ // T
+ 'texte_ajouter_zone' => 'Ajouter une zone', # NEW
+ 'texte_creer_associer_zone' => 'Créer et associer une zone', # NEW
+ 'titre' => 'Başlık',
+ 'titre_ajouter_zone' => 'Bölgeye gir',
+ 'titre_boite_protegee_non' => 'Accès non protégé', # NEW
+ 'titre_boite_protegee_oui' => 'Accès protégé', # NEW
+ 'titre_cadre_modifier_zone' => 'Bir bölümü (Zone) değiştir',
+ 'titre_page_config' => 'إعداد الدخول', # NEW
+ 'titre_table' => 'Tüm erişim bölgeleri',
+ 'titre_zone_acces' => 'Zone d\'accès restreint', # NEW
+ 'titre_zones_acces' => 'Kısıtlı erişim bölgeleri',
+ 'toutes' => 'Hepsi',
+
+ // V
+ 'voir_toutes' => 'Tüm bölgeleri göster',
+
+ // Z
+ 'zone_numero' => 'ZONE No :',
+ 'zone_restreinte_espace_prive' => 'Özel alanda bu bölgeye erişimi kısıtla',
+ 'zone_restreinte_publique' => 'Kamusal alanda bu bölgeye erişimi kısıtla'
+);
+
+?>
--- /dev/null
+<traduction module="paquet-accesrestreint" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/acces_restreint/trunk/lang/" reference="fr">
+ <langue code="de" />
+ <langue code="en" url="http://trad.spip.net/tradlang_module/paquet-accesrestreint?lang_cible=en">
+ <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+ </langue>
+ <langue code="es" />
+ <langue code="fr" />
+</traduction>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-accesrestreint?lang_cible=de
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'accesrestreint_description' => '_ Jeder Bereich enthält Rubriken.
+_ Einzelnen Autoren können Zugangsrechte für Bereiche zugeordnet werden.
+_ ALle Standardschleifen (Abfragen) von SPIP werden überladen, und um die Überprüfung der Rechte des jeweiligen Sitebesuchers ergänzt.',
+ 'accesrestreint_nom' => 'Zugangskontrolle',
+ 'accesrestreint_slogan' => 'Verwaltung von Bereichen mit Zugangskontrolle'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-accesrestreint?lang_cible=en
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'accesrestreint_description' => '_ Each area contains sections.
+_ Authors can be associated with these areas to gain access to them.
+_ All SPIP\'s loops are loaded with the necessary tools to filter the results according to the visitors\' access priviliges.',
+ 'accesrestreint_nom' => 'Restricted Access',
+ 'accesrestreint_slogan' => 'Management of areas with restricted access'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-accesrestreint?lang_cible=es
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'accesrestreint_description' => '_ Cada zona contiene secciones.
+_ Los autores podrán ser asociados a ciertas zonas restringidas para tener derechos de acceso a ellas.
+_ Todos los bucles nativos de SPIP quedan modificados para filtrar los resultados en función de los derechos del visitante.',
+ 'accesrestreint_nom' => 'Acceso restringido',
+ 'accesrestreint_slogan' => 'Gestión de zonas de acceso restringido'
+);
+
+?>
--- /dev/null
+<?php
+// This is a SPIP language file -- Ceci est un fichier langue de SPIP
+// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/acces_restreint/trunk/lang/
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+ // A
+ 'accesrestreint_description' => '_ Chaque zone contient des rubriques.
+
+_ Les auteurs peuvent etre 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.',
+ 'accesrestreint_nom' => 'Accès Restreint',
+ 'accesrestreint_slogan' => 'Gestion de zones d\'accès restreint'
+);
+
+?>
--- /dev/null
+<paquet
+ prefix="accesrestreint"
+ categorie="auteur"
+ version="3.8.5"
+ etat="stable"
+ compatibilite="[3.0.0;3.0.*]"
+ logo="prive/themes/spip/images/zone-32.png"
+ schema="0.4.2"
+ documentation="http://www.spip-contrib.net/Acces-Restreint-3-0"
+>
+
+ <nom>Acces Restreint</nom>
+ <!-- Gestion de zones d'acces restreint -->
+
+ <auteur lien="http://www.yterium.net" mail="cedric.morin@yterium.com">Cedric Morin</auteur>
+
+ <copyright>2007-2008</copyright>
+
+ <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL</licence>
+
+ <traduire module="accesrestreint" reference="fr" gestionnaire="salvatore" />
+
+ <pipeline nom="declarer_tables_interfaces" inclure="base/accesrestreint.php" />
+ <pipeline nom="declarer_tables_objets_sql" inclure="base/accesrestreint.php" />
+ <pipeline nom="declarer_tables_auxiliaires" inclure="base/accesrestreint.php" />
+ <pipeline nom="pre_boucle" inclure="public/accesrestreint.php" />
+ <pipeline nom="rechercher_liste_des_champs" inclure="public/accesrestreint.php" />
+ <pipeline nom="accesrestreint_liste_zones_autorisees" action="liste_zones_autorisees" inclure="inc/accesrestreint.php" />
+ <pipeline nom="affiche_milieu" inclure="accesrestreint_pipelines.php" />
+ <pipeline nom="affiche_gauche" inclure="accesrestreint_pipelines.php" />
+ <pipeline nom="page_indisponible" inclure="accesrestreint_pipelines.php" />
+ <pipeline nom="autoriser" inclure="inc/accesrestreint_autoriser.php" />
+
+ <menu nom="zones" titre="accesrestreint:icone_menu_config" parent="menu_publication" icone="images/zone-16.png" />
+
+ <utilise nom="medias" compatibilite="[;]" />
+</paquet>
--- /dev/null
+[(#SET{defaut_tri,#ARRAY{
+ titre,1,
+}})
+]
+#SET{exclus,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}}
+#SET{debut,#ENV{debutzonea,#EVAL{_request("debutzonea");}}}
+<input type="hidden" name="debutzonea" value="#GET{debut}" />
+<B_liste_aut>
+[(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle
+a mis a jour la valeur avec la page reelle]
+#SET{debut,#ENV{debutzonea,#EVAL{_request("debutzonea");}}}
+#ANCRE_PAGINATION
+[<h3><:info_resultat_recherche:> «(#ENV{recherche})»</h3>]
+<div class="liste-objets liste-objets-associer zones">
+<table class='spip liste'>
+[<caption><span class="caption"><strong>(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{accesrestreint:info_1_zone,accesrestreint:info_nb_zones}})</strong>
+<span class="recherche">
+ <label for="recherche-#ENV{id}"><:info_rechercher_02:></label>
+ <input type="text" class="recherche" name="recherche" id="recherche-#ENV{id}" value="#ENV{recherche}" />
+ <input type="submit" class="tout_voir" name="tout_voir" value="<:info_tout_afficher:>" />
+</span>
+</span>
+</caption>]
+ <thead>
+ <tr class='first_row'>
+ <th class='picto' scope='col'></th>
+ <th class='titre' scope='col'>[(#TRI{titre,<:info_titre:>,ajax})]</th>
+ <th class='publique' scope='col'><:accesrestreint:publique:></th>
+ <th class='privee' scope='col'><:accesrestreint:privee:></th>
+ <th class='action' scope='col'> </th>
+ </tr>
+ </thead>
+ <tbody>
+ <BOUCLE_liste_aut(ZONES){!id_zone IN #GET{exclus}}{tout}{where?}{recherche?}{statut?}{tri #ENV{par,multi titre},#GET{defaut_tri}}{pagination #ENV{nb,10} zonea}>
+ <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)]">
+ <td class='picto'>[(#CHEMIN_IMAGE{zone-16.png}|balise_img)]</td>
+ <td class='titre principale'><a href="[(#ID_ZONE|generer_url_entite{zone})]"
+ title="<:info_numero_abbreviation|attribut_html:> #ID_ZONE">[(#RANG). ]#TITRE</a></td>
+ <td class='publique secondaire'>[[(#CHEMIN_IMAGE{restreint-16.png}|balise_img{<:accesrestreint:publique:>})](#PUBLIQUE|=={oui}|oui)]</td>
+ <td class='privee secondaire'>[[(#CHEMIN_IMAGE{restreint-16.png}|balise_img{<:accesrestreint:publique:>})](#PRIVEE|=={oui}|oui)]</td>
+ <td class='action'><button class="button" name="ajouter_lien[zone-#ID_ZONE-#OBJET-#ID_OBJET]" value="+"><:accesrestreint:titre_ajouter_zone:> [(#CHEMIN_IMAGE{ajouter-12.png}|balise_img{'+'})]</button></td>
+ </tr>
+ </BOUCLE_liste_aut>
+ </tbody>
+</table>
+[<p class='pagination'>(#PAGINATION{prive})</p>]
+</div>
+</B_liste_aut>
+[(#ENV{recherche}|oui)
+<div class="liste-objets liste-objets-associer zones caption-wrap">
+<span class="caption"><strong>[(#VAL{accesrestreint:info_recherche_auteur_zero}|_T{#ARRAY{cherche_auteur,#ENV{recherche}}})]</strong>
+<span class="recherche">
+ <label for="recherche-#ENV{id}"><:info_rechercher_02:></label>
+ <input type="text" class="recherche" name="recherche" id="recherche-#ENV{id}" value="#ENV{recherche}" />
+ <input type="submit" class="tout_voir" name="tout_voir" value="<:info_tout_afficher:>" />
+</span>
+</span>
+</div>
+]<//B_liste_aut>
--- /dev/null
+[(#SET{defaut_tri,#ARRAY{
+ type,1,
+ num titre,1,
+ titre,1,
+ id_zone,1
+}})
+]
+#SET{selection,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}}
+<input type="hidden" name="debutzonel" value='#ENV{debutzonel,#EVAL{_request("debutzonel");}}' />
+<B_liste_zone>
+#ANCRE_PAGINATION
+<div class="liste-objets liste-objets-lies zones">
+<table class='spip liste'>
+[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{accesrestreint:info_1_zone,accesrestreint:info_nb_zones}})</strong></caption>]
+ <thead>
+ <tr class='first_row'>
+ <th class='picto' scope='col'></th>
+ <th class='titre' scope='col'>[(#TRI{titre,<:info_titre:>,ajax})]</th>
+ <th class='publique' scope='col'><:accesrestreint:publique:></th>
+ <th class='privee' scope='col'><:accesrestreint:privee:></th>
+ <th class='action' scope='col'> </th>
+ </tr>
+ </thead>
+ <tbody>
+ <BOUCLE_liste_zone(ZONES){id_zone IN #GET{selection}}{where?}{tri #ENV{par,titre},#GET{defaut_tri}}{par multi titre}{pagination #ENV{nb,10} zonel}>
+ <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][(#ID_ZONE|=={#ENV{id_lien_ajoute}}|oui)append]">
+ <td class='picto'>[(#CHEMIN_IMAGE{zone-16.png}|balise_img)]</td>
+ <td class='titre principale'><a href="[(#ID_ZONE|generer_url_entite{zone})]"
+ title="<:info_numero_abbreviation|attribut_html:> #ID_ZONE">[(#RANG). ]#TITRE</a></td>
+ <td class='publique secondaire'>[[(#CHEMIN_IMAGE{restreint-16.png}|balise_img{<:accesrestreint:publique:>})](#PUBLIQUE|=={oui}|oui)]</td>
+ <td class='privee secondaire'>[[(#CHEMIN_IMAGE{restreint-16.png}|balise_img{<:accesrestreint:publique:>})](#PRIVEE|=={oui}|oui)]</td>
+ <td class='action'><button class="button link delete" name="supprimer_lien[zone-#ID_ZONE-#OBJET-#ID_OBJET]" value="X"><:accesrestreint:info_retirer_zone:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})]</button></td>
+ </tr>
+ </BOUCLE_liste_zone>
+ </tbody>
+</table>
+[<p class='pagination'>(#PAGINATION{prive})</p>]
+[(#GRAND_TOTAL|>{3}|oui)<div class="action"><button class="button link" name="supprimer_lien#EVAL{chr(91)}zone-*-#OBJET-#ID_OBJET#EVAL{chr(93)}" value="X"><:accesrestreint:info_retirer_zones:> [(#CHEMIN_IMAGE{supprimer-12.png}|balise_img{'X'})]</button></div>]
+</div>
+</B_liste_zone>
+<div class="liste-objets liste-objets-lies zones caption-wrap">
+<strong class="caption">[(#ENV*{titre,<:accesrestreint:info_aucune_zone:>}) ]#AIDER{artzones}</strong>
+</div>
+<//B_liste_zone>
--- /dev/null
+[(#AUTORISER{configurer,accesrestreint}|sinon_interdire_acces)]
+
+<h1 class="grostitre"><:accesrestreint:titre_page_config:></h1>
+<div class="ajax">
+ #FORMULAIRE_CONFIGURER_ACCESRESTREINT
+</div>
\ No newline at end of file
--- /dev/null
+[(#ID_ZONE|oui)
+ [(#AUTORISER{modifier,zone,#ID_ZONE}|sinon_interdire_acces)]]
+[(#ID_ZONE|non)
+ [(#AUTORISER{creer,zone,#ID_ZONE,'','',#ARRAY{associer_objet,#ENV{associer_objet}}}|sinon_interdire_acces)]]
+
+#SET{retour,#ENV{redirect}|sinon{#ENV{id_zone}|?{#URL_ECRIRE{zones,id_zone=#ID_ZONE},#URL_ECRIRE{zones}}}}
+<div class='cadre-formulaire-editer'>
+ <div class="entete-formulaire">
+ [(#GET{retour}|icone_verticale{<:icone_retour:>,zone,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})]
+ [[(#VAL{zone}|objet_info{texte_modifier}|_T)]
+ <h1>(#ENV{titre,#INFO_TITRE{zone,#ID_ZONE}|sinon{<:info_sans_titre:>}})</h1>]
+ </div>
+ <div class="ajax">
+ #FORMULAIRE_EDITER_LIENS{zone,#ID_ZONE,auteurs,' '}
+ </div>
+
+ #FORMULAIRE_EDITER_ZONE{#ENV{id_zone,oui},#GET{retour},#ENV{associer_objet}}
+</div>
+
--- /dev/null
+<h1 class="grostitre"><:accesrestreint:titre_zones_acces:></h1>\r
+[(#AUTORISER{modifier,zone})\r
+ [(#INCLURE{fond=prive/squelettes/inclure/acces_restreint, env, ajax})]\r
+ \r
+ [(#URL_ECRIRE{zone_edit,new=oui}|parametre_url{redirect,#SELF}|icone_verticale{<:accesrestreint:creer_zone:>,zone-24.png,new,right})]\r
+\r
+]\r
--- /dev/null
+<div class="ajax">
+ #FORMULAIRE_EDITER_LIENS{zones,auteur,#ID_AUTEUR,' '}
+</div>
\ No newline at end of file
--- /dev/null
+[(#REM)
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+]#SET{self,#SELF|parametre_url{debut_zones|tri,''}}
+#FORMULAIRE_RECHERCHE_ECRIRE{#GET{self},ajax}
+<div class="nettoyeur"></div>
+<B_zones>
+<p class='pagination'>[(#PAGINATION) | ]<a href='[(#GET{self}|parametre_url{tri,titre})]'><:accesrestreint:par_titre:></a>
+[(#ENV{publique}|non)| <a href='[(#GET{self}|parametre_url{publique,oui})]'><:accesrestreint:publique:></a>]
+[(#ENV{publique}|ou{#ENV{privee}}|oui)| <a href='[(#GET{self}|parametre_url{publique|privee,''})]'><:accesrestreint:toutes:></a>]
+[(#ENV{privee}|non)| <a href='[(#GET{self}|parametre_url{privee,oui})]'><:accesrestreint:privee:></a>]
+</p>
+
+<ul class='liste-items zones'>
+<BOUCLE_zones(ZONES){par #ENV{tri,id_zone}}{publique==#ENV{publique,.*}}{privee==#ENV{privee,.*}}{pagination 10}{recherche ?}>
+<li class='item zone[ (#ID_ZONE|accesrestreint_acces_zone|?{ok,interdit})][ (#EXPOSE)]'><h3>#TITRE</h3>
+<span class='contenu'>[(#ID_ZONE|accesrestreint_liste_contenu_zone_rub|count) <:accesrestreint:rubriques:>, ]
+[(#ID_ZONE|accesrestreint_liste_contenu_zone_auteur|count) <:accesrestreint:auteurs:>]
+</span>
+<span class='descriptif'>#DESCRIPTIF</span>
+<span class='quoi'>[(#PUBLIQUE|=={oui}|oui)<:accesrestreint:publique:>[, (#PRIVEE|=={oui}|oui)]][ (#PRIVEE|=={oui}|oui)<:accesrestreint:privee:>]</span>
+<div class='actions'>
+ [(#AUTORISER{supprimer,zone,#ID_ZONE})<span class='lien_supprimer'>[(#BOUTON_ACTION{<:accesrestreint:icone_supprimer_zone:>,#URL_ACTION_AUTEUR{supprimer_zone,#ID_ZONE,#SELF},ajax,<:accesrestreint:confirmer_supprimer_zone:>})]</span>]
+ [| (#AUTORISER{modifier,zone,#ID_ZONE}) <span class='lien_modifier'><a href='[(#URL_ECRIRE{zone_edit,id_zone=#ID_ZONE}|parametre_url{redirect,#SELF})]'><:bouton_modifier:></a></span>]
+</div>
+</li>
+</BOUCLE_zones>
+</ul>
+</B_zones>
+<p class='pagination'>[(#ENV{publique}|non)| <a href='[(#GET{self}|parametre_url{publique,oui})]'><:accesrestreint:publique:></a>]
+[(#ENV{publique}|ou{#ENV{privee}}|oui)| <a href='[(#GET{self}|parametre_url{publique|privee,''})]'><:accesrestreint:toutes:></a>]
+[(#ENV{privee}|non)| <a href='[(#GET{self}|parametre_url{privee,oui})]'><:accesrestreint:privee:></a>]
+</p>
+<h3><:accesrestreint:info_aucune_zone:></h3>
+
+<//B_zones>
--- /dev/null
+[(#REM)\r
+ Boîte d'informations.\r
+ Sur une zone protégée : affiche le N° de la zone avec un lien pour y accéder.\r
+ Sur une rubrique non protégée : affiche un bouton pour la protéger.\r
+\r
+]\r
+<B_restreint>\r
+ [(#BOITE_OUVRIR{[<:accesrestreint:titre_boite_protegee_oui:>(#CHEMIN_IMAGE{zone-24.png}|balise_img{'',cadre-icone})],simple})]\r
+ [<p>(#GRAND_TOTAL|singulier_ou_pluriel{'accesrestreint:info_rubrique_dans_zone','accesrestreint:info_rubrique_dans_zones'})</p>]\r
+ <ul class="liste-items">\r
+<BOUCLE_restreint(ZONES){id_zone IN (#ENV{id_rubrique}|accesrestreint_zones_rubrique_et_hierarchie)}>\r
+ <li class="item">\r
+ <a href="[(#URL_ECRIRE{zone_edit,id_zone=#ID_ZONE}|parametre_url{redirect,#SELF})]">\r
+ n° #ID_ZONE : #TITRE\r
+ </a>\r
+ [(#BOUTON_ACTION{#CHEMIN_IMAGE{supprimer-12.png}|balise_img{<:accesrestreint:info_retirer_zone:>},[(#URL_ACTION_AUTEUR{retirer_zone,[(#ID_ZONE)-rubrique-#ID_RUBRIQUE],#SELF})],ajax,<:accesrestreint:confirmer_retirer_rubrique_zone:>})]\r
+ </li>\r
+</BOUCLE_restreint>\r
+ </ul>\r
+ #BOITE_FERMER\r
+</B_restreint>\r
+ [(#BOITE_OUVRIR{[<:accesrestreint:titre_boite_protegee_non:>(#CHEMIN_IMAGE{cadenasouvert-24.png}|balise_img{'',cadre-icone})],simple})]\r
+ <p>\r
+ <a href="[(#URL_ECRIRE{zone_edit,new=oui}\r
+ |parametre_url{rubriques,#ENV{id_rubrique}}\r
+ |parametre_url{redirect,#SELF})]">\r
+ <:accesrestreint:info_lien_action_proteger:>\r
+ </a>\r
+ </p>\r
+ #BOITE_FERMER\r
+<//B_restreint>\r
+\r
--- /dev/null
+#BOITE_OUVRIR{'','raccourcis'}
+ [(#URL_ECRIRE{zones}|icone_horizontale{<:accesrestreint:voir_toutes:>,zone-24,'',left})]
+#BOITE_FERMER
\ No newline at end of file
--- /dev/null
+#BOITE_OUVRIR{'',info}\r
+ <p><:accesrestreint:info_page:></p>\r
+#BOITE_FERMER\r
+\r
+[(#AUTORISER{webmestre})\r
+ #BOITE_OUVRIR{'','raccourcis'}\r
+ [(#URL_ECRIRE{configurer_accesrestreint}|icone_horizontale{<:accesrestreint:bouton_configurer_acces:>,zone-24,'',left})]\r
+ #BOITE_FERMER\r
+]\r
--- /dev/null
+#CACHE{0}
+[(#REM)
+
+ Ce squelette definit les styles de l'espace prive
+
+ Note: l'entete "Vary:" sert a repousser l'entete par
+ defaut "Vary: Cookie,Accept-Encoding", qui est (un peu)
+ genant en cas de "rotation du cookie de session" apres
+ un changement d'IP (effet de clignotement).
+
+ ATTENTION: il faut absolument le charset sinon Firefox croit que
+ c'est du text/html !
+ <style>
+]
+#CACHE{3600*100,cache-client}
+#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15}
+#HTTP_HEADER{Vary: Accept-Encoding}
+
+
+.liste-items.zones li.item > .actions {display:block;float:#GET{right};}
+li.item.zone p.actions {float:none;text-align:#GET{right};margin:0;}
+
+li.item.zone .quoi {display:block;padding-left:20px;background:url(#CHEMIN_IMAGE{restreint-16.png}) center left no-repeat;}
+
+.formulaire_spip ul.hierarchie {margin:0;padding:0;}
+.formulaire_spip ul.hierarchie ul {margin:0;padding:0;}
+.formulaire_spip ul.hierarchie li {margin:0;margin-#ENV{left}:15px;padding:0;}
+.formulaire_spip ul.hierarchie li li {border-#ENV{left}:1px solid #ddd;}
+.formulaire_spip ul.hierarchie li.checked {background:[#(#ENV{claire}|couleur_eclaircir)];}
+.formulaire_spip ul.hierarchie li.checked > .choix label {font-weight:bold;}
+
+.liste-items.zones li.item.ok {background-image:url(#CHEMIN_IMAGE{acces-ok-24.png});background-repeat:no-repeat;background-position:top right;}
+.liste-items.zones li.item.interdit {background-image:url(#CHEMIN_IMAGE{acces-interdit-24.png});background-repeat:no-repeat;background-position:top right;}
+
+.zone_edit .formulaire_editer_liens {margin-bottom: 0;}
+.formulaire_editer_liens .liste-objets.zones .publique, .formulaire_editer_liens .liste-objets.zones .privee {width:4em;text-align: center;}
+.formulaire_editer_liens .liste-objets.zones tr > .action {width:140px;}
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * Plugin Acces Restreint 3.0 pour Spip 2.0
+ * Licence GPL (c) 2006-2008 Cedric Morin
+ *
+ */
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ * Critere {tout_voir} permet de deverouiller l'acces restreint sur une boucle
+ *
+ * @param unknown_type $idb
+ * @param unknown_type $boucles
+ * @param unknown_type $crit
+ */
+if (!function_exists('critere_tout_voir_dist')){
+function critere_tout_voir_dist($idb, &$boucles, $crit) {
+ $boucle = &$boucles[$idb];
+ $boucle->modificateur['tout_voir'] = true;
+}
+}
+function accesrestreint_pre_boucle(&$boucle){
+ if (!isset($boucle->modificateur['tout_voir'])){
+ $securise = false;
+ switch ($boucle->type_requete){
+ case 'hierarchie':
+ case 'articles':
+ case 'breves':
+ case 'syndication':
+ $t = $boucle->id_table . '.id_rubrique';
+ $boucle->select = array_merge($boucle->select, array($t)); // pour postgres
+ $boucle->where[] = accesrestreint_rubriques_accessibles_where($t);
+ $securise = true;
+ break;
+ case 'evenements':
+ case 'petitions':
+ $t = $boucle->id_table . '.id_article';
+ $boucle->select = array_merge($boucle->select, array($t));
+ $boucle->where[] = accesrestreint_articles_accessibles_where($t);
+ $securise = true;
+ break;
+ case 'signatures':
+ // ajouter une jointure sur petitions si besoin
+ $t = array_search("spip_petitions", $boucle->from);
+ if (!$t) $t = trouver_jointure_champ("id_petition", $boucle);
+ $t = $t . '.id_article';
+ $boucle->select = array_merge($boucle->select, array($t));
+ $boucle->where[] = accesrestreint_articles_accessibles_where($t);
+ $securise = true;
+ break;
+ default :
+ if (function_exists($accessible_where = "accesrestreint_".$boucle->type_requete."_accessibles_where")){
+ $t = $boucle->id_table . '.' . $boucle->primary;
+ $boucle->select = array_merge($boucle->select, array($t));
+ $boucle->where[] = $accessible_where($t);
+ $securise = true;
+ }
+ break;
+ }
+ if ($securise){
+ $boucle->hash .= "if (!defined('_DIR_PLUGIN_ACCESRESTREINT')){
+ \$link_empty = generer_url_ecrire('admin_vider'); \$link_plugin = generer_url_ecrire('admin_plugin');
+ \$message_fr = 'La restriction d\'accès a ete desactivée. <a href=\"'.\$link_plugin.'\">Corriger le problème</a> ou <a href=\"'.\$link_empty.'\">vider le cache</a> pour supprimer les restrictions.';
+ \$message_en = 'Acces Restriction is now unusable. <a href=\"'.\$link_plugin.'\">Correct this trouble</a> or <a href=\"'.generer_url_ecrire('admin_vider').'\">empty the cache</a> to finish restriction removal.';
+ die(\$message_fr.'<br />'.\$message_en);
+ }";
+ }
+ }
+ return $boucle;
+}
+
+
+/**
+ * Renvoyer le code de la condition where pour la liste des rubriques accessibles
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_rubriques_accessibles_where($primary,$not='NOT', $_publique=''){
+ if (!$_publique) $_publique = "!test_espace_prive()";
+ return "sql_in('$primary', accesrestreint_liste_rubriques_exclues($_publique), '$not')";
+}
+
+/**
+ * Renvoyer la condition where pour la liste des articles accessibles
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_articles_accessibles_where($primary, $_publique=''){
+ # hack : on utilise zzz pour eviter que l'optimiseur ne confonde avec un morceau de la requete principale
+ return "array('NOT IN','$primary','('.sql_get_select('zzza.id_article','spip_articles as zzza',".accesrestreint_rubriques_accessibles_where('zzza.id_rubrique','',$_publique).",'','','','',\$connect).')')";
+ #return array('SUBSELECT','id_article','spip_articles',array(".accesrestreint_rubriques_accessibles_where('id_rubrique').")))";
+}
+
+/**
+ * Renvoyer la condition where pour la liste des breves accessibles
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_breves_accessibles_where($primary, $_publique=''){
+ # hack : on utilise zzz pour eviter que l'optimiseur ne confonde avec un morceau de la requete principale
+ return "array('NOT IN','$primary','('.sql_get_select('zzzb.id_breve','spip_breves as zzzb',".accesrestreint_rubriques_accessibles_where('zzzb.id_rubrique','',$_publique).",'','','','',\$connect).')')";
+ #return "array('IN','$primary',array('SUBSELECT','id_breve','spip_breves',array(".accesrestreint_rubriques_accessibles_where('id_rubrique').")))";
+}
+
+/**
+ * Renvoyer le code de la condition where pour la liste des syndic articles accessibles
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_syndic_articles_accessibles_where($primary, $_publique=''){
+ # hack : on utilise zzz pour eviter que l'optimiseur ne confonde avec un morceau de la requete principale
+ return "array('NOT IN','$primary','('.sql_get_select('zzzs.id_syndic','spip_syndic as zzzs',".accesrestreint_rubriques_accessibles_where('zzzs.id_rubrique','',$_publique).",'','','','',\$connect).')')";
+ #return "array('IN','$primary',array('SUBSELECT','id_syndic','spip_syndic',array(".accesrestreint_rubriques_accessibles_where('id_rubrique').")))";
+}
+
+
+/**
+ * Renvoyer le code de la condition where pour la liste des forums accessibles
+ * on ne rend visible que les forums qui sont lies a un article, une breve ou une rubrique visible
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_forums_accessibles_where($primary, $_publique=''){
+ # hack : on utilise zzz pour eviter que l'optimiseur ne confonde avec un morceau de la requete principale
+ $where = "array('AND','zzzf.objet=\'rubrique\'',".accesrestreint_rubriques_accessibles_where('zzzf.id_objet','NOT',$_publique).")";
+ $where = "array('OR',$where,"
+ ."array('AND','zzzf.objet=\'article\'',".accesrestreint_articles_accessibles_where('zzzf.id_objet',$_publique).")"
+ .")";
+ $where = "array('OR',$where,"
+ ."array('AND','zzzf.objet=\'breve\'',".accesrestreint_breves_accessibles_where('zzzf.id_objet',$_publique).")"
+ .")";
+ $where = "array('OR',$where,sql_in('zzzf.objet',\"'rubrique','article','breve'\",'NOT',\$connect))";
+ return "array('IN','$primary','('.sql_get_select('zzzf.id_forum','spip_forum as zzzf',array($where),'','','','',\$connect).')')";
+}
+
+
+/**
+ * Renvoyer le code de la condition where pour la liste des documents accessibles
+ * on ne rend visible que les docs qui sont lies a un article, une breve ou une rubrique visible
+ *
+ * @param string $primary
+ * @return string
+ */
+function accesrestreint_documents_accessibles_where($primary, $_publique=''){
+ # hack : on utilise zzz pour eviter que l'optimiseur ne confonde avec un morceau de la requete principale
+ $where = "array('AND','zzzd.objet=\'rubrique\'',".accesrestreint_rubriques_accessibles_where('zzzd.id_objet','NOT',$_publique).")";
+ $where = "array('OR',$where,array('AND','zzzd.objet=\'article\'',".accesrestreint_articles_accessibles_where('zzzd.id_objet',$_publique)."))";
+ $where = "array('OR',$where,array('AND','zzzd.objet=\'breve\'',".accesrestreint_breves_accessibles_where('zzzd.id_objet',$_publique)."))";
+ $where = "array('OR',$where,array('AND','zzzd.objet=\'forum\'',".accesrestreint_forums_accessibles_where('zzzd.id_objet',$_publique)."))";
+ $where = "array('OR',$where,sql_in('zzzd.objet',\"'rubrique','article','breve','forum'\",'NOT',\$connect))";
+
+ $where = "array('OR',
+ array('IN','$primary','('.sql_get_select('zzzd.id_document','spip_documents_liens as zzzd',array($where),'','','','',\$connect).')'),
+ array('NOT IN','$primary','('.sql_get_select('zzzd.id_document','spip_documents_liens as zzzd','','','','','',\$connect).')')
+ )";
+
+ return $where;
+}
+
+
+/* Champs declares pour la recherche */
+function accesrestreint_rechercher_liste_des_champs($tables) {
+ $tables['zone']['titre'] = 8;
+ $tables['zone']['descriptif'] = 3;
+ return $tables;
+}
+?>
--- /dev/null
+[(#REM)
+
+ Parametres :
+ - class : classe(s) css ajoutes au select
+ - multiple : si quelquechose est passe, le select est multiple, sinon, c'est un select simple
+ Dans le cas multiple, defaut et valeur doivent etre un array, sinon un int
+ - option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
+ (seulement si non multiple)
+ - cacher_option_intro : pas de premier option vide (defaut:"")
+
+ Exemple d'appel :
+ [(#SAISIE{zones,acces,
+ label=<:plugin:zones_acces:>,
+ multiple=oui})]
+]
+<select name="#ENV{nom}[(#ENV{multiple}|?{[(#VAL{[]}|html_entity_decode)]})]" id="champ_#ENV{nom}"[ class="(#ENV{class})"][(#ENV{multiple}|oui) multiple="multiple"][ disabled="(#ENV{disable})"][ readonly="(#ENV{readonly})"] >
+ [(#ENV{cacher_option_intro}|ou{#ENV{multiple}}|non)
+ <option value="">[(#ENV{option_intro})]</option>]
+ <BOUCLE_zones_restreintes(ZONES){par num titre, titre}>
+ [(#ENV{multiple}|oui)
+ <option value="#ID_ZONE"[(#ID_ZONE|in_array{#ENV{valeur,#ENV{defaut,#ARRAY}}}|oui) selected="selected"]>#TITRE</option>]
+ [(#ENV{multiple}|non)
+ <option value="#ID_ZONE"[(#ID_ZONE|=={#ENV{valeur,#ENV{defaut}}}|oui) selected="selected"]>#TITRE</option>]
+ </BOUCLE_zones_restreintes>
+</select>
--- /dev/null
+<svn_revision>
+<text_version>
+Origine: file:///home/svn/repository/spip-zone/_plugins_/acces_restreint/trunk
+Revision: 73137
+Dernier commit: 2013-06-01 05:42:39 +0200
+</text_version>
+<origine>file:///home/svn/repository/spip-zone/_plugins_/acces_restreint/trunk</origine>
+<revision>73137</revision>
+<commit>2013-06-01 05:42:39 +0200 </commit>
+</svn_revision>
\ No newline at end of file
--- /dev/null
+<?php
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2011 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+
+/**
+ * Generer l'url d'un document dans l'espace public,
+ * fonction du statut du document
+ *
+ * @param int $id
+ * @param string $args
+ * @param string $ancre
+ * @param string $public
+ * @param string $connect
+ * @return string
+ *
+ * http://doc.spip.org/@generer_url_ecrire_document
+ */
+function urls_generer_url_document_dist($id, $args='', $ancre='', $public=null, $connect='') {
+ include_spip('inc/autoriser');
+ include_spip('inc/documents');
+
+ if (!autoriser('voir', 'document', $id)) return '';
+
+ $r = sql_fetsel("fichier,distant", "spip_documents", "id_document=".intval($id));
+
+ if (!$r) return '';
+
+ $f = $r['fichier'];
+
+ if ($r['distant'] == 'oui') return $f;
+
+ // Si droit de voir tous les docs, pas seulement celui-ci
+ // il est inutilement couteux de rajouter une protection
+ $r = (autoriser('voir', 'document'));
+ if (($r AND $r !== 'htaccess'))
+ return get_spip_doc($f);
+
+ include_spip('inc/securiser_action');
+
+ // cette url doit etre publique !
+ $cle = calculer_cle_action($id.','.$f);
+
+ // renvoyer une url plus ou moins jolie
+ if ($GLOBALS['meta']['creer_htaccess'])
+ return _DIR_RACINE."docrestreint.api/$id/$cle/$f";
+ else
+ return get_spip_doc($f)."?$id/$cle";
+}
\ No newline at end of file