source: spip-zone/_plugins_/_dev_/acces_groupes/inc/accesgroupes_boucles.php @ 5862

Last change on this file since 5862 was 5862, checked in by cy_altern@…, 15 years ago

début du filtrage complet de l'espace privé par surcharge des requêtes SQL : plus de rubriques restreintes *presque partout*, reste les articles, les sites et les forums...

File size: 6.5 KB
Line 
1<?php
2// redéfinition des BOUCLES
3//              permet de ne pas sélectionner les éléments à accès restreints lors des requetes SQL effectuées par les boucles
4//              merci à Cedric cedric.morin@yterium.com pour le concept initial (plugin acces_restreint)
5//               2006 - Distribue sous licence GPL
6
7
8// <BOUCLE(ARTICLES)>
9  function boucle_ARTICLES($id_boucle, &$boucles) {
10                $boucle = &$boucles[$id_boucle];
11                $id_table = $boucle->id_table;
12       
13                $t = $boucle->id_table . '.' . $boucle->primary;
14                if (!in_array($t, $boucles[$id_boucle]->select))
15                  $boucle->select[]= $t; # pour postgres, neuneu ici
16       
17                $boucle->hash = '
18                // ACCES RESTREINT
19                $acces_where = accesgroupes_articles_accessibles_where("'.$t.'");
20                ' . $boucle->hash ;
21       
22                // et le filtrage d'acces filtre !
23                $boucle->where[] = '$acces_where';
24       
25                return boucle_ARTICLES_dist($id_boucle, $boucles);
26  }
27 
28// <BOUCLE(BREVES)>
29  function boucle_BREVES($id_boucle, &$boucles) {
30                $boucle = &$boucles[$id_boucle];
31                $id_table = $boucle->id_table;
32       
33                $t = $boucle->id_table . '.' . $boucle->primary;
34                if (!in_array($t, $boucles[$id_boucle]->select))
35                  $boucle->select[]= $t; # pour postgres, neuneu ici
36       
37                $boucle->hash = '
38                // ACCES RESTREINT
39                $acces_where = accesgroupes_breves_accessibles_where("'.$t.'");
40                ' . $boucle->hash ;
41       
42                // et le filtrage d'acces filtre !
43                $boucle->where[] = '$acces_where';
44       
45                return boucle_BREVES_dist($id_boucle, $boucles);
46  }
47 
48// <BOUCLE(FORUMS)>
49  function boucle_FORUMS($id_boucle, &$boucles) {
50                $boucle = &$boucles[$id_boucle];
51                $id_table = $boucle->id_table;
52                $t = $boucle->id_table . '.' . $boucle->primary;
53                if (!in_array($t, $boucles[$id_boucle]->select))
54                  $boucle->select[]= $t; # pour postgres, neuneu ici
55       
56                $boucle->hash = '
57                // ACCES RESTREINT
58                $acces_where = accesgroupes_forums_accessibles_where("'.$t.'");
59                ' . $boucle->hash ;
60       
61                // et le filtrage d'acces filtre !
62                $boucle->where[] = '$acces_where';
63       
64                return boucle_FORUMS_dist($id_boucle, $boucles);
65  }
66 
67// <BOUCLE(SIGNATURES)>
68  function boucle_SIGNATURES($id_boucle, &$boucles) {
69                $boucle = &$boucles[$id_boucle];
70                $id_table = $boucle->id_table;
71                $t = $boucle->id_table . '.' . $boucle->primary;
72                if (!in_array($t, $boucles[$id_boucle]->select))
73                  $boucle->select[]= $t; # pour postgres, neuneu ici
74       
75                $boucle->hash = '
76                // ACCES RESTREINT
77                $acces_where = accesgroupes_signatures_accessibles_where("'.$t.'");
78                ' . $boucle->hash ;
79       
80                // et le filtrage d'acces filtre !
81                $boucle->where[] = '$acces_where';
82       
83                return boucle_SIGNATURES_dist($id_boucle, $boucles);
84  }
85 
86// <BOUCLE(DOCUMENTS)>
87  function boucle_DOCUMENTS($id_boucle, &$boucles) {
88                $boucle = &$boucles[$id_boucle];
89                $id_table = $boucle->id_table;
90                $t = $boucle->id_table . '.' . $boucle->primary;
91                if (!in_array($t, $boucles[$id_boucle]->select))
92                  $boucle->select[]= $t; # pour postgres, neuneu ici
93       
94                $boucle->hash = '
95                // ACCES RESTREINT
96                $acces_where = accesgroupes_documents_accessibles_where("'.$t.'");
97                ' . $boucle->hash ;
98       
99                // et le filtrage d'acces filtre !
100                $boucle->where[] = '$acces_where';
101       
102                return boucle_DOCUMENTS_dist($id_boucle, $boucles);
103  }
104 
105// <BOUCLE(RUBRIQUES)>
106  function boucle_RUBRIQUES($id_boucle, &$boucles) {
107                $boucle = &$boucles[$id_boucle];
108                $id_table = $boucle->id_table;
109       
110                $t = $boucle->id_table . '.' . $boucle->primary;
111                if (!in_array($t, $boucles[$id_boucle]->select))
112                  $boucle->select[]= $t; # pour postgres, neuneu ici
113                $boucle->hash = '
114                // ACCES RESTREINT
115                $acces_where = accesgroupes_rubriques_accessibles_where("'.$t.'");
116                ' . $boucle->hash ;
117       
118                // et le filtrage d'acces filtre !
119                $boucle->where[] = '$acces_where';
120       
121                return boucle_RUBRIQUES_dist($id_boucle, $boucles);
122  }
123 
124// <BOUCLE(HIERARCHIE)>
125  function boucle_HIERARCHIE($id_boucle, &$boucles) {
126                $boucle = &$boucles[$id_boucle];
127                $id_table = $boucle->id_table;
128       
129                $t = $boucle->id_table . '.' . $boucle->primary;
130                if (!in_array($t, $boucles[$id_boucle]->select))
131                  $boucle->select[]= $t; # pour postgres, neuneu ici
132       
133                $boucle->hash = '
134                // ACCES RESTREINT
135                $acces_where = accesgroupes_rubriques_accessibles_where("'.$t.'");
136                ' . $boucle->hash ;
137       
138                // et le filtrage d'acces filtre !
139                $boucle->where[] = '$acces_where';
140       
141                return boucle_HIERARCHIE_dist($id_boucle, $boucles);
142  }
143 
144// <BOUCLE(SYNDICATION)>
145  function boucle_SYNDICATION($id_boucle, &$boucles) {
146                $boucle = &$boucles[$id_boucle];
147                $id_table = $boucle->id_table;
148                $t = $boucle->id_table . '.' . $boucle->primary;
149                if (!in_array($t, $boucles[$id_boucle]->select))
150                  $boucle->select[]= $t; # pour postgres, neuneu ici
151       
152                $boucle->hash = '
153                // ACCES RESTREINT
154                $acces_where = accesgroupes_syndics_accessibles_where("'.$t.'");
155                ' . $boucle->hash ;
156       
157                // et le filtrage d'acces filtre !
158                $boucle->where[] = '$acces_where';
159       
160                return boucle_SYNDICATION_dist($id_boucle, $boucles);
161  }
162 
163// <BOUCLE(SYNDIC_ARTICLES)>
164  function boucle_SYNDIC_ARTICLES($id_boucle, &$boucles) {
165                $boucle = &$boucles[$id_boucle];
166                $id_table = $boucle->id_table;
167                $t = $boucle->id_table . '.' . $boucle->primary;
168                if (!in_array($t, $boucles[$id_boucle]->select))
169                  $boucle->select[]= $t; # pour postgres, neuneu ici
170       
171                $boucle->hash = '
172                // ACCES RESTREINT
173                $acces_where = accesgroupes_syndic_articles_accessibles_where("'.$t.'");
174                ' . $boucle->hash ;
175       
176                // et le filtrage d'acces filtre !
177                $boucle->where[] = '$acces_where';
178       
179                return boucle_SYNDIC_ARTICLES_dist($id_boucle, $boucles);
180  }
181 
182
183
184
185?>
Note: See TracBrowser for help on using the repository browser.