Autorisations_-tendues/formulaires/save_aut_modele.php

82 lines
2 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_save_aut_modele_charger_dist($id_auteur, $redirect = ''){
$valeurs = [];
if (intval($id_auteur)) {
$valeurs = array(
"id_auteur" => $id_auteur,
"nom_modele" => sql_getfetsel('aut_modele', 'spip_auteurs', 'id_auteur='.intval($id_auteur)),
"new_modele" => "",
"repercuter" => "oui",
);
}
return $valeurs;
}
function formulaires_save_aut_modele_verifier_dist($id_auteur, $redirect = ''){
$nom_modele = _request('nom_modele');
$new_modele = _request('new_modele');
$repercuter = _request('repercuter');
$erreurs = array();
if ($repercuter === 'nom') {
foreach (array ('new_modele ') as $obligatoire) {
if (empty($new_modele)){
$erreurs[$obligatoire] = 'Ce champs est obligatoire';
}
}
}
if ($repercuter === 'non' and $nom_modele === $new_modele) {
$erreurs['new_modele'] = _T('auted:forcer_changer_nom_du_modele');
}
return $erreurs;
}
function formulaires_save_aut_modele_traiter_dist($id_auteur, $redirect = ''){
$new_modele = _request('new_modele');
$repercuter = _request('repercuter');
$from = [
'spip_auteurs AS A',
'spip_aut_modeles AS M'
];
$where = [
'A.id_auteur='.intval($id_auteur),
'A.aut_modele=M.nom'
];
$r = sql_fetsel('M.id_aut_modele, M.modele, M.nom', $from, $where);
if (!empty($r)) {
if ($repercuter === 'oui') {
sql_updateq('spip_auteurs', ['autorisations' => $r['modele']], 'aut_modele='.sql_quote($r['nom']));
sql_updateq('spip_aut_modeles', ['modele' => $r['modele']], 'nom='.sql_quote($r['nom']));
}
if ($repercuter === 'non') {
sql_updateq('spip_auteurs', ['aut_modele' => $new_modele], 'id_auteur='.intval($id_auteur));
$set = [
'nom' => $new_modele,
'modele' => $r['autorisations'],
'statut' => 'publie'
];
sql_insertq('spip_aut_modeles', $set);
}
}
$retour = array();
$retour['message_ok'] = "bravo";
if ($redirect) {
$retour['redirect'] = $redirect;
}
return $retour;
}