function formulaires_editer_zone_charger_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') { $valeurs = formulaires_editer_objet_charger('zone', $id_zone, 0, 0, $retour, $config_fonc, $row, $hidden); include_spip('inc/accesrestreint'); // charger les rubriques associees a la zone if ($id_zone = intval($id_zone)) { $valeurs['rubriques'] = accesrestreint_liste_contenu_zone_rub_direct($id_zone); } // cas d'une creation, regardons si l'url propose deja des rubriques if ($r = _request('rubriques')) { if (is_numeric($r)) { $r = array($r); } if (is_array($r)) { $valeurs['rubriques'] = $r; } } return $valeurs; }
/** * liste des rubriques d'une zone et leurs rubriques parentes. * * @param int/string $id_zone * @return array */ function accesrestreint_liste_parentee_zone_rub($id_zone){ include_spip('inc/rubriques'); $liste_rubriques = accesrestreint_liste_contenu_zone_rub_direct($id_zone); if (!count($liste_rubriques)) return $liste_rubriques; $id = $liste_rubriques; while ($parents = sql_allfetsel('id_parent', 'spip_rubriques', sql_in('id_rubrique', $id))) { $parents = array_map('array_shift', $parents); $parents = array_diff($parents, array(0)); $id = $parents; $liste_rubriques = array_merge($liste_rubriques, $parents); } return $liste_rubriques; }