forked from Chapril/www.chapril.org-spip
le champ PS sous les 3 engagements
pouvoir inclure <formulaire|abomailman_mini_une_liste|id=1> : surcharge du formeulaire + styles adaptés
This commit is contained in:
parent
0cec8d5267
commit
41e9c7d75c
@ -129,3 +129,53 @@
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
* formulaires
|
||||
* ***********************/
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste legend {
|
||||
display: none;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste fieldset {
|
||||
border: 0;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste ul {
|
||||
list-style: none;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste .abonnement {
|
||||
display: flex;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste .abonnement > div {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste input[type="text"],
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste .boutons input{
|
||||
display: block;
|
||||
width: 100%;
|
||||
line-height: 1.8;
|
||||
padding: 0.3rem 0.6rem;
|
||||
border-radius: 10px 0 0 10px;
|
||||
border: 0;
|
||||
box-sizing: border-box;
|
||||
box-shadow: 0 0 1px 0px rgba(0,81,132,0.5);
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste .boutons {
|
||||
text-align: right;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste input[type="submit"] {
|
||||
width: auto;
|
||||
background-color: #2e5281;
|
||||
box-shadow: 0 0 5px 0px rgba(0,81,132,0.5);
|
||||
color: white;
|
||||
border-radius:0 10px 10px 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.formulaire_spip.formulaire_abomailman_mini_une_liste input[type="submit"]:hover {
|
||||
background-color: #ff5e00;
|
||||
}
|
||||
.reponse_formulaire_erreur {
|
||||
color: #ee5d5d;
|
||||
}
|
||||
.reponse_formulaire_ok {
|
||||
color: #005184;
|
||||
}
|
||||
|
25
formulaires/abomailman_mini_une_liste.html
Normal file
25
formulaires/abomailman_mini_une_liste.html
Normal file
@ -0,0 +1,25 @@
|
||||
#CACHE{0}
|
||||
<div class="formulaire_spip formulaire_#FORM" id="formulaire_#FORM[_(#ENV{id_abomailman})]">
|
||||
|
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||
|
||||
[(#ENV*{editable}|oui)
|
||||
<form method='post' action='#ENV{action}'>
|
||||
<div class="abonnement">
|
||||
#ACTION_FORMULAIRE{#ENV{action}}
|
||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{la_demo}}
|
||||
<div class="editer_email obligatoire[ (#GET{erreurs}|oui)erreur]">
|
||||
[<span class='erreur_message'>(#GET{erreurs})</span>]
|
||||
<input name="email" id="email" type="text" value="<:abomailmans:votre_email:>" onclick="this.value=''" />
|
||||
</div>
|
||||
[(#REM) Piege a robots spammeurs, du moins on essaie]
|
||||
<p style="display:none;">
|
||||
<label for="nobot_abomailman"><:antispam_champ_vide:></label>
|
||||
<input type="text" class="text" name="nobot" id="nobot_abomailman" value="#ENV{nobot}" size="10" />
|
||||
</p>
|
||||
<p class="boutons"><input type="submit" class="submit" value="<:bouton_valider:>" /></p>
|
||||
</div>
|
||||
</form>
|
||||
]
|
||||
</div>
|
94
formulaires/abomailman_mini_une_liste.php
Normal file
94
formulaires/abomailman_mini_une_liste.php
Normal file
@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
if (!defined("_ECRIRE_INC_VERSION")) return;
|
||||
|
||||
include_spip('base/abstract_sql');
|
||||
|
||||
// chargement des valeurs par defaut des champs du formulaire
|
||||
function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
|
||||
|
||||
//initialise les variables d'environnement pas defaut
|
||||
$valeurs = array('email');
|
||||
|
||||
// On verifie que la liste est bien accessible
|
||||
if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
|
||||
spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
|
||||
$valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
|
||||
}
|
||||
return $valeurs;
|
||||
}
|
||||
|
||||
|
||||
function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
|
||||
|
||||
//initialise le tableau des erreurs
|
||||
$erreurs = array();
|
||||
|
||||
// Faire une fonction de verif sur le mail pour validite
|
||||
$email = _request('email');
|
||||
|
||||
if($email == ''){
|
||||
$erreurs['erreur_email'] = _T("abomailmans:email_oublie");
|
||||
spip_log("Aucun email n'est insere","abomailmans");
|
||||
}
|
||||
else{
|
||||
include_spip('inc/filtres'); # pour email_valide()
|
||||
if (!email_valide($email)){
|
||||
$erreurs['erreur_email'] = _T("abomailmans:email_valide");
|
||||
spip_log("Email non valide $email","abomailmans");
|
||||
}
|
||||
else{
|
||||
spip_log("Email = $email;","abomailmans");
|
||||
}
|
||||
}
|
||||
|
||||
//message d'erreur
|
||||
if (count($erreurs)) {
|
||||
$erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
|
||||
}
|
||||
|
||||
return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
|
||||
}
|
||||
|
||||
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
|
||||
include_spip('inc/abomailmans');
|
||||
|
||||
$nom = _request('nom');
|
||||
$email = _request('email');
|
||||
|
||||
// Antispam basique :
|
||||
// si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
|
||||
if (strlen(_request('nobot'))){
|
||||
return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
|
||||
}
|
||||
|
||||
$message = null;
|
||||
|
||||
// on initialise l'envoi
|
||||
// on traite chaque liste via une fonction reutilisable ailleurs
|
||||
// on passe abonnement a true d'office
|
||||
$traiter=abomailman_traiter_abonnement($id_abomailman,true);
|
||||
$titre = $traiter[0];
|
||||
$proprio_email=$traiter[1];
|
||||
$liste_email=$traiter[2];
|
||||
$sujet=$traiter[3];
|
||||
$body="$nom - $email " . $traiter[4];
|
||||
$headers=$traiter[5];
|
||||
|
||||
if (abomailman_mail($nom, $email, $proprio_email, $liste_email, $sujet, $body, $headers)){
|
||||
$message_listes .= "<p><strong>$titre</strong><p>";
|
||||
}else{
|
||||
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
|
||||
$probleme=true;
|
||||
}
|
||||
|
||||
$message .= "". _T("abomailmans:message_confirmation_unique_a");
|
||||
$message .= $message_listes;
|
||||
$message .= "<p class='reponse_formulaire reponse_formulaire_ok'>" . _T("abomailmans:message_confirm_suite") . "</p>";
|
||||
|
||||
if ($probleme==false)
|
||||
return ['message_ok' => $message];
|
||||
else
|
||||
return ['message_erreur' => $message_listes];
|
||||
|
||||
}
|
@ -7,6 +7,7 @@
|
||||
<link href="#CHEMIN{css/perso-modif.css}" rel="stylesheet" type="text/css" />
|
||||
<link rel="shortcut icon" href="#CHEMIN{css/favicon.ico}" type="image/x-icon">
|
||||
<link href="#CHEMIN{css/ajout.css}" rel="stylesheet" type="text/css" />
|
||||
<link href="#CHEMIN{css/ajout.css}" rel="stylesheet" type="text/css" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:site" content="@aprilorg"/>
|
||||
|
@ -27,6 +27,7 @@
|
||||
[(#REM) inclure les 3 engagements ]
|
||||
<BOUCLE_trois-engagements (ARTICLES) {id_rubrique=10}{0,3}{par num titre}>
|
||||
<article>#LOGO_ARTICLE <h2>#TITRE</h2> #CHAPO <a class="bouton-simple" href="#URL_SITE">#NOM_SITE</a>
|
||||
[<div class="#EDIT{ps}">(#PS)</div>]
|
||||
</article>
|
||||
</BOUCLE_trois-engagements>
|
||||
</div>
|
||||
|
@ -56,6 +56,7 @@
|
||||
[(#REM) inclure les 3 engagements ]
|
||||
<BOUCLE_trois-engagements (ARTICLES) {id_rubrique=10}{0,3}{par num titre}>
|
||||
<article>#LOGO_ARTICLE <h2>#TITRE</h2> #CHAPO <a class="bouton-simple" href="#URL_SITE">#NOM_SITE</a>
|
||||
[<div class="#EDIT{ps}">(#PS)</div>]
|
||||
</article>
|
||||
</BOUCLE_trois-engagements>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user