Changeset 81505 in spip-zone


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

En sus du filtrage par rapport à leur hiérarchie, on ajoute déjà aux objets connus (ceux définis en dur donc) le filtrage direct, càd si eux-mêmes sont directement dans une zone. Si aucun objet n'est dans une zone, ce where ne génère rien, donc pas de changement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/acces_restreint/trunk/public/accesrestreint.php

    r81500 r81505  
    3737                        case 'breves':
    3838                        case 'syndication':
     39                                $primary = $boucle->id_table.'.'.$boucle->primary;
    3940                                $t = $boucle->id_table . '.id_rubrique';
    40                                 $boucle->select = array_merge($boucle->select, array($t)); // pour postgres
     41                                $boucle->select = array_merge($boucle->select, array($t, $primary)); // pour postgres
     42                                // Test sur l'objet lui-même
     43                                $boucle->where[] = accesrestreint_objets_accessibles_where($boucle->id_table, $primary);
     44                                // Test sur la hiérarchie
    4145                                $boucle->where[] = accesrestreint_rubriques_accessibles_where($t);
    4246                                $securise = true;
     
    4448                        case 'evenements':
    4549                        case 'petitions':
     50                                $primary = $boucle->id_table.'.'.$boucle->primary;
    4651                                $t = $boucle->id_table . '.id_article';
    47                                 $boucle->select = array_merge($boucle->select, array($t));
     52                                $boucle->select = array_merge($boucle->select, array($t, $primary));
     53                                // Test sur l'objet lui-même
     54                                $boucle->where[] = accesrestreint_objets_accessibles_where($boucle->id_table, $primary);
     55                                // Test sur la hiérarchie
    4856                                $boucle->where[] = accesrestreint_articles_accessibles_where($t);
    4957                                $securise = true;
    5058                                break;
    5159                        case 'signatures':
     60                                $primary = $boucle->id_table.'.'.$boucle->primary;
    5261                                // ajouter une jointure sur petitions si besoin
    5362                                $t = array_search("spip_petitions", $boucle->from);
     
    5564                                $t = $t . '.id_article';
    5665                                $boucle->select = array_merge($boucle->select, array($t));
     66                                // Test sur l'objet lui-même
     67                                $boucle->where[] = accesrestreint_objets_accessibles_where($boucle->id_table, $primary);
     68                                // Test sur la hiérarchie
    5769                                $boucle->where[] = accesrestreint_articles_accessibles_where($t);
    5870                                $securise = true;
Note: See TracChangeset for help on using the changeset viewer.