function declarer_url_arbo_rec($url, $type, $parent, $type_parent, $contexte = array()) { if (is_null($parent)) { return $url; } // le contexte parent ne se transmet pas if (isset($contexte['id_parent'])) { unset($contexte['id_parent']); } // Si pas de parent ou si son URL est vide, on ne renvoit que l'URL de l'objet en court // MODIF : on ne va pas jusqu'à $parent=0, on s'arrête au niveau supérieur sinon on retrouve la rubrique du site dans l'URL finale... ce qu'on ne veut pas. $niveau_superieur = $parent; if($type == 'rubrique'){ if($parent == 0){ $niveau_superieur = 0; }else{ $niveau_superieur = sql_getfetsel('id_parent','spip_urls',array('id_objet=' . intval($parent), "type='rubrique'")); } } if ($niveau_superieur == 0 or !($url_parent = declarer_url_arbo($type_parent ? $type_parent : 'rubrique', $parent, $contexte))) { return rtrim($url, '/'); } // Sinon on renvoit l'URL de l'objet concaténée avec celle du parent else { return rtrim($url_parent, '/') . '/' . rtrim($url, '/'); } }