gamuMail/action/creer_slug.php
2021-06-23 10:03:21 +02:00

59 lines
1.4 KiB
PHP

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* créer un slug Gamumail
*
* @plugin GamuMail
*
* @copyright 2020
* @author cy_altern
* @licence GNU/GPL
*
**/
function action_creer_slug_dist($slug = null, $opt = [], $ecraser = false){
include_spip('inc/autoriser');
include_spip('action/editer_objet');
if (!autoriser('creer','gamumail')) {
return false;
}
// Arrive d'une action SPIP
if ($slug === null) {
$set = [
'slug' => '',
'titre' => 'Le titre du modèle',
'sujet' => 'Le sujet du mail',
'texte' => 'Le texte du mail',
'statut' => 'publie',
'editable' => '',
];
if ($id_slug = objet_inserer('gamumail', null, $set)) {
$set = ['slug' => 'slug_'.$id_slug];
sql_updateq('spip_gamumails', $set, 'id_gamumail = '.$id_slug);
}
} else {
// Appel de la fonction via charger_fonction("creer_slug", 'action');
// Création d'un slug à l'installation d'un plugin
// remplacement d'un slug, il faut l'option $ecraser=true
$id_slug = sql_getfetsel('id_gamumail', 'spip_gamumails', 'slug='.sql_quote($slug));
if (
intval($id_slug)
and $ecraser
) {
sql_updateq('spip_gamumails', $opt, 'id_gamumail='.intval($id_slug));
}
// creation d'un nouveau slug
if (!intval($id_slug)) {
$opt['slug'] = $slug;
sql_insertq('spip_gamumails', $opt);
}
}
// Cache
include_spip('inc/invalideur');
suivre_invalideur("id='id_gamumail/1'");
}