Autorisations_-tendues/formulaires/editer_autorisations.php

71 lines
1.8 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_editer_autorisations_charger_dist($id_auteur=0, $redirect=''){
$valeurs = ['auth_modele' => _AUTH_MODELE];
if (intval($id_auteur)) {
$valeurs["id_auteur"] = intval($id_auteur);
}
return $valeurs;
}
function formulaires_editer_autorisations_verifier_dist($id_auteur=0, $redirect=''){
$erreurs = array();
return $erreurs;
}
function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect=''){
include_spip('inc/session');
$retour = array();
$Tid_auteur = _request('Tid_auteur');
foreach ($Tid_auteur as $id) {
$Tauths = _request('id-' . $id);
$nom_modele = _request('modele-' . $id);
$Tautorisations = [];
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));
$auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id));
actualiser_sessions($auteur);
$retour['message_ok'] = "Enregistrement validé";
}
if ($redirect) {
$retour['redirect'] = $redirect;
}
return $retour;
}