/_plugins_/acces_groupes/1.9.2/inc/accesgroupes_boucles.php

https://bitbucket.org/pombredanne/spip-zone-treemap · PHP · 237 lines · 158 code · 54 blank · 25 comment · 21 complexity · e8d274fda5b664406a70f49a01ebea00 MD5 · raw file

  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. if (!function_exists('critere_tout_voir_dist')){
  7. // {tout_voir} pour afficher toutes les rubriques même les protégées
  8. function critere_tout_voir_dist($idb, &$boucles, $crit) {
  9. $boucle = &$boucles[$idb];
  10. $boucle->modificateur['tout_voir'] = true;
  11. }
  12. }
  13. // <BOUCLE(ARTICLES)>
  14. function boucle_ARTICLES($id_boucle, &$boucles) {
  15. $boucle = &$boucles[$id_boucle];
  16. $id_table = $boucle->id_table;
  17. if (!isset($boucle->modificateur['tout_voir'])){
  18. $t = $boucle->id_table . '.' . $boucle->primary;
  19. if (!in_array($t, $boucles[$id_boucle]->select))
  20. $boucle->select[]= $t; # pour postgres, neuneu ici
  21. $boucle->hash = '
  22. // ACCES RESTREINT
  23. $acces_where = accesgroupes_articles_accessibles_where("'.$t.'");
  24. ' . $boucle->hash ;
  25. // et le filtrage d'acces filtre !
  26. $boucle->where[] = '$acces_where';
  27. }
  28. return boucle_ARTICLES_dist($id_boucle, $boucles);
  29. }
  30. // <BOUCLE(BREVES)>
  31. function boucle_BREVES($id_boucle, &$boucles) {
  32. $boucle = &$boucles[$id_boucle];
  33. $id_table = $boucle->id_table;
  34. if (!isset($boucle->modificateur['tout_voir'])){
  35. $t = $boucle->id_table . '.' . $boucle->primary;
  36. if (!in_array($t, $boucles[$id_boucle]->select))
  37. $boucle->select[]= $t; # pour postgres, neuneu ici
  38. $boucle->hash = '
  39. // ACCES RESTREINT
  40. $acces_where = accesgroupes_breves_accessibles_where("'.$t.'");
  41. ' . $boucle->hash ;
  42. // et le filtrage d'acces filtre !
  43. $boucle->where[] = '$acces_where';
  44. }
  45. return boucle_BREVES_dist($id_boucle, $boucles);
  46. }
  47. // <BOUCLE(FORUMS)>
  48. function boucle_FORUMS($id_boucle, &$boucles) {
  49. $boucle = &$boucles[$id_boucle];
  50. $id_table = $boucle->id_table;
  51. if (!isset($boucle->modificateur['tout_voir'])){
  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. $boucle->hash = '
  56. // ACCES RESTREINT
  57. $acces_where = accesgroupes_forums_accessibles_where("'.$t.'");
  58. ' . $boucle->hash ;
  59. // et le filtrage d'acces filtre !
  60. $boucle->where[] = '$acces_where';
  61. }
  62. return boucle_FORUMS_dist($id_boucle, $boucles);
  63. }
  64. // <BOUCLE(SIGNATURES)>
  65. function boucle_SIGNATURES($id_boucle, &$boucles) {
  66. $boucle = &$boucles[$id_boucle];
  67. $id_table = $boucle->id_table;
  68. if (!isset($boucle->modificateur['tout_voir'])){
  69. $t = $boucle->id_table . '.' . $boucle->primary;
  70. if (!in_array($t, $boucles[$id_boucle]->select))
  71. $boucle->select[]= $t; # pour postgres, neuneu ici
  72. $boucle->hash = '
  73. // ACCES RESTREINT
  74. $acces_where = accesgroupes_signatures_accessibles_where("'.$t.'");
  75. ' . $boucle->hash ;
  76. // et le filtrage d'acces filtre !
  77. $boucle->where[] = '$acces_where';
  78. }
  79. return boucle_SIGNATURES_dist($id_boucle, $boucles);
  80. }
  81. // <BOUCLE(DOCUMENTS)>
  82. function boucle_DOCUMENTS($id_boucle, &$boucles) {
  83. $boucle = &$boucles[$id_boucle];
  84. $id_table = $boucle->id_table;
  85. if (!isset($boucle->modificateur['tout_voir'])){
  86. $t = $boucle->id_table . '.' . $boucle->primary;
  87. if (!in_array($t, $boucles[$id_boucle]->select))
  88. $boucle->select[]= $t; # pour postgres, neuneu ici
  89. $boucle->hash = '
  90. // ACCES RESTREINT
  91. $acces_where = accesgroupes_documents_accessibles_where("'.$t.'");
  92. ' . $boucle->hash ;
  93. // et le filtrage d'acces filtre !
  94. $boucle->where[] = '$acces_where';
  95. }
  96. return boucle_DOCUMENTS_dist($id_boucle, $boucles);
  97. }
  98. // <BOUCLE(RUBRIQUES)>
  99. function boucle_RUBRIQUES($id_boucle, &$boucles) {
  100. $boucle = &$boucles[$id_boucle];
  101. $id_table = $boucle->id_table;
  102. if (!isset($boucle->modificateur['tout_voir'])){
  103. $t = $boucle->id_table . '.' . $boucle->primary;
  104. if (!in_array($t, $boucles[$id_boucle]->select))
  105. $boucle->select[]= $t; # pour postgres, neuneu ici
  106. $boucle->hash = '
  107. // ACCES RESTREINT
  108. $acces_where = accesgroupes_rubriques_accessibles_where("'.$t.'");
  109. ' . $boucle->hash ;
  110. // et le filtrage d'acces filtre !
  111. $boucle->where[] = '$acces_where';
  112. }
  113. return boucle_RUBRIQUES_dist($id_boucle, $boucles);
  114. }
  115. // <BOUCLE(HIERARCHIE)>
  116. function boucle_HIERARCHIE($id_boucle, &$boucles) {
  117. $boucle = &$boucles[$id_boucle];
  118. $id_table = $boucle->id_table;
  119. if (!isset($boucle->modificateur['tout_voir'])){
  120. $t = $boucle->id_table . '.' . $boucle->primary;
  121. if (!in_array($t, $boucles[$id_boucle]->select))
  122. $boucle->select[]= $t; # pour postgres, neuneu ici
  123. $boucle->hash = '
  124. // ACCES RESTREINT
  125. $acces_where = accesgroupes_rubriques_accessibles_where("'.$t.'");
  126. ' . $boucle->hash ;
  127. // et le filtrage d'acces filtre !
  128. $boucle->where[] = '$acces_where';
  129. }
  130. return boucle_HIERARCHIE_dist($id_boucle, $boucles);
  131. }
  132. // <BOUCLE(SYNDICATION)>
  133. function boucle_SYNDICATION($id_boucle, &$boucles) {
  134. $boucle = &$boucles[$id_boucle];
  135. $id_table = $boucle->id_table;
  136. if (!isset($boucle->modificateur['tout_voir'])){
  137. $t = $boucle->id_table . '.' . $boucle->primary;
  138. if (!in_array($t, $boucles[$id_boucle]->select))
  139. $boucle->select[]= $t; # pour postgres, neuneu ici
  140. $boucle->hash = '
  141. // ACCES RESTREINT
  142. $acces_where = accesgroupes_syndics_accessibles_where("'.$t.'");
  143. ' . $boucle->hash ;
  144. // et le filtrage d'acces filtre !
  145. $boucle->where[] = '$acces_where';
  146. }
  147. return boucle_SYNDICATION_dist($id_boucle, $boucles);
  148. }
  149. // <BOUCLE(SYNDIC_ARTICLES)>
  150. function boucle_SYNDIC_ARTICLES($id_boucle, &$boucles) {
  151. $boucle = &$boucles[$id_boucle];
  152. $id_table = $boucle->id_table;
  153. if (!isset($boucle->modificateur['tout_voir'])){
  154. $t = $boucle->id_table . '.' . $boucle->primary;
  155. if (!in_array($t, $boucles[$id_boucle]->select))
  156. $boucle->select[]= $t; # pour postgres, neuneu ici
  157. $boucle->hash = '
  158. // ACCES RESTREINT
  159. $acces_where = accesgroupes_syndic_articles_accessibles_where("'.$t.'");
  160. ' . $boucle->hash ;
  161. // et le filtrage d'acces filtre !
  162. $boucle->where[] = '$acces_where';
  163. }
  164. return boucle_SYNDIC_ARTICLES_dist($id_boucle, $boucles);
  165. }
  166. // <BOUCLE(EVENEMENTS)>
  167. function boucle_EVENEMENTS($id_boucle, &$boucles) {
  168. $boucle = &$boucles[$id_boucle];
  169. $id_table = $boucle->id_table;
  170. if (!isset($boucle->modificateur['tout_voir'])){
  171. $t = $boucle->id_table . '.' . $boucle->primary;
  172. if (!in_array($t, $boucles[$id_boucle]->select))
  173. $boucle->select[]= $t; # pour postgres, neuneu ici
  174. $boucle->hash = '
  175. // ACCES RESTREINT
  176. $acces_where = accesgroupes_evenements_accessibles_where("'.$t.'");
  177. ' . $boucle->hash ;
  178. // et le filtrage d'acces filtre !
  179. $boucle->where[] = '$acces_where';
  180. }
  181. return boucle_EVENEMENTS_dist($id_boucle, $boucles);
  182. }
  183. ?>