Changeset 81502 in spip-zone


Ignore:
Timestamp:
Mar 19, 2014, 9:36:59 PM (5 years ago)
Author:
rastapopoulos@…
Message:

Dans chacune des surcharges d'autorisation de voir, on ajoute un test au début qui dit que si le contenu est carrément exclus explicitement pour le visiteur en cours (= fait partie d'une zone que n'a pas le visiteur) : c'est non direct.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/acces_restreint/trunk/inc/accesrestreint_autoriser.php

    r81449 r81502  
    112112
    113113        include_spip('public/quete');
     114        include_spip('inc/accesrestreint');
     115       
     116        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
     117        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     118       
     119        // Si l'article fait partie des contenus restreints directement, c'est niet
     120        if (in_array($id, accesrestreint_liste_objets_exclus('articles', $publique, $id_auteur))) {
     121                return false;
     122        }
    114123       
    115124        // Si on ne connait pas déjà la rubrique, on la cherche suivant l'article
     
    144153function autoriser_breve_voir($faire, $type, $id, $qui, $options) {
    145154        include_spip('public/quete');
     155        include_spip('inc/accesrestreint');
     156       
     157        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
     158        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     159       
     160        // Si la brève fait partie des contenus restreints directement, c'est niet
     161        if (in_array($id, accesrestreint_liste_objets_exclus('breves', $publique, $id_auteur))) {
     162                return false;
     163        }
    146164       
    147165        if (!$id_rubrique = $options['id_rubrique']){
     
    160178function autoriser_site_voir($faire, $type, $id, $qui, $options) {
    161179        include_spip('public/quete');
     180        include_spip('inc/accesrestreint');
     181       
     182        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
     183        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     184       
     185        // Si le site fait partie des contenus restreints directement, c'est niet
     186        if (in_array($id, accesrestreint_liste_objets_exclus('sites', $publique, $id_auteur))) {
     187                return false;
     188        }
    162189       
    163190        if (!$id_rubrique = $options['id_rubrique']){
     
    175202if(!function_exists('autoriser_evenement_voir')) {
    176203function autoriser_evenement_voir($faire, $type, $id, $qui, $options) {
     204        include_spip('inc/accesrestreint');
    177205        static $evenements_statut;
    178206       
    179207        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
    180208        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     209       
     210        // Si l'événement fait partie des contenus restreints directement, c'est niet
     211        if (in_array($id, accesrestreint_liste_objets_exclus('evenements', $publique, $id_auteur))) {
     212                return false;
     213        }
    181214       
    182215        if (!isset($evenements_statut[$id_auteur][$publique][$id])){
     
    195228function autoriser_document_voir($faire, $type, $id, $qui, $options) {
    196229        include_spip('public/accesrestreint');
     230        include_spip('inc/accesrestreint');
    197231        static $documents_statut = array();
    198232        static $where = array();
     
    200234        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
    201235        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     236       
     237        // Si le document fait partie des contenus restreints directement, c'est niet
     238        if (in_array($id, accesrestreint_liste_objets_exclus('documents', $publique, $id_auteur))) {
     239                return false;
     240        }
    202241       
    203242        if (!isset($documents_statut[$id_auteur][$publique][$id])){
Note: See TracChangeset for help on using the changeset viewer.