diff --git a/formulaires/editer_autorisations.html b/formulaires/editer_autorisations.html index 662d66a..b50817b 100644 --- a/formulaires/editer_autorisations.html +++ b/formulaires/editer_autorisations.html @@ -1,5 +1,4 @@ #CACHE{0} -
[

(#ENV*{message_erreur})

] @@ -25,9 +24,9 @@ {pgp ?!IN #ENV{pgp}} {webmestre?} {tout}> - #SET{modifie,''} - #SET{modifie,#MODIFIE} - + + [(#AUT_NOM|?{#SET{disabled,oui}, #SET{disabled,''}})] +
[(#PGP|=={boss}|oui) @@ -45,38 +44,18 @@ #NOM - +
#AUT_NOM
]
-
- - - - - - -
- + [(#GET{disabled}|oui) ] + [(#PGP|!={boss}|oui) ] [(#SET{autorisations,#AUTORISATIONS|json_decode{true}|table_valeur{#VALEUR{type}}})] [(#PGP|!={boss}|oui) - + ] @@ -88,41 +67,3 @@

- - diff --git a/formulaires/editer_autorisations.php b/formulaires/editer_autorisations.php index 3a47199..dbee5c8 100644 --- a/formulaires/editer_autorisations.php +++ b/formulaires/editer_autorisations.php @@ -18,51 +18,39 @@ function formulaires_editer_autorisations_verifier_dist($id_auteur=0, $redirect= function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect=''){ include_spip('inc/session'); + $retour = array(); - + $Tdisabled = _request('Tdisabled'); $Tid_auteur = _request('Tid_auteur'); + foreach ($Tid_auteur as $id) { - $Tauths = _request('id-' . $id); - $nom_modele = _request('modele-' . $id); $Tautorisations = []; + if (in_array($id, $Tdisabled)) { + continue; + } + + $Tauths = _request('id-' . $id); if (!empty($Tauths)) { foreach ($Tauths as $valeur) { $Tautorisations[key($valeur)][]= $valeur[key($valeur)]; } } - $set = [ 'autorisations' => json_encode($Tautorisations) ]; - - - - if ($nom_modele) { - $aut_modele = [ - 'nom' => $nom_modele, - 'modele' => json_encode($Tautorisations), - 'statut' => 'publie' - ]; - $r = sql_fetsel('id_aut_modele, modele, nom', 'spip_aut_modeles', 'nom='.sql_quote($nom_modele)); - $id_aut_modele = $r['id_aut_modele']; - if ($id_aut_modele) { - if ($r['modele'] !== $aut_modele['modele']) { - $aut_modele['modifie'] = 'oui'; - } - sql_updateq('spip_aut_modeles', $aut_modele, 'id_aut_modele='.intval($id_aut_modele)); - } else { - sql_insertq('spip_aut_modeles', $aut_modele); - } - $set['aut_modele'] = $r['nom']; - } - sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id)); + + // on recalcul la session $auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id)); actualiser_sessions($auteur); $retour['message_ok'] = "Enregistrement validé"; } + include_spip('inc/invalideur'); + suivre_invalideur("id='id_auteur/$id'"); + + if ($redirect) { $retour['redirect'] = $redirect; } diff --git a/inclure/auth_choix.html b/inclure/auth_choix.html index b11303d..3894098 100644 --- a/inclure/auth_choix.html +++ b/inclure/auth_choix.html @@ -1,5 +1,6 @@ #SET{name,aut_#ENV{type}}