un début de form de création de slug

This commit is contained in:
clem 2020-08-19 01:30:29 +02:00
parent 9c50fa47aa
commit 01cdfba81a
5 changed files with 224 additions and 38 deletions

34
content/editer_slug.html Normal file
View file

@ -0,0 +1,34 @@
[(#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>

View file

@ -176,3 +176,4 @@
.editer_cci label { .editer_cci label {
width: 50px; width: 50px;
} }

View file

@ -0,0 +1,84 @@
<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>

View file

@ -0,0 +1,71 @@
<?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;
}

View file

@ -23,7 +23,6 @@
} }
</style> </style>
<div class="inner configuration_mails"> <div class="inner configuration_mails">
<h1 class="txtcenter">Configuration des mails</h1>
<div class="configuration_generale"> <div class="configuration_generale">
<div class="well"> <div class="well">
@ -79,14 +78,12 @@
</div> </div>
</div> </div>
</BOUCLE_message> </BOUCLE_message>
</BOUCLE_messages>
<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>
</div> </div>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
jQuery(function() { jQuery(function() {
configuration_mails(); configuration_mails();
@ -98,5 +95,4 @@
}); });
} }
}); });
</script> </script>