Changeset 53860 in spip-zone


Ignore:
Timestamp:
Oct 30, 2011, 4:12:31 PM (8 years ago)
Author:
rastapopoulos@…
Message:

Obligé de faire une fonction "get_enfants" car l'API générique de SPIP objet_trouver_liens() ne peut pas marcher avec Polyhiérarchie à cause du champ "id_parent" au lieu de "id_rubrique".

On peut donc trouver tous les enfants indirects d'une rubrique, ça retourne des couples avec objet et id_objet.
Ou bien on peut demander un type d'objet précis, et dans ce cas ça ne retourne que la liste des identifiants.

Location:
_plugins_/polyhierarchie/branches/v2.0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/polyhierarchie/branches/v2.0/inc/polyhier.php

    r52794 r53860  
    125125
    126126/**
     127 *
     128 * @param int/array $id_parent
     129 * @param string $objet Un éventuel type d'objet
     130 * @param string $serveur
     131 * @return array
     132 */
     133function polyhier_get_enfants($id_parent, $objet='', $serveur=''){
     134
     135        $where = (is_array($id_parent) ? sql_in('id_parent',$id_parent) : ("id_parent=".intval($id_parent)));
     136
     137        // selectionner l'intersection entre base et tableau
     138        $objets = sql_allfetsel("objet, id_objet","spip_rubriques_liens",$where,"","","","",$serveur);
     139       
     140        // S'il n'y a pas de type on retourne tous les couples
     141        if (!$objet){
     142                return $objets;
     143        }
     144        // S'il y a un type on retoure juste la liste des ID
     145        else{
     146                $ids = array();
     147                foreach ($objets as $couple){
     148                        if ($couple['objet'] == $objet){
     149                                $ids[] = $couple['id_objet'];
     150                        }
     151                }
     152                return $ids;
     153        }
     154}
     155
     156/**
    127157 * Retrouver tous les parents, directs et indirects
    128158 *
  • _plugins_/polyhierarchie/branches/v2.0/paquet.xml

    r53854 r53860  
    22        prefix="polyhier"
    33        categorie="navigation"
    4         version="2.0.2"
     4        version="2.0.3"
    55        etat="test"
    66        compatibilite="[3.0.0-beta;["
Note: See TracChangeset for help on using the changeset viewer.