Changeset 95268 in spip-zone


Ignore:
Timestamp:
Feb 20, 2016, 1:37:13 PM (4 years ago)
Author:
julienlfy@…
Message:

Correction compatibilité plugin Accès restreint.

Location:
_plugins_/simple_calendrier/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/simple_calendrier/trunk/paquet.xml

    r95267 r95268  
    22        prefix="simplecal"
    33        categorie="date"
    4         version="2.0.10"
     4        version="2.0.11"
    55        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
  • _plugins_/simple_calendrier/trunk/public/simplecal_boucles.php

    r95241 r95268  
    3636                        switch ($boucle->type_requete){
    3737                                case 'evenements':
    38                                         $t = $boucle->id_table . '.id_rubrique';
    39                                         $boucle->select = array_merge($boucle->select, array($t)); // pour postgres
    40                                        
    41                                         // ajoute un "AND ((evenements.id_rubrique NOT IN (id1, id2, id3, etc.)))"
    42                                         $boucle->where[] = accesrestreint_rubriques_accessibles_where($t);
    43                                         $securise = true;
    44                                         break;
     38                                        $primary = $boucle->id_table.'.'.$boucle->primary;
     39                    $t = $boucle->id_table . '.id_rubrique';
     40                    $boucle->select = array_merge($boucle->select, array($t, $primary)); // pour postgres
     41                    // Test sur l'objet lui-même
     42                    $boucle->where[] = accesrestreint_objets_accessibles_where($boucle->id_table, $primary);
     43                    // Test sur la hiérarchie
     44                    $boucle->where[] = accesrestreint_rubriques_accessibles_where($t);
     45                    $securise = true;
     46                    break;
    4547                        }
    4648                }
  • _plugins_/simple_calendrier/trunk/simplecal_autoriser.php

    r95241 r95268  
    4848        // ------------------------------------------
    4949        else {
    50                 static $evenements_statut;
    51                 $publique = isset($opt['publique'])?$opt['publique']:!test_espace_prive();
    52                 $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
    53                 if (!isset($evenements_statut[$id_auteur][$publique][$id])){
    54                         $id_rubrique = sql_getfetsel('id_rubrique','spip_evenements','id_evenement='.intval($id));
    55                         $evenements_statut[$id_auteur][$publique][$id] = autoriser_rubrique_voir('voir', 'rubrique', $id_rubrique, $qui, $opt);
    56                 }
    57                 return $evenements_statut[$id_auteur][$publique][$id];
     50        include_spip('public/quete');
     51        include_spip('inc/accesrestreint');
     52       
     53        $publique = isset($options['publique']) ? $options['publique'] : !test_espace_prive();
     54        $id_auteur = isset($qui['id_auteur']) ? $qui['id_auteur'] : $GLOBALS['visiteur_session']['id_auteur'];
     55       
     56        // Si l'évènement fait partie des contenus restreints directement, c'est niet
     57        if (in_array($id, accesrestreint_liste_objets_exclus('evenements', $publique, $id_auteur))) {
     58            return false;
     59        }
     60       
     61        if (!$id_rubrique = $options['id_rubrique']){
     62            $evenement = quete_parent_lang('spip_evenements', $id);
     63            $id_rubrique = $evenement['id_rubrique'];
     64        }
     65       
     66        return autoriser_rubrique_voir('voir', 'rubrique', $id_rubrique, $qui, $options);
    5867        }
    5968}
Note: See TracChangeset for help on using the changeset viewer.