\n"; return $flux; } function menus_pre_boucle($boucle) { if ($boucle->type_requete == 'menus') { $id_table = $boucle->id_table; $id_menus_entree = "$id_table.id_menus_entree"; if ( !isset($boucle->modificateur['criteres']['id_menus_entree']) and !isset($boucle->modificateur['criteres']['id_menu']) and !isset($boucle->modificateur['criteres']['identifiant']) ) { $boucle->where[] = [sql_quote('='), sql_quote($id_menus_entree), 0]; } } return $boucle; } function menus_menus_lister_disponibles($flux) { return $flux; } function menus_declarer_url_objets($array) { $array[] = 'menu'; return $array; } /** * Ajout de contenu sur certaines pages, * notamment des formulaires de liaisons entre objets * * @pipeline affiche_milieu * @param array $flux Données du pipeline * @return array Données du pipeline */ function menus_affiche_milieu($flux) { $texte = ''; $e = trouver_objet_exec($flux['args']['exec']); include_spip('inc/config'); // Menus sur les objets configurés if ( $e !== false and isset($e['edition'], $e['table_objet_sql']) and !$e['edition'] and in_array($e['table_objet_sql'], lire_config('menus/objets', [])) ) { $texte .= recuperer_fond('prive/objets/editer/liens', [ 'table_source' => 'menus', 'objet' => $e['type'], 'id_objet' => $flux['args'][$e['id_table_objet']] ]); } if ($texte) { if ($p = strpos($flux['data'], '')) { $flux['data'] = substr_replace($flux['data'], $texte, $p, 0); } else { $flux['data'] .= $texte; } } return $flux; } /** * Optimiser la base de données * * Supprime les liens orphelins de l'objet vers quelqu'un et de quelqu'un vers l'objet. * * @pipeline optimiser_base_disparus * @param array $flux Données du pipeline * @return array Données du pipeline */ function menus_optimiser_base_disparus($flux) { include_spip('action/editer_liens'); $flux['data'] += objet_optimiser_liens(['menu' => '*'], '*'); return $flux; }