X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fmenus%2Faction%2Fediter_menus_entree.php;fp=www%2Fplugins%2Fmenus%2Faction%2Fediter_menus_entree.php;h=8219c83aca66abc4eeada5a149926c83ab517121;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/menus/action/editer_menus_entree.php b/www/plugins/menus/action/editer_menus_entree.php new file mode 100644 index 0000000..8219c83 --- /dev/null +++ b/www/plugins/menus/action/editer_menus_entree.php @@ -0,0 +1,110 @@ + 0) + $err = menus_entree_set($id_menus_entree); + + if (_request('redirect')) { + $redirect = parametre_url(urldecode(_request('redirect')), + 'id_menus_entree', $id_menus_entree, '&') . $err; + + include_spip('inc/headers'); + redirige_par_entete($redirect); + } + else + return array($id_menus_entree,$err); +} + +/** + * Crée une nouvelle entree de menu et retourne son ID + * + * @return int id_menus_entree + */ +function insert_menus_entree($id_menu) { + // Envoyer aux plugins + $champs = pipeline('pre_insertion', + array( + 'args' => array( + 'table' => 'spip_menus_entrees', + ), + 'data' => $champs + ) + ); + + $id_menus_entree = sql_insertq("spip_menus_entrees",array('id_menu'=>$id_menu)); + + return $id_menus_entree; +} + +/** + * Appelle la fonction de modification d'une entrée de menu + * + * @param int $id_menu_entree + * @param unknown_type $set + * @return $err + */ +function menus_entree_set($id_menus_entree, $set=null) { + $err = ''; + + $c = array(); + $c['id_menu'] = _request('id_menu_nouvelle_entree'); + + foreach (array( + 'rang', + 'type_entree', + 'parametres' + ) as $champ) + $c[$champ] = _request($champ, $set); + + $c['parametres'] = is_array($c['parametres']) ? $c['parametres'] : array(); + $c['parametres'] = serialize($c['parametres']); + + include_spip('inc/menus'); + $entrees = menus_lister_disponibles(); + $infos = $entrees[$c['type_entree']]; + + include_spip('inc/modifier'); + revision_menus_entree($id_menus_entree, $c); + + return $err; +} + +/** + * Enregistre une révision d'entree de menu + * + * @param int $id_menus_entree + * @param array $c + * @return + */ +function revision_menus_entree ($id_menus_entree, $c=false) { + $invalideur = "id='id_menus_entree/$id_menus_entree'"; + + modifier_contenu('menus_entree', $id_menus_entree, + array( + 'invalideur' => $invalideur + ), + $c); + + return ''; // pas d'erreur +} +?> \ No newline at end of file