maj fonction creation d'un slug
This commit is contained in:
parent
bc4922f87d
commit
2e60b096f6
1 changed files with 29 additions and 23 deletions
|
@ -11,38 +11,44 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
* @licence GNU/GPL
|
* @licence GNU/GPL
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
|
function action_creer_slug_dist($slug = null, $opt = [], $ecraser = false){
|
||||||
include_spip('inc/editer');
|
|
||||||
include_spip('action/editer_objet');
|
|
||||||
include_spip('inc/autoriser');
|
|
||||||
|
|
||||||
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 = [
|
|
||||||
'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)) {
|
// Arrive d'une action SPIP
|
||||||
$set = ['slug' => 'slug_'.$id_slug];
|
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 (
|
if (
|
||||||
$slug !== null
|
intval($id_slug)
|
||||||
and !sql_countsel('slug', 'spip_gamumails', 'slug='.sql_quote($slug))
|
and $ecraser
|
||||||
) {
|
) {
|
||||||
$set['slug'] = $slug;
|
sql_updateq('spip_gamumails', $opt, 'id_gamumail='.intval($id_slug));
|
||||||
}
|
}
|
||||||
if (is_array($opt) and count($opt)) {
|
|
||||||
$set['editable'] = 'non';
|
// creation d'un nouveau slug
|
||||||
$set = array_merge($set, $opt);
|
if (!intval($id_slug)) {
|
||||||
|
sql_insertq('spip_gamumails', $opt);
|
||||||
}
|
}
|
||||||
sql_updateq('spip_gamumails', $set, 'id_gamumail = '.$id_slug);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cache
|
// Cache
|
||||||
|
|
Loading…
Add table
Reference in a new issue