la fonction creer_slug peut fonctionner par un appel via charger_fonction()

This commit is contained in:
Christophe 2021-04-23 14:44:02 +02:00
parent c576301511
commit ebd12aa1e8

View file

@ -3,7 +3,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
/** /**
* créer un slug Gamumail * créer un slug Gamumail
* *
* @plugin GamuMail * @plugin GamuMail
* *
* @copyright 2020 * @copyright 2020
@ -16,12 +16,11 @@ include_spip('inc/editer');
include_spip('action/editer_objet'); include_spip('action/editer_objet');
include_spip('inc/autoriser'); include_spip('inc/autoriser');
function action_creer_slug_dist(){ function action_creer_slug_dist($slug = null, $opt = []){
include_spip('inc/autoriser'); include_spip('inc/autoriser');
if (!autoriser('creer','gamumail')) { if (!autoriser('creer','gamumail')) {
return false; return false;
} }
$set = [ $set = [
'slug' => '', 'slug' => '',
'titre' => 'Le titre du modèle', 'titre' => 'Le titre du modèle',
@ -29,11 +28,23 @@ function action_creer_slug_dist(){
'texte' => 'Le texte du mail', 'texte' => 'Le texte du mail',
'statut' => 'publie', 'statut' => 'publie',
]; ];
if ($id_slug = objet_inserer('gamumail', null, $set)) { if ($id_slug = objet_inserer('gamumail', null, $set)) {
sql_updateq('spip_gamumails', ['slug' => 'slug_'.$id_slug], 'id_gamumail = '.$id_slug); $set = ['slug' => 'slug_'.$id_slug];
if (
$slug !== null
and !sql_countsel('slug', 'spip_gamumails', 'slug!='.sql_quote($slug))
) {
$set['slug'] = $slug;
}
if (is_array($opt) and count($opt)) {
$set = array_merge($set, $opt);
$set['editable'] = '';
}
sql_updateq('spip_gamumails', $set, 'id_gamumail = '.$id_slug);
} }
// Cache // Cache
include_spip('inc/invalideur'); include_spip('inc/invalideur');
suivre_invalideur("id='id_gamumail/$id_gamumail'"); suivre_invalideur("id='id_gamumail/1'");
} }