<?php
// Sécurité
-if (!defined("_ECRIRE_INC_VERSION")) return;
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
include_spip('inc/menus');
include_spip('inc/editer');
include_spip('inc/actions');
-function formulaires_editer_menus_entree_charger($id_menu,$id_menus_entree='new'){
+function formulaires_editer_menus_entree_charger($id_menu, $id_menus_entree = 'new') {
/**
* On vérifie si nous ne sommes pas dans une modification
* Sinon c'est une création
*/
$id_menus_entree = intval(_request('modifier_entree')) ? _request('modifier_entree') : $id_menus_entree;
- $valeurs = formulaires_editer_objet_charger('menus_entree',$id_menus_entree,0,0,'', '', '', '');
+ $valeurs = formulaires_editer_objet_charger('menus_entree', $id_menus_entree, 0, 0, '', '', array(), '');
$valeurs['id_menu'] = $id_menu;
// On sait toujours si on est sur un menu déjà créé ou pas
$valeurs['_hidden'] .= '<input type="hidden" name="id_menu" value="'.$id_menu.'" />';
+ // les valeurs retournées par _verifier
+ $valeurs['entrees'] = '';
+ $valeurs['donnees'] = '';
+ $valeurs['id_menus_entree'] = '';
+ $valeurs['type'] = '';
+ $valeurs['type_entree'] = '';
+ if ($type_entree = _request('type_entree')) {
+ $valeurs['infos_' . $type_entree] = '';
+ }
+
return $valeurs;
}
-function formulaires_editer_menus_entree_verifier($id_menu,$id_menus_entree='new'){
- $erreurs = formulaires_editer_objet_verifier('menus_entree',$id_menus_entree,array());
+function formulaires_editer_menus_entree_verifier($id_menu, $id_menus_entree = 'new') {
+ $erreurs = formulaires_editer_objet_verifier('menus_entree', $id_menus_entree, array());
// Si on demande une nouvelle entree pour un menu --------------------------
- if ($id_menu = intval(_request('demander_nouvelle_entree'))){
+ if ($id_menu = intval(_request('demander_nouvelle_entree'))) {
// S'il n'y a pas encore de type d'entree de choisi
- if (!($type_entree = _request('type_entree'))){
+ if (!($type_entree = _request('type_entree'))) {
include_spip('inc/config');
- $erreurs['id_menu_nouvelle_entree'] = $id_menu;
+ set_request('id_menu_nouvelle_entree', $id_menu);
// On charge les différents types d'entrées disponibles
$masque = array_flip(lire_config('menus/entrees_masquees', array()));
- $erreurs['entrees'] = array_diff_key(menus_lister_disponibles(), $masque);
- if (_request('suivant'))
- $erreurs['type'] = _T('menus:erreur_type_menu');
- }
- // Si on a choisi un type d'entree
- else{
- $erreurs['id_menu_nouvelle_entree'] = $id_menu;
- $erreurs['type_entree'] = $type_entree;
+ set_request('entrees', array_diff_key(menus_lister_disponibles(), $masque));
+ if (_request('suivant')) {
+ $erreur['type'] = _T('menus:erreur_type_menu');
+ }
+ } else {
+ // Si on a choisi un type d'entree
+ set_request('id_menu_nouvelle_entree', $id_menu);
+ set_request('type_entree', $type_entree);
// On charge les infos du type choisi
$entrees = menus_lister_disponibles();
- $erreurs['infos_'.$type_entree] = $entrees[$type_entree];
+ set_request('infos_'.$type_entree, $entrees[$type_entree]);
}
}
// Si on veut modifier une entrée ------------------------------------------
- if ($id_menus_entree = intval(_request('modifier_entree'))){
+ if ($id_menus_entree = intval(_request('modifier_entree'))) {
// On va chercher l'existant de cette entrée
$entree = sql_fetsel(
'type_entree, parametres',
$type_entree = $entree['type_entree'];
$parametres = unserialize($entree['parametres']);
- $erreurs = array_merge($erreurs, $parametres);
- $erreurs['id_menus_entree'] = $id_menus_entree;
- $erreurs['type_entree'] = $type_entree;
+ set_request('donnees', $parametres);
+ set_request('id_menus_entree', $id_menus_entree);
+ set_request('type_entree', $type_entree);
// On charge les infos du type choisi
$entrees = menus_lister_disponibles();
- $erreurs['infos_'.$type_entree] = $entrees[$type_entree];
+ set_request('infos_'.$type_entree, $entrees[$type_entree]);
}
// Si on valide une entree pour un menu ------------------------------------
- if (($id_menu = intval(_request('id_menu_nouvelle_entree')) or $id_menus_entree = intval(_request('id_menus_entree'))) and _request('enregistrer')){
+ if (($id_menu = intval(_request('id_menu_nouvelle_entree'))
+ or $id_menus_entree = intval(_request('id_menus_entree'))) and _request('enregistrer')) {
$type_entree = _request('type_entree');
$parametres_envoyes = _request('parametres');
$entrees = menus_lister_disponibles();
$infos = $entrees[$type_entree];
// On teste que chaque paramètre obligatoire est bien renseigné
- foreach ($infos['parametres'] as $nom=>$parametre){
- if ($parametre['obligatoire']){
- if (!$parametres_envoyes[$nom]){
- if ($id_menu)
- $erreurs['id_menu_nouvelle_entree'] = $id_menu;
- if ($id_menus_entree)
- $erreurs['id_menus_entree'] = $id_menus_entree;
- $erreurs['type_entree'] = $type_entree;
- $erreurs['infos_'.$type_entree] = $infos;
+ foreach ($infos['parametres'] as $nom => $parametre) {
+ if ($parametre['obligatoire']) {
+ if (!$parametres_envoyes[$nom]) {
+ if ($id_menu) {
+ set_request('id_menu_nouvelle_entree', $id_menu);
+ }
+ if ($id_menus_entree) {
+ set_request('id_menus_entree', $id_menus_entree);
+ }
+ set_request('type_entree', $type_entree);
+ set_request('infos_'.$type_entree, $infos);
$erreurs['parametres'][$nom] = _T('info_obligatoire');
}
}
return $erreurs;
}
-function formulaires_editer_menus_entree_traiter($id_menu,$id_menus_entree='new'){
+function formulaires_editer_menus_entree_traiter($id_menu, $id_menus_entree = 'new') {
$retours = array();
// Si on valide une entree pour un menu ------------------------------------
- if (($id_menu = intval(_request('id_menu_nouvelle_entree')) or $id_menus_entree = intval(_request('id_menus_entree'))) and _request('enregistrer')){
- $res = formulaires_editer_objet_traiter('menus_entree', $id_menus_entree, 0, 0, '', '', '', '');
- if (!$res['id_menus_entree'])
+ if (($id_menu = intval(_request('id_menu_nouvelle_entree'))
+ or $id_menus_entree = intval(_request('id_menus_entree')))
+ and _request('enregistrer')) {
+ $res = formulaires_editer_objet_traiter('menus_entree', $id_menus_entree, 0, 0, '', '', array(), '');
+ set_request('id_menu_nouvelle_entree', '');
+ set_request('id_menus_entree', '');
+ if (!$res['id_menus_entree']) {
$retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ }
}
// Si on demande la supression d'une entrée --------------------------------
- if ($id_menus_entree = intval(_request('supprimer_entree'))){
+ if ($id_menus_entree = intval(_request('supprimer_entree'))) {
$ok = menus_supprimer_entree($id_menus_entree);
- if (!$ok)
+ if (!$ok) {
$retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ }
}
// Si on demande à déplacer une entrée -------------------------------------
- if ($params = _request('deplacer_entree')){
+ if ($params = _request('deplacer_entree')) {
preg_match('/^([\d]+)-(bas|haut)$/', $params, $params);
array_shift($params);
list($id_menus_entree, $sens) = $params;
));
// Tant qu'on ne veut pas faire de tour complet
- if (!($sens == 'bas' and $rang_actuel == $dernier_rang) and !($sens == 'haut' and $rang_actuel == 1)){
+ if (!($sens == 'bas' and $rang_actuel == $dernier_rang)
+ and !($sens == 'haut' and $rang_actuel == 1)) {
// Alors on ne fait qu'échanger deux entrées
$rang_echange = ($sens == 'bas') ? ($rang_actuel + 1) : ($rang_actuel - 1);
$ok = sql_updateq(
),
'id_menu = '.$id_menu.' and rang = '.$rang_echange
);
- if ($ok)
+ if ($ok) {
$ok = sql_updateq(
'spip_menus_entrees',
array(
),
'id_menus_entree = '.$id_menus_entree
);
- }
- // Sinon on fait un tour complet en déplaçant tout
- else{
- if ($sens == 'bas'){
+ }
+ } else {
+ // Sinon on fait un tour complet en déplaçant tout
+ if ($sens == 'bas') {
// Tout le monde descend d'un rang
$ok = sql_update(
'spip_menus_entrees',
'id_menu = '.$id_menu
);
// L'entrée passe tout en haut
- if ($ok)
+ if ($ok) {
$ok = sql_updateq(
'spip_menus_entrees',
array(
),
'id_menus_entree = '.$id_menus_entree
);
- }
- else{
+ }
+ } else {
// Tout le monde monte d'un rang
$ok = sql_update(
'spip_menus_entrees',
'id_menu = '.$id_menu
);
// L'entrée passe tout en bas
- if ($ok)
+ if ($ok) {
$ok = sql_updateq(
'spip_menus_entrees',
array(
),
'id_menus_entree = '.$id_menus_entree
);
+ }
}
}
- if (!$ok) $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ if (!$ok) {
+ $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ }
}
// Si on veut faire un sous-menu -------------------------------------------
- if ($id_menus_entree = intval(_request('demander_sous_menu'))){
+ if ($id_menus_entree = intval(_request('demander_sous_menu'))) {
$id_menu = sql_insertq(
'spip_menus',
array(
'id_menus_entree' => $id_menus_entree
)
);
- if (!$id_menu) $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ if (!$id_menu) {
+ $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ }
}
// Si on veut supprimer un menu --------------------------------------------
- if ($id_menu = intval(_request('supprimer_menu'))){
+ if ($id_menu = intval(_request('supprimer_menu'))) {
// Est-ce un menu ou un sous-menu ?
$sous_menu = intval(sql_getfetsel(
'id_menus_entree',
'id_menu = '.$id_menu
));
$ok = menus_supprimer_menu($id_menu);
- if (!$ok) $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
- if ($ok and !$sous_menu) $retours['redirect'] = generer_url_ecrire('menus_tous');
+ if (!$ok) {
+ $retours['message_erreur'] = _T('menus:erreur_mise_a_jour');
+ }
+ if ($ok and !$sous_menu) {
+ $retours['redirect'] = generer_url_ecrire('menus_tous');
+ }
+ }
+
+ // Bouton annuler ---------------------------------------------------------
+
+ if (_request('annuler')) {
+ set_request('id_menus_entree', '');
}
$retours['editable'] = true;
return $retours;
}
-
-?>