diff --git a/auted_autorisations.php b/auted_autorisations.php index 521d6e2..c84bb1e 100644 --- a/auted_autorisations.php +++ b/auted_autorisations.php @@ -26,59 +26,42 @@ function auted_autoriser() { - /** - * Autorisation de créer (autmod) + * Autorisation de créer (autmodele) * - * @param string $faire Action demandée - * @param string $type Type d'objet sur lequel appliquer l'action - * @param int $id Identifiant de l'objet - * @param array $qui Description de l'auteur demandant l'autorisation - * @param array $opt Options de cette autorisation - * @return bool true s'il a le droit, false sinon **/ -function autoriser_autmod_creer_dist($faire, $type, $id, $qui, $opt) { - return autoriser('webmestre', '', '', $qui); +function autoriser_autmodele_associer_dist($faire, $type, $id, $qui, $opt) { + return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss"); } /** - * Autorisation de voir (autmod) + * Autorisation de créer (autmodele) * - * @param string $faire Action demandée - * @param string $type Type d'objet sur lequel appliquer l'action - * @param int $id Identifiant de l'objet - * @param array $qui Description de l'auteur demandant l'autorisation - * @param array $opt Options de cette autorisation - * @return bool true s'il a le droit, false sinon **/ -function autoriser_autmod_voir_dist($faire, $type, $id, $qui, $opt) { - return autoriser('webmestre', '', '', $qui); +function autoriser_autmodele_creer_dist($faire, $type, $id, $qui, $opt) { + return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss"); } /** - * Autorisation de modifier (autmod) + * Autorisation de voir (autmodele) * - * @param string $faire Action demandée - * @param string $type Type d'objet sur lequel appliquer l'action - * @param int $id Identifiant de l'objet - * @param array $qui Description de l'auteur demandant l'autorisation - * @param array $opt Options de cette autorisation - * @return bool true s'il a le droit, false sinon **/ -function autoriser_autmod_modifier_dist($faire, $type, $id, $qui, $opt) { - return autoriser('webmestre', '', '', $qui); +function autoriser_autmodele_voir_dist($faire, $type, $id, $qui, $opt) { + return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss"); } /** - * Autorisation de supprimer (autmod) + * Autorisation de modifier (autmodele) * - * @param string $faire Action demandée - * @param string $type Type d'objet sur lequel appliquer l'action - * @param int $id Identifiant de l'objet - * @param array $qui Description de l'auteur demandant l'autorisation - * @param array $opt Options de cette autorisation - * @return bool true s'il a le droit, false sinon **/ -function autoriser_autmod_supprimer_dist($faire, $type, $id, $qui, $opt) { - return autoriser('webmestre', '', '', $qui); +function autoriser_autmodele_modifier_dist($faire, $type, $id, $qui, $opt) { + return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss"); +} + +/** + * Autorisation de supprimer (autmodele) + * +**/ +function autoriser_autmodele_supprimer_dist($faire, $type, $id, $qui, $opt) { + return (autoriser('webmestre', '', '', $qui) or $qui['pgp'] === "boss"); } diff --git a/charger_aut_modele.html b/charger_aut_modele.html index df96ce2..a59b2a9 100644 --- a/charger_aut_modele.html +++ b/charger_aut_modele.html @@ -1,8 +1,7 @@ +[(#AUTORISER{associer,autmodele}|sinon_interdire_acces)]

Charger un modèle pour : [ (#ENV{nom})]

- [(#FORMULAIRE_CHARGER_AUT_MODELE{#ENV{id_auteur},#ENV{redirect}})]
-
diff --git a/formulaires/charger_aut_modele.html b/formulaires/charger_aut_modele.html index 1ff1075..cb9b581 100644 --- a/formulaires/charger_aut_modele.html +++ b/formulaires/charger_aut_modele.html @@ -1,3 +1,5 @@ +#CACHE{0} +
[

(#ENV*{message_erreur})

] @@ -7,24 +9,21 @@ #ACTION_FORMULAIRE{#ENV{action}}
- #SET{name,aut_modele} + #SET{name,id_aut_modele} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{obli,"obligatoire"}
- - [(#SET{nom_modele,#AUT_MODELE|json_decode{true}|table_valeur{name}})] - +
- - +
- - +
- -

+

diff --git a/formulaires/charger_aut_modele.php b/formulaires/charger_aut_modele.php index d8d143b..0b6a40a 100644 --- a/formulaires/charger_aut_modele.php +++ b/formulaires/charger_aut_modele.php @@ -4,7 +4,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return; function formulaires_charger_aut_modele_charger_dist($id_auteur, $redirect = ''){ $valeurs = array( "id_auteur" => $id_auteur, - "aut_modele" => "" + "id_aut_modele" => "" ); return $valeurs; @@ -18,19 +18,27 @@ function formulaires_charger_aut_modele_verifier_dist($id_auteur, $redirect = '' function formulaires_charger_aut_modele_traiter_dist($id_auteur, $redirect = ''){ $retour = array(); - $retour['message_ok'] = "bravo"; - $retour['redirect'] = "spip.php?page=perdu"; - $retour['editable'] = true; - - $aut_modele = _request('aut_modele'); - if ($aut_modele) { - $aut_modele = json_decode($aut_modele, true); - if (is_array($aut_modele)) { + $id_aut_modele = _request('id_aut_modele'); + if (intval($id_aut_modele) and intval($id_auteur)) { + $auts = sql_fetsel('nom, aut_modele','spip_aut_modeles', 'id_aut_modele='.intval($id_aut_modele)); + if (!empty($auts)) { + $set = [ + 'autorisations' => $auts['aut_modele'], + 'aut_nom' => $auts['nom'] + ]; + sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id_auteur)); + $retour['message_ok'] = "bravo"; + include_spip('inc/invalideur'); + suivre_invalideur("id='id_auteur/$id_auteur'"); } - $modele = sql_getfetsel('aut_modele', 'spip_auteurs', 'aut_modele'); + } else { + $retour['message_erreur'] = _T('auted:enregistrement_impossible'); + } + if ($redirect) { + $retour['redirect'] = $redirect; } return $retour;