Changeset 57370 in spip-zone


Ignore:
Timestamp:
Jan 20, 2012, 11:32:01 AM (8 years ago)
Author:
jluc@…
Message:

Nouveau filtre profondeur (marcimat)
[(#ID_RUBRIQUE|profondeur)]
Attention dans spip3 c'est un champ de RUBRIQUE donc syntaxe différente.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-bonux-2/spip_bonux_fonctions.php

    r53581 r57370  
    293293}
    294294
     295/**
     296 * Calculer et retourner la profondeur de la rubrique 
     297 * (dans spip3, c'est un champ de la table rubrique)
     298 *
     299 * @return int
     300*/
     301function filtre_profondeur_dist ($id_rubrique) {
     302        $id_rubrique = intval($id_rubrique);
     303       
     304        // sauver les calculs deja faits
     305        static $profs = array();
     306        if (isset($profs[$id_rubrique])) {
     307                return $profs[$id_rubrique]
     308        }
     309
     310        // recuperer le parent.
     311        $id_parent = sql_getfetsel('id_parent', 'spip rubriques', 'id_rubrique='.$id_rubrique);
     312
     313        // pas de parent, on est tout en haut...
     314        if (!$id_parent) {
     315                return $profs[$id_rubrique] = 1;
     316        }
     317
     318        // sinon, on trouve la profondeur du parent
     319        $parent = filtre_profondeur($id_parent);
     320        $profs[$id_rubrique] = ($parent + 1);
     321        return $profs[$id_rubrique];
     322}
     323
    295324?>
Note: See TracChangeset for help on using the changeset viewer.