passage en bouton action de la création d'un slug. Ajout d'une action suppression + bouton édition du titre (trigger sur le crayon)
This commit is contained in:
parent
ec2c6b29e1
commit
f56ddbc85e
6 changed files with 112 additions and 198 deletions
39
action/creer_slug.php
Normal file
39
action/creer_slug.php
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* créer un slug Gamumail
|
||||||
|
*
|
||||||
|
* @plugin GamuMail
|
||||||
|
*
|
||||||
|
* @copyright 2020
|
||||||
|
* @author cy_altern
|
||||||
|
* @licence GNU/GPL
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
include_spip('inc/editer');
|
||||||
|
include_spip('action/editer_objet');
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
|
||||||
|
function action_creer_slug_dist(){
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
if (! autoriser("webmestre")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$set = [
|
||||||
|
'slug' => '',
|
||||||
|
'titre' => 'Le titre du modèle',
|
||||||
|
'sujet' => 'Le sujet du mail',
|
||||||
|
'texte' => 'Le texte du mail',
|
||||||
|
'statut' => 'publie',
|
||||||
|
];
|
||||||
|
if ($id_slug = objet_inserer('gamumail', null, $set)) {
|
||||||
|
sql_updateq('spip_gamumails', ['slug' => 'slug_'.$id_slug], 'id_gamumail = '.$id_slug);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache
|
||||||
|
include_spip('inc/invalideur');
|
||||||
|
suivre_invalideur("id='id_gamumail/$id_gamumail'");
|
||||||
|
}
|
33
action/supprimer_slug.php
Normal file
33
action/supprimer_slug.php
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* supprimer un slug Gamumail
|
||||||
|
*
|
||||||
|
* @plugin GamuMail
|
||||||
|
*
|
||||||
|
* @copyright 2020
|
||||||
|
* @author cy_altern
|
||||||
|
* @licence GNU/GPL
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
|
||||||
|
function action_supprimer_slug_dist(){
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
if (! autoriser("webmestre")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||||
|
$arg = $securiser_action();
|
||||||
|
$id_gamumail = intval($arg);
|
||||||
|
if ($id_gamumail) {
|
||||||
|
sql_delete('spip_gamumails','id_gamumail ='.$id_gamumail);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache
|
||||||
|
include_spip('inc/invalideur');
|
||||||
|
suivre_invalideur("id='id_gamumail/$id_gamumail'");
|
||||||
|
}
|
|
@ -1,34 +0,0 @@
|
||||||
[(#REM)
|
|
||||||
la page d'édition d'un modèle pour GamuMail
|
|
||||||
]
|
|
||||||
[(#AUTORISER{webmestre}|sinon_interdire_acces)]
|
|
||||||
<div class="inner">
|
|
||||||
<div class="ajax mbl">
|
|
||||||
[(#FORMULAIRE_EDITER_SLUG{#ENV{id_gamumail,0}, #ENV{redirect}})]
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<style type="text/css">
|
|
||||||
.formulaire_editer_slug legend.legend {
|
|
||||||
font-size: 2.5rem;
|
|
||||||
font-weight: bold;
|
|
||||||
border-bottom: 1px solid #a6a6a6;
|
|
||||||
padding: 0 0.5rem;
|
|
||||||
white-space: normal;
|
|
||||||
}
|
|
||||||
.formulaire_editer_slug label {
|
|
||||||
min-width: 200px;
|
|
||||||
}
|
|
||||||
.formulaire_editer_slug input {
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
.formulaire_editer_slug .editer_groupe {
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
|
||||||
.formulaire_editer_slug .markItUp .markItUpHeader ul a em {
|
|
||||||
width: 2rem;
|
|
||||||
height: 2rem;
|
|
||||||
}
|
|
||||||
.formulaire_editer_slug textarea {
|
|
||||||
width: 90%;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,84 +0,0 @@
|
||||||
<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id_gamumail,nouveau}">
|
|
||||||
|
|
||||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
|
||||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
|
||||||
|
|
||||||
<form name="formulaire_#FORM" action="#ENV{action}" method="post"><div>
|
|
||||||
#ACTION_FORMULAIRE{#ENV{action}}
|
|
||||||
<input type="hidden" name="id_gamumail" value="#ENV{id_gamumail}" />
|
|
||||||
|
|
||||||
[(#ENV{id_gamumail}|non)
|
|
||||||
<h1 class="txtcenter">Créer un modèle de mail</h1>
|
|
||||||
]
|
|
||||||
[(#ENV{id_gamumail}|oui)
|
|
||||||
<h1 class="txtcenter">Editer ce modèle de mail</h1>
|
|
||||||
]
|
|
||||||
|
|
||||||
<div class="editer-groupe">
|
|
||||||
<div class="fieldset">
|
|
||||||
<fieldset>
|
|
||||||
<legend class="legend">
|
|
||||||
Paramètres du modèle
|
|
||||||
</legend>
|
|
||||||
<div class="editer_groupe">
|
|
||||||
#SET{name,slug}
|
|
||||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
|
||||||
#SET{obli,"obligatoire"}
|
|
||||||
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
|
||||||
<label for="#GET{name}">Identifiant du modèle <em>*</em></label>
|
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
|
||||||
<input required type="text" class="text slug" name="#GET{name}" id="#GET{name}" value="#ENV{#GET{name}}" >
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="editer_groupe">
|
|
||||||
#SET{name,titre}
|
|
||||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
|
||||||
#SET{obli,"obligatoire"}
|
|
||||||
<div class="editer editer_[(#GET{name})][ (#GET{erreurs}|oui)erreur]">
|
|
||||||
<label for="#GET{name}">Nom du modèle <em>*</em></label>
|
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
|
||||||
<input type="text" class="text titre" name="#GET{name}" id="#GET{name}" value="#ENV{#GET{name}}" >
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="editer-groupe">
|
|
||||||
<div class="fieldset">
|
|
||||||
<fieldset>
|
|
||||||
<legend class="legend">
|
|
||||||
Contenus du modèle
|
|
||||||
</legend>
|
|
||||||
<div class="editer_groupe">
|
|
||||||
#SET{name,sujet}
|
|
||||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
|
||||||
#SET{obli,"obligatoire"}
|
|
||||||
<div class="editer editer_[(#GET{name})][ (#GET{erreurs}|oui)erreur]">
|
|
||||||
<label for="#GET{name}">Sujet du mail <em>*</em></label>
|
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
|
||||||
<input type="text" class="text sujet" name="#GET{name}" id="#GET{name}" value="#ENV{#GET{name}}" >
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="editer_groupe">
|
|
||||||
#SET{name,texte}
|
|
||||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
|
|
||||||
#SET{obli,"obligatoire"}
|
|
||||||
<div class="editer editer_[(#GET{name})][ (#GET{erreurs}|oui)erreur]">
|
|
||||||
<label for="#GET{name}">Texte du mail</label>
|
|
||||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
|
||||||
<textarea class="text no_barre no_previsualisation " name="#GET{name}" id="#GET{name}">#ENV{#GET{name}}</textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="boutons">
|
|
||||||
<button type="submit" class="btn"><:gamumail:valider:></button>
|
|
||||||
</div>
|
|
||||||
</div></form>
|
|
||||||
</div>
|
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
<?php
|
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* formulaire pour créer / modifier un slug Gamumail
|
|
||||||
*
|
|
||||||
* @plugin GamuMail
|
|
||||||
*
|
|
||||||
* @copyright 2020
|
|
||||||
* @author cy_altern
|
|
||||||
* @licence GNU/GPL
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
include_spip('inc/actions');
|
|
||||||
include_spip('inc/editer');
|
|
||||||
include_spip('action/editer_objet');
|
|
||||||
include_spip('inc/autoriser');
|
|
||||||
|
|
||||||
function formulaires_editer_slug_charger_dist($id_gamumail = 'new', $redirect = ''){
|
|
||||||
$valeurs = array(
|
|
||||||
"id_gamumail" => intval($id_gamumail),
|
|
||||||
);
|
|
||||||
|
|
||||||
return $valeurs;
|
|
||||||
}
|
|
||||||
|
|
||||||
function formulaires_editer_slug_verifier_dist($id_gamumail = 'new', $redirect = ''){
|
|
||||||
$slug = _request('slug');
|
|
||||||
$titre = _request('titre');
|
|
||||||
$sujet = _request('sujet');
|
|
||||||
$texte = _request('texte');
|
|
||||||
|
|
||||||
$erreurs = array();
|
|
||||||
//champs obligatoires
|
|
||||||
foreach (array ('slug', 'titre') as $obligatoire) {
|
|
||||||
if (!_request($obligatoire)) {
|
|
||||||
$erreurs[$obligatoire] = 'Ce champs est obligatoire';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Il y a des erreurs
|
|
||||||
if (count($erreurs)) {
|
|
||||||
$erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $erreurs;
|
|
||||||
}
|
|
||||||
|
|
||||||
function formulaires_editer_slug_traiter_dist($id_gamumail = 'new', $redirect = ''){
|
|
||||||
$slug = _request('slug');
|
|
||||||
$titre = _request('titre');
|
|
||||||
$sujet = _request('sujet');
|
|
||||||
$texte = _request('texte');
|
|
||||||
|
|
||||||
$set = [
|
|
||||||
'slug' => $slug,
|
|
||||||
'titre' => $titre,
|
|
||||||
'sujet' => $sujet,
|
|
||||||
'texte' => $texte,
|
|
||||||
];
|
|
||||||
$id_slug = objet_inserer('gamumail', null, $set);
|
|
||||||
echo $id_slug; die;
|
|
||||||
$retour = array();
|
|
||||||
$retour['message_ok'] = "Modèle enregistré";
|
|
||||||
if ($redirect) {
|
|
||||||
$retour['redirect'] = $redirect;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $retour;
|
|
||||||
}
|
|
|
@ -21,21 +21,49 @@
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 180px;
|
width: 180px;
|
||||||
}
|
}
|
||||||
|
span.crayon, div.crayon {
|
||||||
|
background-color: #fff;
|
||||||
|
padding: .5rem;
|
||||||
|
}
|
||||||
|
.wp600 {
|
||||||
|
width: 600px;
|
||||||
|
}
|
||||||
|
.btn_supprimer {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.btn_editer {
|
||||||
|
float: right;
|
||||||
|
margin-right: 2rem;
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 1rem 1.5rem;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
transition: 0.25s;
|
||||||
|
transition-property: box-shadow, background-color, color, border;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
white-space: nowrap;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
background-color: #e7e9ed;
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: inherit;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="inner configuration_mails">
|
<div class="inner configuration_mails">
|
||||||
<div class="configuration_generale">
|
<div class="configuration_generale">
|
||||||
|
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<div class="une_conf">
|
<div class="une_conf">
|
||||||
<h4>Emails en copie "cc" des différents messages
|
<h4>Emails en copie "cc" des différents messages</h4>
|
||||||
<span class="#EDIT{meta-gamumail/mail_cc} inbl w600p">[(#CONFIG{gamumail/mail_cc}|sinon{<i>double clic pour éditer</i>})]</span>
|
<div class="#EDIT{meta-gamumail/mail_cc} inbl w600p">[(#CONFIG{gamumail/mail_cc}|sinon{<i>double clic pour éditer</i>})]</div>
|
||||||
</h4>
|
|
||||||
<p class="explication">Si plusieurs emails, les séparer par une virgule. Double clic pour éditer.</p>
|
<p class="explication">Si plusieurs emails, les séparer par une virgule. Double clic pour éditer.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="une_conf">
|
<div class="une_conf">
|
||||||
<h4>Emails en copie cachée "cci" des différents messages
|
<h4>Emails en copie cachée "cci" des différents messages</h4>
|
||||||
<span class="#EDIT{meta-gamumail/mail_cci} inbl w600p">[(#CONFIG{gamumail/mail_cci}|sinon{<i>double clic pour éditer</i>})]</span>
|
<div class="#EDIT{meta-gamumail/mail_cci} inbl w600p">[(#CONFIG{gamumail/mail_cci}|sinon{<i>double clic pour éditer</i>})]</div>
|
||||||
</h4>
|
|
||||||
<p class="explication">Si plusieurs emails, les séparer par une virgule. Double clic pour éditer.</p>
|
<p class="explication">Si plusieurs emails, les séparer par une virgule. Double clic pour éditer.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,7 +71,10 @@
|
||||||
<BOUCLE_message(GAMUMAILS)>
|
<BOUCLE_message(GAMUMAILS)>
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<div class="une_conf">
|
<div class="une_conf">
|
||||||
<h4 class="toggle cursor"
|
<a class="btn btn_supprimer" title="Supprimer le modèle" href="[(#URL_ACTION_AUTEUR{supprimer_slug,#ID_GAMUMAIL,#SELF})]"><i class="fa fa-trash"></i></a>
|
||||||
|
<span class="btn btn_editer" title="Editer le titre" onClick="$('#h4_#SLUG em.crayon-crayon').trigger('click');"><i class="fa fa-edit"></i></span>
|
||||||
|
<h4 class="toggle cursor #EDIT{titre}"
|
||||||
|
id="h4_#SLUG"
|
||||||
data-id="#SLUG">
|
data-id="#SLUG">
|
||||||
<i class="fa fa-envelope mrs"></i>
|
<i class="fa fa-envelope mrs"></i>
|
||||||
[(#TITRE)]
|
[(#TITRE)]
|
||||||
|
@ -79,7 +110,7 @@
|
||||||
</div>
|
</div>
|
||||||
</BOUCLE_message>
|
</BOUCLE_message>
|
||||||
|
|
||||||
<a class="mediabox btn" title="Créer un modèle de mail" href="[(#URL_PAGE{editer_slug}|parametre_url{var_zajax,content}|parametre_url{redirect,#SELF})]"><i class="fa fa-envelope"></i> Nouveau modèle</a>
|
<a class="btn" title="Créer un modèle de mail" href="[(#URL_ACTION_AUTEUR{creer_slug,null,#SELF})]"><i class="fa fa-envelope"></i> Nouveau modèle</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue