X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fmenus%2Fformulaires%2Fediter_menu.php;fp=www%2Fplugins%2Fmenus%2Fformulaires%2Fediter_menu.php;h=66e43b7c68d5e42bf1ca6eba15aa98d77f4f6c92;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/menus/formulaires/editer_menu.php b/www/plugins/menus/formulaires/editer_menu.php new file mode 100644 index 0000000..66e43b7 --- /dev/null +++ b/www/plugins/menus/formulaires/editer_menu.php @@ -0,0 +1,122 @@ +$id_menu)); + } + } + elseif (!$nouveau){ + $contexte['editable'] = false; + $contexte['message_erreur'] = _T('menus:erreur_parametres'); + } + + // Si on peut bien éditer le menu, on déclare ce qu'il faut + if ($contexte['editable']){ + $contexte['id_menu'] = $id_menu; + $contexte['nouveau'] = $nouveau; + + // Les champs du menu principal + $contexte['titre'] = ''; + $contexte['identifiant'] = ''; + $contexte['css'] = ''; + $contexte['import'] = ''; + + $valeurs = formulaires_editer_objet_charger('menu',$id_menu,0,0,'', '', '', ''); + + $contexte = array_merge($contexte, $valeurs); + + // Déclarer l'action pour SPIP 2.0 + $contexte['_action'] = array('editer_menu', $id_menu); + // On sait toujours si on est sur un menu déjà créé ou pas + $contexte['_hidden'] .= ''; + } + } + else{ + $contexte['editable'] = false; + $contexte['message_erreur'] = _T('menus:erreur_autorisation'); + } + + return $contexte; +} + +function formulaires_editer_menu_verifier($id_menu, $nouveau){ + include_spip('base/abstract_sql'); + $erreurs = array(); + + $oblis = array('titre','identifiant'); + $erreurs = formulaires_editer_objet_verifier('menu',$id_menu,$oblis); + + $identifiant = _request('identifiant'); + + // On vérifie que l'identifiant est bon + if (!$erreurs['identifiant'] and !preg_match('/^[\w]+$/', $identifiant)) + $erreurs['identifiant'] = _T('menus:erreur_identifiant_forme'); + // On vérifie que l'identifiant n'est pas déjà utilisé + if (!$erreurs['identifiant']){ + $deja = sql_getfetsel( + 'id_menu', + 'spip_menus', + array( + 'identifiant = '.sql_quote($identifiant), + 'id_menu > 0', + 'id_menu !='.intval(_request('id_menu')) + ) + ); + if ($deja) + $erreurs['identifiant'] = _T('menus:erreur_identifiant_deja'); + } + + return $erreurs; +} + +function formulaires_editer_menu_traiter($id_menu, $nouveau){ + $res = formulaires_editer_objet_traiter('menu', $id_menu, 0, 0, '', '', '', ''); + + // Si ça va pas on errorise + if (!$res['id_menu']){ + $res['message_erreur'] = _T('menus:erreur_mise_a_jour'); + } + else{ + // Si on est dans l'espace privé on force la redirection + if (_request('exec') == 'menus_editer') + $res['redirect'] = generer_url_ecrire('menus_editer', "id_menu=".$res['id_menu']); + } + // Dans tous les cas le formulaire est toujours éditable + $res['editable'] = true; + + return $res; +} + +?>