Changeset 49957 in spip-zone


Ignore:
Timestamp:
Jul 25, 2011, 12:40:58 PM (10 years ago)
Author:
marcimat@…
Message:

2 fonctions pour lister les rubriques qui appartiennent à quelque zone restreinte que ce soit.

  • accesrestreint_liste_rubriques_restreintes() liste les rubriques restreintes sélectionnées dans la configuration des zones.
  • accesrestreint_liste_rubriques_restreintes_et_enfants() Idem, avec l'ensemble des rubriques enfants (les branches donc).
Location:
_plugins_/acces_restreint
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/acces_restreint/acces_restreint_fonctions.php

    r45718 r49957  
    144144
    145145
     146/**
     147 * Retourne la liste de toutes les rubriques sélectionnées dans des zones
     148 *
     149 * @return Array liste d'identifiants de rubriques
     150**/
     151function accesrestreint_liste_rubriques_restreintes() {
     152        static $rubs = array();
     153
     154        $_publique = !test_espace_prive();
     155
     156        if (isset($rubs[$_publique])) {
     157                return $rubs[$_publique];
     158        }
     159       
     160        if ($_publique) {
     161                $p = 'publique=' . sql_quote('oui');
     162        } else {
     163                $p = 'prive=' . sql_quote('non');
     164        }
     165       
     166        $idz = sql_allfetsel('DISTINCT(id_rubrique)', array('spip_zones_rubriques AS zr', 'spip_zones AS z'), array(
     167                'z.id_zone = zr.id_zone', $p
     168        ));
     169       
     170        if (is_array($idz)) {
     171                $idz = array_map('reset', $idz);
     172                return $rubs[$_publique] = $idz;
     173        }
     174       
     175        return $rubs[$_publique] = array();
     176}
     177
     178
     179/**
     180 * Retourne la liste de toutes les rubriques sélectionnées dans des zones
     181 *
     182 * @return Array liste d'identifiants de rubriques
     183**/
     184function accesrestreint_liste_rubriques_restreintes_et_enfants() {
     185        static $rubs = array();
     186
     187        $_publique = !test_espace_prive();
     188
     189        if (isset($rubs[$_publique])) {
     190                return $rubs[$_publique];
     191        }
     192
     193        $parents = accesrestreint_liste_rubriques_restreintes();
     194        if ($parents) {
     195                include_spip('inc/rubriques');
     196                $branches = explode(',', calcul_branche_in($parents));
     197                return $rubs[$_publique] = $branches;
     198        }
     199       
     200        return $rubs[$_publique] = array();
     201}
    146202?>
  • _plugins_/acces_restreint/plugin.xml

    r49351 r49957  
    66        <auteur>[cedric.morin@yterium.com->http://www.yterium.net]</auteur>
    77        <licence>GPL &#169; 2007-2008</licence>
    8         <version>3.1.1</version>
     8        <version>3.2.0</version>
    99        <version_base>0.3.0.2</version_base>
    1010        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.