57 lines
1.3 KiB
PHP
57 lines
1.3 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');
|
|
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)) {
|
|
sql_insertq('spip_gamumails', $opt);
|
|
}
|
|
}
|
|
|
|
// Cache
|
|
include_spip('inc/invalideur');
|
|
suivre_invalideur("id='id_gamumail/1'");
|
|
}
|